#268 Javabytecode checks are completely wrong
Closed by msrb. Opened by mbooth.

I built a package recently: https://bodhi.fedoraproject.org/updates/FEDORA-2021-84ee67a1a9

And noticed the fedora-ci.koji-build.rpminspect.static-analysis test failure.

When I inspected it I saw this error:

Test description:
Check minimum required Java bytecode version in class files, report bytecode version changes between builds, and report if bytecode versions are exceeded.  The bytecode version is vendor specific to releases and defined in the configuration file.
======================================== Test Output ========================================
javabytecode:
-------------
1) File /com/sun/el/lang/ELArithmetic$BigDecimalDelegate.class (/usr/share/java/glassfish-el.jar), Java byte code version 52 greater than supported major version 43 for product release fc36
Result: BAD
Waiver Authorization: Anyone

What is this supposed to mean?

Since Java 11 is the default version of Java in Fedora, surely the maximum bytecode version should be 55 ...... Even the bytecode version of Java 8 (the previous default java version) is 52

How can 43 possibly be the maximum allowable version? Where does that even come from‽


Metadata Update from @msrb:
- Issue assigned to msrb

Ah, right. The value comes from the rpminspect configuration for fedora:

https://github.com/rpminspect/rpminspect-data-fedora/pull/19

Fixed: https://osci-jenkins-1.ci.fedoraproject.org/job/fedora-ci/job/rpminspect-pipeline/job/master/37413/testReport/(root)/tests/_javabytecode/

Metadata Update from @msrb:
- Issue status updated to: Closed (was: Open)

@msrb Consider setting the default appropriately so it doesn't happen again in the next release cycle

@mbooth I tried in the past: https://github.com/rpminspect/rpminspect-data-fedora/pull/13#issuecomment-832153846

But I haven't really pushed hard enough for the change :)

Metadata