Bug#896439: gradle-debian-helper points to an invalid java api directory

Tiago Stürmer Daitx tiago.daitx at canonical.com
Sat Apr 21 02:18:47 BST 2018


Package: gradle-debian-helper
Version: 1.6
Severity: important

Dear Maintainer,

Thus I would like to discuss the possibility of:
1) declaring the binary package gradle-debian-helper as dependend upon
default-jdk-doc;
2) using the directory file:///usr/share/doc/default-jdk-doc/api in
DebianHelperPlugin.java instead of the current default-jdk one.


The reason for this change is that until openjdk-9 the javadoc binary
would ignore invalid javadoc links and at most throw out a warning, but
since openjdk-10 this behavior changed to an error which causes packages
that calls the javadoc binary to FTBFS whenever an invalid, nonexistent,
or unreacheable link is given.


In gradle-debian-helper the file
gradle-helper-plugin/src/main/java/org/debian/gradle/DebianHelperPlugin.java
currently sets the first javadoc link to
file:///usr/share/doc/default-jdk/api 

First, this seems to indicates that the plugin expects that the default-jdk
package will be installed when it's used, but this is not reflected upon
its 'Depends:' (or 'Recommends:').

Second, even if the default-jdk is installed this is problematic because that
directory is actually a relative link to
../openjdk-X-doc/api 
which in turn belongs to an openjdk-X-doc package - such package is not
installed by the default-jdk package. Instead of looking for a default-jdk
directory I proposed that it should instead look for a default-jdk-doc
directory as the api link because the default-jdk-doc package does depends
on an openjdk-X-doc package.


This change shouldn't cause much problem for any packages currently
building with the default-jdk set to openjdk-9 (or 8), since if
/usr/share/doc/default-jdk-doc does not exist then the default-jdk-doc
was not installed anyway and the original link to
/usr/share/doc/default-jdk/api would be invalid anyway and these openjdk
versions ignore that.

Without the proposed changes packages would FTBFS unless both default-jdk
and default-jdk-doc are installed after the default-jdk moves to
openjdk-10 (or 11). Also, packages that depend upon default-jdk-headless
would FTBFS unless they moved to depend upon default-jdk.


Regards,
Tiago

-- System Information:
Debian Release: buster/sid
  APT prefers bionic
  APT policy: (500, 'bionic'), (400, 'bionic-proposed')
Architecture: amd64 (x86_64)

Kernel: Linux 4.15.0-17-lowlatency (SMP w/8 CPU cores; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled



More information about the pkg-java-maintainers mailing list