Summary: | dev-java/javatoolkit does not support multi-release JAR files (in /usr/libexec/javatoolkit/class-version-verify.py) | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Volkmar W. Pogatzki <gentoo> |
Component: | Current packages | Assignee: | Java team <java> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | fordfrog, gentoo |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | emerge --info |
Description
Volkmar W. Pogatzki
2023-03-11 06:03:35 UTC
Created attachment 857251 [details]
emerge --info
i guess this is not an issue of the package but instead the tool that checks the bytecode versions of the files. the mentioned jar contains multiple versions of some files and the tool does not support it. it would have to be updated to handle the versioned dirs inside the jar appropriately. Confirmed. Temporarilly commenting out JAVA_PKG_STRICT in /etc/portage/make.conf solves it for me. /etc/portage/make.conf # JAVA_PKG_STRICT=true yes, it's called from that function in that eclass but the fix/enhancement has to be done in javatoolkit in /usr/libexec/javatoolkit/class-version-verify.py which performs the check. a python fluent speaker could: - exclude content of META-INF/versions/ from the regular check - add extra bytecode check only for files in META-INF/versions/\d+ (if those dirs exist) that the bytecode of the files matches the version specified by \d+. in fact the exact file is cvv.py which contains the logic. |