[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [DebianGIS] Creating Packages for FOSS Java GIS Applications



On Thu, Nov 08, 2007 at 05:03:06PM -0800, Redefined Horizons wrote:
> I would like to get started with an update of the OpenJUMP Debian
> package, and hopefully JTS as well. (Maybe GeoTools in the future.)
> 

You are very welcome, because it is one of the main task which
currently needs helpers.

> I've been reading throught the documentation on Debian Packages, but
> I've got a couple of questions about how to package a Java program on
> Debian. I thought I might be able to get some help here.
> 
> OpenJUMP currently places scripts for launching its executable in a
> /bin folder. The actual JAR files that store the Java class
> responsible for launching the application and all other requried
> libraries are kept in a /lib folder. The /lib folder also contains a
> /ext folder that contains "plug-ins" that extend OpenJUMP's
> functionality. These plug-ins often have their own subfolders of
> /lib/ext that store other required libraries, configuration files, and
> other data.
> 
> After reading through the Debian Java Policy I believe that I need to
> place the main JAR for OpenJUMP in /user/bin/openjump. I also realize
> I need to create separate Debian packages for the Java libraries that
> OpenJUMP stores in /lib, and that the JARs for these packages should
> be stored in /usr/share/java.
> 
> I'm not sure about two (2) things:
> 
> [1] Where do I put the plugins? Do they stay in /user/share/java or do
> they go somewhere else? They aren't really libraries, they are like
> mini-exectuables, but they are pacakged in separate JARs.
> [2] How do I ensure that the required libraries are on the Java
> Classpath that OpenJUMP needs? At this time we just add the /lib
> folder to the classpath in the launch script, but I'm not sure how I
> would accomplish this if the libraries are scattered around in
> different folders in /usr/share/java.
> 

I would move files in FHS-compliant directories and use
explicit -classpath in the loading script(s) in order to have things
working. Generally it's much better using per-package directories
such as

/usr/share/java/openjump

as main tree for arch-indep files like .jars and others.

-- 
Francesco P. Lovergine



Reply to: