https://fedoraproject.org/wiki/User:Jerboaa/JavaPackagingGuidelinesUpdate#BuildRequires_and_Requires
Proposal to change Java Packaging Guidelines' MUST for runtime requirement from javapackages-tools to javapackages-filesystem.
javapackages-tools
javapackages-filesystem
https://fedoraproject.org/w/index.php?title=User%3AJerboaa%2FJavaPackagingGuidelinesUpdate&type=revision&diff=522356&oldid=522355
The benefit is that this change would result in less heavyweight dependencies in Java packages. javapackages-tools drags in a JDK as one of its runtime requirements which is currently hard-coded to java-1.8.0-openjdk-headless.
java-1.8.0-openjdk-headless
It's not entirely clear why this requirement for javapackages-tools as runtime dependency was added. There seems to have been a change from Requires: jpackage-utils => Requires: javapackages-tools since javapackages-tools virtually provided jpackage-utils. Yet, that information doesn't tell us why jpackage-utils or javapackages-tools is a MUST requirement for Java packages. This comment from a past FPC ticket seems to suggest it was due to directory ownership of shared Java files such as:
Requires: jpackage-utils
Requires: javapackages-tools
jpackage-utils
/usr/lib/jvm /usr/share/java /usr/share/maven-metadata /usr/share/maven-poms
For reason of directory ownership, javapackages-filesystem package has been introduced. That package is more lightweight and does not have a JDK dependency.
In light of multiple JDKs in Fedora (JDK 11 + JDK 8) it seems appropriate to change the guidelines to not transitively drag in two JDKs when the Java package itself is perfectly fine to run with JDK N, where N > 8.
References: https://lists.fedoraproject.org/archives/list/java-devel@lists.fedoraproject.org/thread/A5UIG565C3LPB63ZIITNK6TBYMYT3GAZ/ https://bugzilla.redhat.com/show_bug.cgi?id=1600426 https://bugzilla.redhat.com/show_bug.cgi?id=1500288
CCing @mizdebsk @msimacek and @msrb for ack.
IMHO this should be a system-wide change approved by FESCo.
Does it in fact change things?
Updating guidelines does not change anything in packaging by itself. But assuming auto-requires were changed to follow the guidelines, about 4215 packages that auto-require javapackages-tools would be affected. Many of them would not work correctly without javapackages-tools installed. Therefore, due to nature of this change affecting many packages across distribution I think this should be a system-wide change. I posted more details to java-devel list thread referenced above.
I have no particular problems with the change but of course the part of the process outside of the guidelines is far more complicated. As part of a system-wide change, this ticket would need to be filed in any case. FPC would need to approve it in any case.
I'll +1 this now on general principles.
Metadata Update from @tibbs: - Issue tagged with: meeting
From: https://meetbot-raw.fedoraproject.org/fedora-meeting-1/2018-07-19/fpc.2018-07-19-16.00.txt
Metadata Update from @james: - Issue untagged with: meeting - Issue tagged with: writeup
I went ahead and wrote this up but of course changes to existing packages to follow this change are beyond the scope of what FPC can do.
Announcement text:
A small change was made to the Java packaging guidelines to specify a dependency on javapackages-filesystem instead of javapackages-tools.
Metadata Update from @tibbs: - Issue untagged with: writeup - Issue assigned to tibbs - Issue tagged with: announce
Metadata Update from @tibbs: - Issue untagged with: announce - Issue close_status updated to: accepted - Issue status updated to: Closed (was: Open)
Login to comment on this ticket.