Sunday, August 22, 2010

Fedora needs Java Packagers

Background: There are only a few active Java packagers in Fedora. And if one of them stops doing packaging we are in big problem.

Are you using/running Eclipse or Tomcat or OpenJDK or Netbeans or IntelliJ Idea or Dogtag PKI or 389 Directory Server or Jetty or even OpenOffice.org?
Isn't that a huge list already? Should I continue listing the upstream projects that we(active Fedora Java packagers) are involved into or even leading the developement?
If you are Fedora project needs you - NOW!!!
To help us keeping and developing these products.

There are 26 orphaned but critical Java packages:
  • classworlds - mbooth
  • dom4j - jwrdegoede
  • dtdparser
  • hsqldb
  • isorelax - mbooth
  • jlex - mbooth
  • jrefactory
  • jzlib - mbooth
  • lucene
  • ldapjdk
  • objectweb-anttask
  • plexus-ant-factory
  • plexus-appserver
  • plexus-bsh-factory
  • plexus-compiler
  • plexus-runtime-builder
  • plexus-xmlrpc
  • relaxngDatatype - mbooth
  • tomcat6 - dknox
  • ws-jaxme - jwrdegoede
  • xjavadoc
  • xmldb-api
  • xmlrpc
  • xom
  • xpp2
  • xpp3
These packages are directly or indirectly needed by Ant or Maven - the 2 major build systems for Java software.You should know that if you don't have both build systems even OpenJDK won't be able to build on Fedora because it uses Ant but Ant dependencies are building using Maven.
Now is the time to stand up and pay your duty to the community by taking a package or two. It may look a small step but every time someone takes a package and do the small work needed to maintain it (most packages will took you just a few hours monthly or even quarterly) I have the time to look at/fix one more bug.

Consider joining and helping even if you are not using Fedora packages but you are using Java software downloaded from upstream on Fedora system. You will save time to the upstream developers - they/we :) are here.

If you are already a Fedora packager just get them in pkgdb if you are not but you want to join please contact me.

We are waiting for you!

P.S. See Bill's mail with more details about the dependency tree here.

8 comments:

fepede said...

Hi Alexander,

I have a bit of experience in rpm packaging, and some experience with Java and I'd like very much to try to help Fedora.

I'll be away up to october but when I'll be back I'll try to see if I can manage to take care of some of this packages!

:)

Alexander Kurtakov said...

Hi fepede,
You are more than welcome. We really need help to continue improving the whole stack.

carl said...

hi

i'm keen to have a go at this - should i just pick a package and follow the process at http://fedoraproject.org/wiki/PackageMaintainers/Join ?

Alexander Kurtakov said...

Hi Carl,
Yes follow the procedure described in the wiki. If you are not Fedora packager you would need to be sponsored first. Please contact me either by email or on #fedora-java irc channel on freenode.

Saju said...

I dont know about packaging much but i use netbeans for php on my fedora box. so if you think i can help then let me know.

my email is sajidzaman@live.com.

gnu_andrew said...

A better long-term solution would be to reassess the dependencies here. If OpenJDK really (indirectly) requires Maven to build, then something is seriously wrong. I build OpenJDK & IcedTea on a daily basis on Gentoo and I don't have either Maven or any of the dependencies here (bar dom4j for the optional Rhino element of IcedTea) installed. Why does Fedora need all these? And how do you bootstrap if OpenJDK requires Maven and Ant?

John said...

I am a already a fedora packager and thought maybe I could help. I don't know anything about java and just picked at random 'xmlrpc' to have a look at. There are a number of open bugs against xmlrpc and the package looks all but abandoned long ago.

While I may be able to package this up, I am not at all sure of my ability to address these open bugs. Any suggestions on a course of action? Is it worthwhile to take this packge if I might again have to orphan it because of those bugs?

Alexander Kurtakov said...

gnu_andrew,
Ant package builds a number of plugins which depend on various other packages and some of these packages use Maven to build. Unless you build Ant without it's plugins you can't lose the Maven dependency. And this is how bootstrapping is done - by building ant without plugins, but ant without plugins is not very usable (you miss junit, xslt and etc.) so if you want to ship ant usable for the average Java developer you need to build the plugins.
Your other option is to redo the build system which doesn't make sense for such a big number of packages.