https://bugzilla.redhat.com/show_bug.cgi?id=1500288
Bug ID: 1500288 Summary: jpackage utils requires java-1.8.0-openjdk Product: Fedora Version: 27 Component: jpackage-utils Assignee: extras-orphan@fedoraproject.org Reporter: jvanek@redhat.com QA Contact: extras-qa@fedoraproject.org CC: akurtako@redhat.com, extras-orphan@fedoraproject.org, java-sig-commits@lists.fedoraproject.org, jerboaa@gmail.com, msrb@redhat.com, sochotni@redhat.com
Description of problem: jpackage utils requires java-1.8.0-openjdk
Version-Release number of selected component (if applicable): f27+
How reproducible: Consider system java settings for f27:
https://fedoraproject.org/wiki/Releases/27/ChangeSet#Decouple_system_java_se...
Which brought java-1.8.0-openjdk as dependence to jpackage-tools.
As side effect - java-1.8.0-openjdk and jpackage-tools are now circular dependences. - java-1.8.0-openjdk-aarch32 now pulls in java-1.8.0-openjdk - that successfully kills usage of java-1.8.0-openjdk-aarch32 in buildroot, as you can not change alternatives
Now consider jdk9 in f27: https://fedoraproject.org/wiki/Releases/27/ChangeSet#Java_9
the side kick is same as for jdk8-aarch32. Installation of java-9-openjdk (which rewuires jpackage tools) will pull in java8. It kills jdk9 in buildroot, and making the life of possible jdk9 user very uncomfortable.
Actual results: Installation of jdk8-aarch32 or jdk9 is bringing jdk8 as transitional dependence.
Expected results: Installation of jdk8-aarch32 or jdk9 will not bring jdk8 as transitional dependence.
https://bugzilla.redhat.com/show_bug.cgi?id=1500288
jiri vanek jvanek@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |ctubbsii@fedoraproject.org, | |mat.booth@redhat.com, | |mizdebsk@redhat.com, | |msimacek@redhat.com Component|jpackage-utils |javapackages-tools Assignee|extras-orphan@fedoraproject |mizdebsk@redhat.com |.org |
https://bugzilla.redhat.com/show_bug.cgi?id=1500288
Michael Simacek msimacek@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jvanek@redhat.com Flags| |needinfo?(jvanek@redhat.com | |)
--- Comment #1 from Michael Simacek msimacek@redhat.com ---
It kills .* in buildroot
Can you be more specific? What do you mean by kill? If some package needs to be built by different JDK than the default one, it can point JAVA_HOME to it.
As for java-1.8.0-openjdk-aarch32, if it should be the default for arm, we can change the Requires for that platform.
https://bugzilla.redhat.com/show_bug.cgi?id=1500288
jiri vanek jvanek@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags|needinfo?(jvanek@redhat.com | |) |
--- Comment #2 from jiri vanek jvanek@redhat.com --- (In reply to Michael Simacek from comment #1)
It kills .* in buildroot
Can you be more specific? What do you mean by kill?
If you require java 9, you expect it would be the only java in buildroot. However, suddnely you have also jdk8 in buildroot, and it will switch alternatives on itself. And alternatives are the only thing we support for changing jdk. You can workaround it by using /usr/lib/jvm/java-9 path, but then you lost simple movability to another jdk.
If some package needs to be built by different JDK than the default one, it can point JAVA_HOME to it.
Can and can not. JAVA_HOME is being discouraged (not only) in fedora for long time. Well heavily used anyway for good reason.
As for java-1.8.0-openjdk-aarch32, if it should be the default for arm, we can change the Requires for that platform.
I don't know. The aarch32 port is not exactly super stable. And I do not wont to rob user for choice. Well and that is what you did.
https://bugzilla.redhat.com/show_bug.cgi?id=1500288
--- Comment #3 from Michael Simacek msimacek@redhat.com --- (In reply to jiri vanek from comment #2)
(In reply to Michael Simacek from comment #1)
It kills .* in buildroot
Can you be more specific? What do you mean by kill?
If you require java 9, you expect it would be the only java in buildroot.
That assumes that none of the packages in the transitive closure of your dependencies doesn't require any specific JDK. And jp is not the only package that is doing that. What if a packager of something deep in your dependency chain decides to add Requires: java < 1:9, because his pkg doesn't work with java 9 yet? Relying on absence of a package is fragile. If people want to use non-default JDK, they should make it explicit (by using JAVA_HOME).
However, suddnely you have also jdk8 in buildroot, and it will switch alternatives on itself. And alternatives are the only thing we support for changing jdk. You can workaround it by using /usr/lib/jvm/java-9 path, but then you lost simple movability to another jdk.
If some package needs to be built by different JDK than the default one, it can point JAVA_HOME to it.
Can and can not. JAVA_HOME is being discouraged (not only) in fedora for long time. Well heavily used anyway for good reason.
Discouraged where exactly? By whom?
As for java-1.8.0-openjdk-aarch32, if it should be the default for arm, we can change the Requires for that platform.
I don't know. The aarch32 port is not exactly super stable. And I do not wont to rob user for choice. Well and that is what you did.
https://bugzilla.redhat.com/show_bug.cgi?id=1500288
--- Comment #4 from jiri vanek jvanek@redhat.com --- (In reply to Michael Simacek from comment #3)
(In reply to jiri vanek from comment #2)
(In reply to Michael Simacek from comment #1)
It kills .* in buildroot
Can you be more specific? What do you mean by kill?
If you require java 9, you expect it would be the only java in buildroot.
That assumes that none of the packages in the transitive closure of your dependencies doesn't require any specific JDK. And jp is not the only
But that assumption is 99% correct. There was sucesfull effort to make packages to require jsut "java"
package that is doing that. What if a packager of something deep in your dependency chain decides to add Requires: java < 1:9, because his pkg doesn't work with java 9 yet? Relying on absence of a package is fragile.
That is slightly different case. If some of my depndencies pulls it in, that its on discussion with maintainer how to make it work. The dependence tree is quite shallow and the most used depndencies are usually most healthy.
Unluckily, all java packages requires JP. So by enforcing this here you are affecting them all.
Do you mind to stop asking quite unrelated questions and get back to the issue? Would be nice focus why JP are requiring suddenly java-1.8.0-openjdk and mayhem it brought.
https://bugzilla.redhat.com/show_bug.cgi?id=1500288
Severin Gehwolf sgehwolf@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |myllynen@redhat.com
--- Comment #5 from Severin Gehwolf sgehwolf@redhat.com --- *** Bug 1508822 has been marked as a duplicate of this bug. ***
https://bugzilla.redhat.com/show_bug.cgi?id=1500288
Severin Gehwolf sgehwolf@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sgehwolf@redhat.com Summary|jpackage utils requires |javapackages-tools requires |java-1.8.0-openjdk |java-1.8.0-openjdk
https://bugzilla.redhat.com/show_bug.cgi?id=1500288
Bjarte Stien Karlsen bjarte@bjartek.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |bjarte@bjartek.org
--- Comment #6 from Bjarte Stien Karlsen bjarte@bjartek.org --- Is there any progress on this issue? I would like to create a Docker container ussing fedora-minimal with java-10. Currently it also includes java8 because of this issue.
https://bugzilla.redhat.com/show_bug.cgi?id=1500288
--- Comment #7 from Mikolaj Izdebski mizdebsk@redhat.com --- Latest version of javapackages (5.1.0) introduced new javapackages-filesystem package [1], which is pretty minimal - it doesn't have any requires, but owns directories into which JDK packages are installed. JDK packages can switch to requiring javapackages-filesystem instead of javapackages-tools to get rid of transitive dependency on JDK 8.
[1] https://github.com/fedora-java/javapackages/pull/54 [2] https://koji.fedoraproject.org/koji/buildinfo?buildID=1081978
https://bugzilla.redhat.com/show_bug.cgi?id=1500288
Severin Gehwolf sgehwolf@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags| |needinfo?(jvanek@redhat.com | |)
--- Comment #8 from Severin Gehwolf sgehwolf@redhat.com --- PRs for java-1.8.0-openjdk (JDK 8) and java-openjdk (JDK 10) to move to javapackages-filesystem:
https://src.fedoraproject.org/rpms/java-1.8.0-openjdk/pull-request/7 https://src.fedoraproject.org/rpms/java-openjdk/pull-request/11
Jiri, if they look good to you I'll merge and push builds for rawhide.
https://bugzilla.redhat.com/show_bug.cgi?id=1500288
jiri vanek jvanek@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags|needinfo?(jvanek@redhat.com | |) |
https://bugzilla.redhat.com/show_bug.cgi?id=1500288
Severin Gehwolf sgehwolf@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |MODIFIED Fixed In Version| |javapackages-tools-5.1.0-1. | |fc29, | |java-openjdk-10.0.1.10-5.fc | |29, | |java-1.8.0-openjdk-1.8.0.17 | |1-6.b10.fc29
--- Comment #11 from Severin Gehwolf sgehwolf@redhat.com --- OK, since Jiri was OK with me merging, I've done so and this should no longer be an issue with java-openjdk-10.0.1.10-5.fc29 and java-1.8.0-openjdk-1.8.0.171-6.b10.fc29. I.e. once these builds complete:
JDK 8: https://koji.fedoraproject.org/koji/buildinfo?buildID=1082659 JDK 10: https://koji.fedoraproject.org/koji/buildinfo?buildID=1082663
https://bugzilla.redhat.com/show_bug.cgi?id=1500288
Orion Poplawski orion@nwra.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |orion@nwra.com
--- Comment #13 from Orion Poplawski orion@nwra.com --- Is this going to get moved to Fedora 28 as well?
https://bugzilla.redhat.com/show_bug.cgi?id=1500288
Mikolaj Izdebski mizdebsk@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|javapackages-tools requires |javapackages-tools: Split |java-1.8.0-openjdk |javapackages-filesystem to | |a subpackage
--- Comment #14 from Mikolaj Izdebski mizdebsk@redhat.com --- (In reply to Orion Poplawski from comment #13)
Is this going to get moved to Fedora 28 as well?
No, I was not planning this feature for Fedora 28. Is it important for you to have it? If yes I can reconsider backporting it.
https://bugzilla.redhat.com/show_bug.cgi?id=1500288
--- Comment #15 from Orion Poplawski orion@nwra.com --- At the moment, no. Just curious.
https://bugzilla.redhat.com/show_bug.cgi?id=1500288
--- Comment #16 from jiri vanek jvanek@redhat.com --- I think to have this backported all the way down to f27 will just make everybody more happy and soem nasty misbehaving to disapear (we now have jdk10, 11 and 8 in fedora, so any cyclic dependencies are making real mess)
https://bugzilla.redhat.com/show_bug.cgi?id=1500288
--- Comment #17 from Mikolaj Izdebski mizdebsk@redhat.com --- Adding this feature to F27 at this point would be against updates policy, but I can backport it to F28 if there is desire for it.
https://bugzilla.redhat.com/show_bug.cgi?id=1500288
--- Comment #18 from jiri vanek jvanek@redhat.com --- Both f27 and f28 are stable released system. You already have the virtual provides in f27. Imho it is bug in f27, so fixing it is not against rules.
In all cases, this is up to you, and notm uch people will be on f27 in next few weeks. Tahnx a lot!
https://bugzilla.redhat.com/show_bug.cgi?id=1500288
--- Comment #19 from Mikolaj Izdebski mizdebsk@redhat.com --- "Package maintainers SHOULD: Push only major bug fixes and security fixes to the previous stable releases (i.e., at present, Fedora 27 and before)."
This feature is definitely not a "major bugfix" and therefore should not be pushed to Fedora 27.
https://bugzilla.redhat.com/show_bug.cgi?id=1500288
Severin Gehwolf sgehwolf@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mail@johannes-beck.name
--- Comment #20 from Severin Gehwolf sgehwolf@redhat.com --- *** Bug 1622207 has been marked as a duplicate of this bug. ***
https://bugzilla.redhat.com/show_bug.cgi?id=1500288
Mikolaj Izdebski mizdebsk@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed In Version|javapackages-tools-5.1.0-1. |javapackages-tools-5.1.0-1. |fc29, |fc29 |java-openjdk-10.0.1.10-5.fc |java-openjdk-10.0.1.10-5.fc |29, |29 |java-1.8.0-openjdk-1.8.0.17 |java-1.8.0-openjdk-1.8.0.17 |1-6.b10.fc29 |1-6.b10.fc29
https://bugzilla.redhat.com/show_bug.cgi?id=1500288
--- Comment #21 from Ben Cotton bcotton@redhat.com --- This message is a reminder that Fedora 27 is nearing its end of life. On 2018-Nov-30 Fedora will stop maintaining and issuing updates for Fedora 27. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a Fedora 'version' of '27'.
Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version.
Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora 27 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior this bug is closed as described in the policy above.
Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete.
https://bugzilla.redhat.com/show_bug.cgi?id=1500288
Ben Cotton bcotton@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|MODIFIED |CLOSED Resolution|--- |EOL Last Closed| |2018-11-30 18:10:02
--- Comment #22 from Ben Cotton bcotton@redhat.com --- Fedora 27 changed to end-of-life (EOL) status on 2018-11-30. Fedora 27 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug.
If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. If you are unable to reopen this bug, please file a new report against the current release. If you experience problems, please add a comment to this bug.
Thank you for reporting this bug and we are sorry it could not be fixed.
java-sig-commits@lists.fedoraproject.org