The RpmPlugin generates RedHatPackageManager? distributions of the MavenProject.

Goals proposals

  • rpm:spec generates a spec file, using the ProjectObjectModel? informations and some user-defined properties
  • rpm:generate generates the package(s)
  • rpm:structure generates the directory structure of the plugins
  • rpm:deploy copies the RPM to the repository, under ${pom.id}/rpms

Properties

  • maven.rpm.spec.file The name of a spec file to use. If void, we'll generate it.
  • maven.rpm.build.dir The directory hosting the directory structure, ie BUILD, RPMS, SOURCES, SPECS, and SRPMS
  • maven.rpm.license The name of the license of the project
  • maven.rpm.version If we want to use a different version than ${pom.currentVersion}

Features Requests

  • The RpmPlugin should be able to generate source and binaries distributions.
  • It should take its dependencies informations from the POM's dependencies
  • we must make RelocatablePackage?s

Musings

  • Talk to the JPackage guys to see if they can help us ;-) They have a quite large base of JakartaProjects? as RPMs, and I guess that they can tell us how it's going, and what we should do.

Ok, I contacted the JPackage team, who where already contacted by JasonVanZyl? :-) It looks that they like the idea, but from what I read, making the plugin will probably be a bit more difficult than first thought.

More considerations to take into account:

  • a 1:1 mapping with a MavenProject may not be the priviledged solution.
  • I'm not sure that using JakartaAnt?'s RpmTask? is the best solution ...
  • having the RPMs stored on the RemoteRepository? could provide an APT-like service layer to the generated RPMs, ie we would be able to say "hey, install JakartaJelly? on my box", and JakartaMaven would get all the required RPM dependencies and install them. Some independent tools might help that, such as RpmProc?, at http://rpmproc.sf.net.

This being said, the JPackage team has some good tools that I don't know that much yet, and can for sure provide good advice, knowledge and experience.

Here is the JPackagePolicy, which gathers some guidelines to build RPMs packages of Java softwares.

The ideal would be to have some tools that are Jelly-compatible, ie I would like to avoid shell or perl scripts for instance. All Java would be a very good idea, but we still need to find the way between Java and the RPM tools (JakartaAnt?'s RpmTask? uses the executable "rpm"). Maybe we could use the RpmTask? if we have good ready-made specs (one for sources, one for bins, one for webapps, one for standalone apps, etc.)

Having a set of template specs ready to be parameterized with Maven data looks like a good idea ...

-- StephaneMor


[Homepage of this plugin] | PluginMaturity?: SandboxPlugins
Edit text of this page | View other revisions
Last Edited 13 September 2002 3:31 pm (diff)
Search:
© 2002 - SourceForge