Bug#766392: maven-debian-helper: --no-usj-versionless does not work
Emmanuel Bourg
ebourg at apache.org
Tue Jan 26 23:00:39 UTC 2016
I stumbled on the same issue, and it looks like this feature got broken
in maven-debian-helper 1.5.1. The copyJarToUsj() method was changed in
the commit 296f73f. Before that change the implementation was:
private void copyJarToUsj() throws IOException {
File jarFile = new File(fullJarName());
if (jarFile.exists()) {
System.out.println("Install jar for " + artifactId + " into /usr/share/java");
mkdir(compatSharePath());
FileUtils.copyFile(jarFile, new File(jarDestPath()));
if (noUsjVersionless) {
FileUtils.copyFile(jarFile, new File(versionedFullCompatPath()));
} else {
FileUtils.copyFile(jarFile, new File(fullCompatPath()));
run(linkCommand(destUsjJarName(), versionedFullCompatPath()));
}
}
}
In this version the jar is first copied into the Maven repository
(jarDestPath), if noUsjVersionless is set it's then copied as a
versionned jar (versionedFullCompatPath) into /usr/share/java.
The jar was duplicated but no versionless jar was installed.
After the commit the method became:
private void copyJarToUsj() throws IOException {
File jarFile = new File(fullJarName());
if (jarFile.exists()) {
System.out.println("Install jar for " + artifactId + " into /usr/share/java");
mkdir(compatSharePath());
FileUtils.copyFile(jarFile, new File(fullCompatPath()));
if (noUsjVersionless) {
run(linkCommand(destUsjJarName(), versionedFullCompatPath()));
} else {
run(linkCommand(destUsjJarName(), fullCompatPath()));
run(linkCommand(destUsjJarName(), versionedFullCompatPath()));
}
}
}
Here the jar is first copied as a versionless jar into /usr/share/java
even if noUsjVersionless is set, which is wrong.
Emmanuel Bourg
More information about the pkg-java-maintainers
mailing list