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

Re: How to use Debian packaged freehep instead of upstream provided freehep.jar



Hi Andreas.

The right list for discussion Java-related stuff is debian-java@l.d.o.
The lists on alioth are used for automated messages. I don't know
whether you're subscribed, so I'm Cc:-ing you.

On 07/02/2011 13:36, Andreas Tille wrote:
> I try to package FigTree on behalf of the Debian Med team.  As you most
> probably know Java upstream sources are "enriched" by binary jars which
> is not acceptable in main.  I would like to tackle this step by step and
> have seen that FigTree contains a copy of freehep.jar which contains
> classes which are in Debian split over several packages.  I wonder what
> would be the best strategy to use the Debian packaged code.  For your
> comfort I putted the complete source package online at
> 
>    http://people.debian.org/~tille/packages/figtree/
> 
> to enable you an easy download.  Any advise is helpful.

Given that Debian packages for FreeHEP ship the maven .pom files, if
your upstream used maven to manage compilation and dependencies probably
it would have been enough to let maven-debian-helper manage the build
process. Maven is a system to describe dependencies between packages (in
a descriptive format, rather than ant's imperative format) in .pom files
(that use an XML dialect) and automatically build the package using data
contained in .pom files. Have a look to some random freehep-* package to
understand how that works from a Debian point of view.

Unfortunately, your upstream decided to do things by hand. First thing
to do is to send him some secret voodoo curses. The second one is decide
what you want to do: given that figtree build system is not that
complicated, you could choose to write yourself the .pom file and use
it. The other is to patch build.xml's compilation classpath in order to
have all the required JARs.

In both cases you have to make sure that all the required JARs are
available in the classpath when the application is launched: you have to
include them in the package dependencies (maven-debian-helper can do
this automatically in a shlib similar way) and add them in the execution
script (by hands; don't know other options). And, of course, you also
have to add build dependencies by hand. Fortunately the dependencies
among FreeHEP packages can help you to reduce the number of dependencies
you need to explicit.

Hope to be helpful. Anyway, upstream for Java packages should really be
aware of this wonderful FOSDEM talk:

http://www.fosdem.org/2011/schedule/event/devpackaging

I really hope slides and video to be available ASAP.

Gio.
-- 
Giovanni Mascellani <mascellani@poisson.phc.unipi.it>
Pisa, Italy

Web: http://poisson.phc.unipi.it/~mascellani
Jabber: g.mascellani@jabber.org / giovanni@elabor.homelinux.org

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: