RPM support update
jon.vanalten at redhat.com
jon.vanalten at redhat.com
Tue Oct 27 07:50:30 PDT 2009
Hi,
Just to keep the group updated on how things are progressing WRT supporting building of Jigsaw-module-based rpm's. To recall a bit of background:
http://mail.openjdk.java.net/pipermail/jigsaw-dev/2009-July/000180.html
AND
http://mail.openjdk.java.net/pipermail/jigsaw-dev/2009-August/000184.html
After looking in more detail at how RPM works internally, Man and I have determined that the main problem to be solved is virtual (ie Java Module) dependencies. On our side, we've put together a patch so that RPM will trigger a script to be called for each .jar file in a package. Within that script, we can call jpkg to obtain module info for that .jar, and parse out the dependencies (which are emitted on stdout of the script, which is being read as stdin by RPM). We've discussed with Dalibor what we would prefer from the jpkg tool, that being simply an argument where we can pass in a .jar and get back the module info on stdout, or possibly two separate arguments to request either the Provides or the Requires separately. The implementation of this functionality is not yet complete, so the format of the output is not finalized, but we are confident that we have for all intents and purposes solved the problem of building in RPM.
Dalibor, we can adapt to parsing the output of jpkg in whatever format you end up implementing, but can you post with some idea of how you envision the output?
Attached is a patch that can be applied to rpm 4.7.1 (their latest release), available at http://www.rpm.org/wiki/Download
The patch includes bash-based scripts, which are going to need to change as jpkg output is finalized. We also have preliminary perl-based scripts as an option, attached separate from patch. If the jpkg output turns out to be more complex/difficult to parse using bash tools, we may choose to use perl.
We welcome any comments on this work so far.
cheers,
Jon VanAlten
Man Lung Wong
More information about the jigsaw-dev
mailing list