Hello,
Java policy on Java libraries (Ch. 2.4.) reads [1]:
Their classes must be in jar archive(s) in the directory /usr/
share/java, with the name packagename[-extraname]
-fullversion.jar. The extraname is optional and used internally
within the package to separate the different jars provided by the package. The fullversion is the version of that jar file. In some cases that is not the same as the package version.
Some package must also provide a symbolic link from
packagename-extraname.jar to the most compatible version of the
available packagename-extraname-version.jar files.
However, it seems that packages built with maven-{debian,repo}-helper
default settings contain the opposite: JAR archives are named packagename-extraname.jar, and packagename-extraname-version.jar are
symbolic links to packagename-extraname.jar. For example see libcommons-lang3-java.
This looks like a contradiction to me. Or am I just misreading the policy?
[1] /usr/share/doc/java-policy/debian-java-policy.txt.gz, java-policy 0.57
Indeed, that looks like a bug in libcommons-lang3-java or rather maven-debian-
helper to me. I have just checked some other Maven packages and there the policy is implemented correctly. The bug in libcommons-lang3-java could be related to the relocation feature in the poms file but I haven't looked closer
yet.
Not sure though what is the impact of this policy inversion. Most of Java-related software seems to read both regular files and symbolic
links transparently.
Not sure though what is the impact of this policy inversion. Most of
Java-related software seems to read both regular files and symbolic
links transparently.
There isn't much impact, both styles are fine in my opinion.
This seems to trigger https://lintian.debian.org/tags/bad-jar-name
Not sure though what is the impact of this policy inversion. Most of Java-related software seems to read both regular files and symbolic
links transparently.
There isn't much impact, both styles are fine in my opinion.
Not sure though what is the impact of this policy inversion. Most of
Java-related software seems to read both regular files and symbolic
links transparently.
There isn't much impact, both styles are fine in my opinion.
This seems to trigger https://lintian.debian.org/tags/bad-jar-name
Exactly. Thus lintian seems to follow the current Java policy and
correctly emit warnings.
I am trying to understand if this is a bug in maven-*-helper, or a
result of overly strict policy. One of these should be changed.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 293 |
Nodes: | 16 (2 / 14) |
Uptime: | 226:44:58 |
Calls: | 6,624 |
Calls today: | 6 |
Files: | 12,171 |
Messages: | 5,318,699 |