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

Reply via email to