Ola Lundqvist wrote:
Yes it bothers me too. What bothers me more is that someone (I do not remember who) told me that I should name my package libxalan2-java instead of lib-xalan2-java.
This was probably me. I had a long discussion with Stephane Bortzmeyer (original author of the Java policy) about this, but I don't remember if it was on this list or in private mails.
Anyway, the initial idea behind lib-XXX-java was to use the Java package name, e.g. org.w3c.dom would be in a Debian package called lib-org.w3c.dom-java. However, more and more Java software with classes in different Java packages was released, so this was not suitable any longer.
I then decided for my packages to use libXXX-java for libraries where XXX is the name of the product/project, e.g. libxerces-java. Real applications, i.e. not just JARs, like Tomcat were just named after the project. These also depended on java-virtual-machine instead of just java-common in the case of Java libraries.
About the version: I'm not sure if it makes sense to include the version in the package name. It might be appropriate in some cases, e.g. I'm thinking about packaging Xerces 2.0 as libxerces2-java so Xerces 1.x and 2.x can both be installed at the same time, but I don't see what we could gain from libxerces1.3.1-java, libxerces1.4.1-java, ...
A different story is the naming of JARs inside the package. It might make sense to include the version there, so instead of /usr/share/java/xerces.jar I could use /usr/share/java/xerces-1.4.1.jar and create a symlink or using alternatives. But then some suggestions like automatically including all jars in /usr/share/java to the default classpath cause duplicate and conflicting classes.
Summary: I'm for using libXXX-java instead of lib-XXX-java (and with the exception ofg libpgjava I'm already doing this) and I thing the version number should be allowed in the package but not enforced. So we end up with library packages named lib<projectname>[<version>]-java. Packages containing applications (i.e. shell startup scripts in /usr/bin) should just be named after the application without -java appended.
If everybody agrees to this scheme, I'll rename libpgjava (which was created before there has even been a discussion about a Java policy) to libpostgresql-java.
-- Stefan Gybas