Debian Java QA
We should build a "Debian Java Lintian" (DJ.Lint ?) tool. We should integrate these checks into Lintian (being worked on)
Proposed checks
- (E) Compare .class/.jar version and Depends java*-runtime-*
- How we handle multiple class version (for example part of the API build with target 1.4 and other part build with target 1.6)
Test with Animal Sniffer maven plugin
- Autogenerated by javahelper
- (E) Build a -doc package without Build-Depends on default-jdk-doc
Maybe search also for "<link href="http://java.sun.com/*/docs/api"/>" (after patches being applied
Depends and <link> auto generated/detected by javahelper
- (W) [NEW] a dependency from Maven POM couldn't be found in Debian
- mh_lspoms source code
- mvn-debian debian:resolve-compile + some --no-parent switch
- (W) No need of debian/pom.xml if source tarball contains pom.xml
(W) No need to Build-Depends on default-jdk-builddep without a -gcj package - d-j-bd removed
- (W) Main binary package which begin with lib* should be in "java" Section
- (W) Build-Depends on openjdk-6 directly instead of default-jdk
- some things only work with openjdk, this could be info?
- (W) "package-list" (Javadoc) found in other location than /usr/share/doc/$(first_bin_deb)/api/
- could be legit to have in in a different bin dep, but that location
- (W) lib$(package)-java-doc packages should Recommend default-jdk-doc
(I) ?TestCase's found in source tarball but no Build-Depends on JUnit
- (I) source tarball contains a pom.xml but can't find any in binary package maven-repo
- (I) Build-Depends on ant but orig.tarball contains a pom.xml with XML sourceDirectory
- (I) Found GZipped java files in a binary package (samples ?)
- (I) lib$(package)-java-doc packages should Suggests their lib$(package)-java
- (I) Jar whithout OSGi metadata
Under way
These checks are currently pending review/approbation (see 620829).
(W) Jar without any .class files. That one actually triggers a lot on jar files containing only 'services', as for instance batik-squiggle-ext-1.7.jar from libbatik-java.
- It's also an annoyance for doc jars built by Maven.
- (W) [NEW] warning about classpath-related problems, such as:
libraries depending on other java libraries but JARs without classpath (wow, this leads to massive missing classpath discoveries, about 30% of all the lib*-java as of April 6th 2011)
relative paths with subdirs in classpath, as jars/stuff.jar, probably the remnants of build-time classpaths
(W) (for now) various warnings about jar files (or referenced jars) not in /usr/share.
(E) problems with jars with the executable bit set (need for Main-Class + jarwrappers or equivalent)
Implemented Tags
- (W) Build-Depends on openjdk-X-doc (or classpath-doc) directly instead of default-jdk-doc
Filed as #593837 against lintian (in 2.5.0~rc1 or newer)
