Hello Tony, This package is build with Maven, and it uses the <package>.poms file to control the installation of the jars in the Maven repository. Here, it's missing an option to install the jar in /usr/share/java and create only links for /usr/share/maven-repo So it should be:
debian/libtiger-types-java.pom: pom.xml --java-lib I have sent a patch to the maintainer of the package. In general, I would recommand people to use the mh_make utility when creating new packages using Maven as the build system, as there are quite a few tricky options which are easily forgotten, plus mh_make is getting really good nowadays (I would do the full packaging for such a simple library in less than 5 minutes thanks to mh_make). Ludovic On 08/06/2011 06:42, tony mancill wrote: > On 06/07/2011 03:36 PM, Ludovic Claude wrote: >> >> On 06/06/2011 15:20, Vincent Fourmond wrote: >>> >>> On Mon, Jun 6, 2011 at 3:13 PM, Onkar Shinde <onkarshi...@gmail.com> wrote: >>>> On Mon, Jun 6, 2011 at 12:26 AM, tony mancill <tmanc...@debian.org> wrote: >>>>> I've noticed that some of the more recent CDBS packages are installing >>>>> jars >>>>> under >>>>> /usr/share/maven-repo/$class-hierarchy/$upstream-version/$library.jar, and >>>>> then symlinks in /usr/share/java/ over to ../maven-repo/... >>>>> >>>>> By contrast, javahelper packages will install the jar under >>>>> /usr/share/java/, >>>>> which is what I think was intended in section 2.3 of Java Policy [0]. >>>>> >>>>> Is this an area where we should clarify the policy? It seems like the >>>>> actual >>>>> jars should consistently be in one location or another, although maybe >>>>> there's a >>>>> good reason to do it the other way around when we're dealing with the >>>>> maven >>>>> repo. Thoughts? >>>> >>>> In my opinion the jars should be installed to /usr/share/java always. >>>> In case of dealing with local maven repo the symlinks should be >>>> created in /usr/share/maven-repo/. >>> >>> I agree with that. Placing a JAR file in /usr/share/java means: this >>> library is for public use. Not doing so implies that the library is >>> private. I don't think that maven-built libraries are systematically >>> private, are they ? >>> >> >> @Vincent: Jars built with Maven are always installed into the >> /usr/share/maven-repo repository. If you choose to make the jar public, >> use mh_installjar with the -l or --java-lib option, the jar will be >> installed in /usr/share/java and symlinks created in /usr/share/maven-repo. >> >> @Onkar: can you be more specific and provide an example of such package? >> >> Ludovic > > Thanks for the explanation for why it's happening. > > tiger-types is an example of a simple package very recently built on unstable > that places the JARs in /usr/share/maven-repo and symlinks in /usr/share/java. > > The contents of debian/rules are merely: > > include /usr/share/cdbs/1/rules/debhelper.mk > include /usr/share/cdbs/1/class/maven.mk > > JAVA_HOME := /usr/lib/jvm/default-java > > In cases like this, it would be convenient mh_installjar was required for > private libraries instead of the other way around - that is, by default it > would > assume that the library is public. > > Again, I'm not sure it's all that important. The main reason for asking was > with respect to policy. Perhaps a lintian warning when the JAR appears both > in > the maven-repo and as a symlink in /usr/share/java would be reasonable if > changing the default behavior of mh_installjar would cause a lot of issues or > rework? > > tony > -- To UNSUBSCRIBE, email to debian-java-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4deff3d2.9060...@laposte.net