Foreign Packaging

From JogampWiki
Revision as of 13:21, 6 October 2014 by Gouessej (talk | contribs) (Debian Package Manager)
Jump to navigation Jump to search

We assume that the application is packaged as a fat JAR called "user-app.jar" for the sake of simplicity.

Red Hat Package Manager

RPM (Red Hat Package Manager) is the default package management system under Red Hat, Fedora, Mageia, Mandriva, OpenSUSE, Oracle Linux, ...

Platform dependent tools

The following tools only work under GNU Linux or other Unix platforms with native rpm support.

rpmbuild can be used to build RPMs. You can find more information about RPM packaging in the official documentation.

The build tool Ant can call this command when you use its RPM task. The build system Maven does the same with its RPM plugin.

Cross-platform tools

jRPM

jRPM is a pure Java library for manipulating RPM packages.

Redline

Redline RPM is a pure Java library for manipulating RPM packages. It can be use in command line, with Ant and with Maven.

Redline requires Apache Commons Compress, Bounty Castle and SLF4J.

Using a distinct name space or a different task name for the Redline RPM task is necessary to avoid any conflict with the build-in Ant RPM task:

   <taskdef name="pure-java-rpm" classname="org.redline_rpm.ant.RedlineTask">
       <classpath>
           <pathelement path="bcpg-jdk15on-151.jar"/>
           <pathelement path="commons-compress-1.8.1.jar"/>
           <pathelement path="slf4j-api-1.7.7.jar"/>
           <pathelement path="slf4j-simple-1.7.7.jar"/>
           <pathelement path="redline-1.1.16.jar"/>
       </classpath>
   </taskdef>

Then, you can call this Ant task:

   <pure-java-rpm group="Games" name="mygame" version="0" release="0" destination="rpms">
       <zipfileset prefix="/usr/share/games/mygame" file="user-app.jar"/>
       <depends name="java" version=">= 1.6"/>
   </pure-java-rpm>

The created RPM will use the JRE installed on the operating system.

Debian Package Manager

Dpkg (Debian packager) is the default management system under Debian, Ubuntu, Knoppix, Mint, ...

Platform dependent tools

Cross-platform tools

Jpkg

JDeb