I'm in favor of option 2: don't put tomcat libs in /usr/share/java, much less 
unversioned ones.

When was the last time anybody looked in /usr/share/java when they wanted to 
build or run anything? :)

It seems to me that the real users of the tomcat* packages are developers.

Sure, there could be some package foo-game that runs in (and depends on) 
tomcat.  In that case, I think it's up to the foo-game maintainer to make sure 
her package works, and as a java developer, she's probably disinclined to look 
in /usr/share/java, too.  (Of all the mailing lists in the world, this is the 
one where I'll find the most disagreement with the previous statement!)

You see where I'm going here?  To get Java to be a first class citizen in the 
Debian ecosystem is going to take more than deciding where to store some jars.  
...And the more friendly we are to java developers in the meantime, the more 
help we'll have during that long journey.

I hope this helps.

Regarding the long road ahead, has anybody ever considered providing a Debian 
specific classloader?  Thought experiment: How would you meet Debian needs and 
Java needs simultaneously if the only thing you had control of was the 
classloader?

Cheers,
--Dave

> -----Original Message-----
> From: Emmanuel Bourg [mailto:ebo...@apache.org]
> Sent: Friday, September 13, 2013 6:19 AM
> To: 685...@bugs.debian.org
> Cc: tony mancill; Loyall, David; Jakub Adam
> Subject: Re: Bug#685298: Impossible to simultaneously install libtomcat7-java
> and libtomcat6-java
> 
> Hi,
> 
> I started working on the tomcat8 package and I'd like to avoid the same
> conflict with tomcat7. What would be the best solution?
> 
> 1. Change the name of the unversioned jars to tomcat8-xxx.jar. That would
> give the following links in /usr/share/java:
> 
>     tomcat8-catalina-ant.jar -> tomcat-catalina-ant-8.0.0.jar
>     tomcat8-catalina-tribes.jar -> tomcat-catalina-tribes-8.0.0.jar
>     tomcat8-annotations-api.jar -> tomcat-annotations-api-8.0.0.jar
>     tomcat8-api.jar -> tomcat-api-8.0.0.jar
>     tomcat8-catalina-ha.jar -> tomcat-catalina-ha-8.0.0.jar
>     tomcat8-catalina.jar -> tomcat-catalina-8.0.0.jar
>     tomcat8-coyote.jar -> tomcat-coyote-8.0.0.jar
>     tomcat8-i18n-es.jar -> tomcat-i18n-es-8.0.0.jar
>     tomcat8-i18n-fr.jar -> tomcat-i18n-fr-8.0.0.jar
>     tomcat8-i18n-ja.jar -> tomcat-i18n-ja-8.0.0.jar
>     tomcat8-jasper-el.jar -> tomcat-jasper-el-8.0.0.jar
>     tomcat8-jasper.jar -> tomcat-jasper-8.0.0.jar
>     tomcat8-juli.jar -> tomcat-juli-8.0.0.jar
>     tomcat8-util.jar -> tomcat-util-8.0.0.jar
> 
> 2. Move the jars and links in a subdirectory of /usr/share/java.
> 
>     /usr/share/java/tomcat8/tomcat-juli.jar -> ./tomcat-juli-8.0.0.jar
>     /usr/share/java/tomcat8/tomcat-util.jar -> ./tomcat-util-8.0.0.jar
> 
> 3. Don't put the unversioned links in /usr/share/java. If a reverse
> dependency requires a stable path for building it could use the Maven
> repository in /usr/share/maven-repo. The Maven based packages wouldn't
> be impacted, and the Ant based packages could use a path like:
> 
> 
> /usr/share/maven-repo/org/apache/tomcat/tomcat-jasper/8.x/tomcat-
> jasper-8.x.jar
> 
> What do you think?
> 
> Emmanuel Bourg

__
This is the maintainer address of Debian's Java team
<http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-maintainers>. 
Please use
debian-j...@lists.debian.org for discussions and questions.

Reply via email to