On Fri, Mar 17, 2017 at 02:11:20PM -0500, Curtis Rueden wrote:
> I am currently discussing on GitHub with one of the Gentoo packagers the
> possibility of packaging my group's Maven-based projects for Gentoo.
> 
> The relevant issue is here:
>      https://github.com/imagej/imagej/issues/162
> 
> However, the issues are hardly unique to my projects. This has become a
> very general discussion of rebuilding and packaging Maven projects.
> 
> My questions are:
> * Does anyone here use Gentoo?

I do.

> * Has anyone packaged their Maven-based stuff for it?

No, I haven't contributed any packages to Gentoo yet.

> * Does anyone know of a _general_ process for doing so?

Typically a Gentoo package specifies all of its dependencies as Gentoo
packages, and Portage does the dependency management.  This is
probably why you have so much trouble:  two package managers fighting
for control.  The "Gentoo Way" would seem to be:  first package all of
the dependencies individually, get them into Portage, then add the
dependent, adjust the POM to assume all dependencies will be supplied
at runtime, and let Portage calculate the classpath.  Ick.

There are some Gentoo packages based on projects which for some reason
cannot or will not use stable releases of their dependencies, but
instead package all of the source for those dependencies with the
dependent code.  It's grating, but it works.  This is probably the
easier route when using Maven in a Portage environment:  ship
everything as subprojects and build it all together.

The middle path might be:  package the dependencies individually, work
out a way for Maven to see them as being present in the local
repository, build the dependent happily using Maven.  I don't know the
guts of Maven well enough to say how hard it would be to plug in a new
local-repository provider that uses the Gentoo /usr/share/*/lib
layout.

Binary dependencies are going to be a royal pain no matter how you do
them.  Ugh!  One thing this means is that your package can never exist
for any architecture that the binary is not built for.  That's sadly
not without precedent.

-- 
Mark H. Wood
Lead Technology Analyst

University Library
Indiana University - Purdue University Indianapolis
755 W. Michigan Street
Indianapolis, IN 46202
317-274-0749
www.ulib.iupui.edu

Attachment: signature.asc
Description: PGP signature

Reply via email to