Skip to content

Fix "maximum existing version" for Java class file format.

Felix Lechner requested to merge (removed):fix-java-class-format into master

The fix to #912292 (in commit f48c9236) makes several updates to the known Java class file versions but appears to require, in addition, an upward adjustment of max-bytecode-existing-version. Otherwise, the test java-class-format produces the following regression:

@@ -1,2 +1,2 @@
-W: libtest-java: incompatible-java-bytecode-format Java12 version (Class format: 56)
 W: libtest-java: unknown-java-class-version usr/share/java/testa-1.0.jar (org/debian/lintian/TestA.class -> 42)
+W: libtest-java: unknown-java-class-version usr/share/java/testb-1.0.jar (org/debian/lintian/TestB.class -> 56)
fail tests::java-class-format: output differs!

An inspection of TestB.class shows that the major version is being read correctly. It is just not interpreted right. This commit causes the test to pass without errors.

  Last modified Dec 4, 2018; size 278 bytes
  MD5 checksum d41318995b87081fd003c4da42f3562d
  Compiled from "TestB.java"
public class org.debian.lintian.TestB
  minor version: 0
  major version: 56
  flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: #2                          // org/debian/lintian/TestB
  super_class: #3                         // java/lang/Object
  interfaces: 0, fields: 0, methods: 1, attributes: 1

Merge request reports

Loading