https://fedoraproject.org/wiki/Changes/Drop_i686_JDKs
== Summary == java-1.8.0-openjdk, java-11-openjdk, java-17-openjdk and java-latest-openjdk packages will no longer build i686 subpackages
== Owner == * Name: [[User:jvanek| Jiri Vanek]] * Email: jvanek@redhat.com * Product: java and java stack * Responsible WG: java-sig (java and java-maint)(which no longer exists)
=== Expected schedule === * during march, drop i686 builds from all jdks in fedora rawhide
== Detailed Description == Fedora currently ships: * java-1.8.0-openjdk (LTS) * java-11-openjdk (LTS) * java-17-openjdk (LTS) * java-latest-openjdk (STS, jdk18).
All those builds on all architectures except jdk8, where arm32 with jit is built by different package. Unluckily, the i686 bit builds of jdk are rotten in upstream. The recent breakage of i686 JIT just before branching nearly killed jdk17 as system jdk feature. The rotting have main visibility with newer GCCs. If GCC bump, and it does, it always triggers new issues in i686 JIT, and there is less and less people to somehow workaround them. Unluckily, there is probably no longer anyone willing to really fix them
== Benefit to Fedora == The i686 builds are rotten in usptream, and to patch them localy had become pain. We may be introducing very bugy i686 jdk. Better then to do so, we would rather not ship that at all. This will untie hands of both JDK and GCC developers, who will no longer need to dive into nasty legacy code.
== Scope == ==== Change owners ==== * we will simiply stop building i686 pkg in rawhide
==== Other developers ==== * may notice the multilib i686 java missing. * it is up to them to drop i686 builds or to povide workaround (if possible)
==== Other ==== * Release engineering: https://pagure.io/releng/issue/10686 * Trademark approval: N/A (not needed for this Change)
== Upgrade/compatibility impact == * The upgrade on multilib systems will lead to autoremoval of i686 javastack * which should be minimum - 99% of javastack is noarch
== How To Test == install i686 java will result to not packages found
== User Experience == User experience on multilib systems will be bad. Bad reasonable.
== Dependencies == There are is unknown number of multilib java consumers. I expect some of them may rise voice, but that will have to handled one by one.
== Contingency Plan == * Contingency mechanism: return i686 packages * Contingency date: (not provided)
== Documentation == Will be neded...
== Release Notes ==
None yet...
On Mon, Mar 7, 2022 at 4:01 PM Ben Cotton bcotton@redhat.com wrote:
(snip)
== Scope == ==== Change owners ====
- we will simiply stop building i686 pkg in rawhide
==== Other developers ====
- may notice the multilib i686 java missing.
- it is up to them to drop i686 builds or to povide workaround (if possible)
Hm, that sounds potentially risky way to do this. And also just breaks stuff and leaves it to the package maintainers to fix things.
Did you consider adding a %{java_arches} macro that can be used to limit builds of noarch Java packages to non-i686 architectures?
Did you check the dependency tree of the non-noarch Java packages? For example, are there any important, non-Java packages that depend on architecture-specific Java packages, like JNA?
For example, these packages might be problematic:
- jna ← jline - jna ← libvirt-java - jna ← mariadb-java-client - jna ← scala - jna ← svnkit
Will package maintainers need to exclude all those packages (and, in turn, all their dependent packages) from i686?
Fabio
Hi!
You have valid points. The non transitive list is indeed not somehow immense[1]. Will add it to wiki page. Will also provide few recursive iterations. Ty for reminder. As for the java-arches macro, I have no objections to it. It is PR to jpackages-tools? But maybe one note against - it may cause inconsistency, if somebody will decide to maintain another version of java - eg as now happens for jdk8 aarch32
TY!
J.
[1] jvanek jvanek 11:27:07 ~ $ repoquery -q --whatrequires java-headless | grep -v -e \.noarch -e \.src DecodeIR-0:2.45-19.fc36.i686 DecodeIR-0:2.45-19.fc36.x86_64 R-java-0:4.1.2-4.fc36.x86_64 cryptlib-java-0:3.4.6-4.fc36.x86_64 cryptlib-java-0:3.4.6-7.fc36.x86_64 csound-java-0:6.16.2-3.fc36.i686 csound-java-0:6.16.2-3.fc36.x86_64 cvc4-java-0:1.8-9.fc36.x86_64 eclipse-swt-1:4.22-4.fc36.x86_64 freewrl-java-0:4.3.0-11.20200221gite99ab4a.fc36.x86_64 gdal-java-0:3.4.1-4.fc36.x86_64 jansi-0:2.4.0-3.fc36.x86_64 jansi-native-0:1.8-9.fc36.x86_64 java-gnome-0:4.1.3-29.fc36.x86_64 java-libsbml-0:5.19.0-11.fc36.x86_64 jblas-0:1.2.5-6.fc36.x86_64 jffi-0:1.3.4-1.fc36.x86_64 jffi-native-0:1.3.4-1.fc36.x86_64 jigawatts-0:0.2-0.6.202108276c78499.fc36.x86_64 jna-0:5.10.0-3.fc36.x86_64 jni-inchi-0:0.8-5.fc36.x86_64 jpcap-0:0.7-32.fc36.x86_64 jssc-0:2.8.0-22.fc36.x86_64 libbluray-bdj-0:1.3.0-4.fc36.x86_64 libbluray-bdj-0:1.3.1-1.fc36.x86_64 libphidget-java-0:2.1.8.20140319-19.fc36.x86_64 libreoffice-core-1:7.3.0.3-3.fc36.x86_64 libreoffice-core-1:7.3.1.3-2.fc36.x86_64 libwebp-java-0:1.2.2-2.fc36.x86_64 libwebp-java-0:1.2.2-4.fc36.x86_64 link-grammar-java-0:5.10.2-3.fc36.i686 link-grammar-java-0:5.10.2-3.fc36.x86_64 mapserver-java-0:7.6.4-11.fc36.x86_64 mecab-java-0:0.996-3.fc36.4.x86_64 nailgun-0:0.9.1-20.fc36.x86_64 octave-6:6.4.0-5.fc36.i686 octave-6:6.4.0-5.fc36.x86_64 opencv-java-0:4.5.5-5.fc36.x86_64 openmpi-java-0:4.1.2-3.fc36.x86_64 openni-java-0:1.5.7.10-26.fc36.x86_64 pl-jpl-0:8.4.2-1.fc36.x86_64 plplot-java-0:5.15.0-37.fc36.i686 plplot-java-0:5.15.0-37.fc36.x86_64 ppl-java-0:1.2-23.fc36.x86_64 python3-pyjnius-0:1.3.0-10.fc36.x86_64 qdbm-java-0:1.8.78-50.fc36.i686 qdbm-java-0:1.8.78-50.fc36.x86_64 sphinx-java-0:2.2.11-22.fc36.x86_64 tuxguitar-0:1.5.4-4.fc36.x86_64 unifi-0:7.0.23-1.fc36.x86_64 unifi-lts-0:5.6.42-10.fc36.x86_64 will-crash-0:0.13.3-6.fc36.i686 will-crash-0:0.13.3-6.fc36.x86_64 jvanek jvanek 11:10:27 ~ $ repoquery -q --whatrequires java | grep -v -e \.noarch -e \.src ProjectX-0:0.91.0-20.fc36.x86_64 Singular-surfex-0:4.2.0p3-3.fc36.x86_64 bolzplatz2006-0:1.0.3-51.fc36.x86_64 cephfs-java-2:16.2.7-10.fc36.x86_64 cephfs-java-2:16.2.7-11.fc36.x86_64 java-z3-0:4.8.14-4.fc36.x86_64 libcephfs_jni-devel-2:16.2.7-10.fc36.x86_64 libcephfs_jni-devel-2:16.2.7-11.fc36.x86_64 libcephfs_jni1-2:16.2.7-10.fc36.x86_64 libcephfs_jni1-2:16.2.7-11.fc36.x86_64 portmidi-tools-0:217-43.fc36.x86_64 sdljava-0:0.9.1-56.fc36.x86_64 jvanek 11:27:07 ~ $ repoquery -q --whatrequires java-headless | grep -v -e \.noarch -e \.src DecodeIR-0:2.45-19.fc36.i686 DecodeIR-0:2.45-19.fc36.x86_64 R-java-0:4.1.2-4.fc36.x86_64 cryptlib-java-0:3.4.6-4.fc36.x86_64 cryptlib-java-0:3.4.6-7.fc36.x86_64 csound-java-0:6.16.2-3.fc36.i686 csound-java-0:6.16.2-3.fc36.x86_64 cvc4-java-0:1.8-9.fc36.x86_64 eclipse-swt-1:4.22-4.fc36.x86_64 freewrl-java-0:4.3.0-11.20200221gite99ab4a.fc36.x86_64 gdal-java-0:3.4.1-4.fc36.x86_64 jansi-0:2.4.0-3.fc36.x86_64 jansi-native-0:1.8-9.fc36.x86_64 java-gnome-0:4.1.3-29.fc36.x86_64 java-libsbml-0:5.19.0-11.fc36.x86_64 jblas-0:1.2.5-6.fc36.x86_64 jffi-0:1.3.4-1.fc36.x86_64 jffi-native-0:1.3.4-1.fc36.x86_64 jigawatts-0:0.2-0.6.202108276c78499.fc36.x86_64 jna-0:5.10.0-3.fc36.x86_64 jni-inchi-0:0.8-5.fc36.x86_64 jpcap-0:0.7-32.fc36.x86_64 jssc-0:2.8.0-22.fc36.x86_64 libbluray-bdj-0:1.3.0-4.fc36.x86_64 libbluray-bdj-0:1.3.1-1.fc36.x86_64 libphidget-java-0:2.1.8.20140319-19.fc36.x86_64 libreoffice-core-1:7.3.0.3-3.fc36.x86_64 libreoffice-core-1:7.3.1.3-2.fc36.x86_64 libwebp-java-0:1.2.2-2.fc36.x86_64 libwebp-java-0:1.2.2-4.fc36.x86_64 link-grammar-java-0:5.10.2-3.fc36.i686 link-grammar-java-0:5.10.2-3.fc36.x86_64 mapserver-java-0:7.6.4-11.fc36.x86_64 mecab-java-0:0.996-3.fc36.4.x86_64 nailgun-0:0.9.1-20.fc36.x86_64 octave-6:6.4.0-5.fc36.i686 octave-6:6.4.0-5.fc36.x86_64 opencv-java-0:4.5.5-5.fc36.x86_64 openmpi-java-0:4.1.2-3.fc36.x86_64 openni-java-0:1.5.7.10-26.fc36.x86_64 pl-jpl-0:8.4.2-1.fc36.x86_64 plplot-java-0:5.15.0-37.fc36.i686 plplot-java-0:5.15.0-37.fc36.x86_64 ppl-java-0:1.2-23.fc36.x86_64 python3-pyjnius-0:1.3.0-10.fc36.x86_64 qdbm-java-0:1.8.78-50.fc36.i686 qdbm-java-0:1.8.78-50.fc36.x86_64 sphinx-java-0:2.2.11-22.fc36.x86_64 tuxguitar-0:1.5.4-4.fc36.x86_64 unifi-0:7.0.23-1.fc36.x86_64 unifi-lts-0:5.6.42-10.fc36.x86_64 will-crash-0:0.13.3-6.fc36.i686 will-crash-0:0.13.3-6.fc36.x86_64 jvanek jvanek 11:18:44 ~ $ repoquery -q --whatrequires java-devel | grep -v -e \.noarch -e \.src R-java-devel-0:4.1.2-4.fc36.i686 R-java-devel-0:4.1.2-4.fc36.x86_64 libreoffice-sdk-1:7.3.0.3-3.fc36.x86_64 libreoffice-sdk-1:7.3.1.3-2.fc36.x86_64 openjfx-devel-3:11.0.9.2-10.fc36.x86_64 openjfx-devel-3:11.0.9.2-9.fc36.x86_64 openjfx8-devel-0:8.0.202-32.b07.fc36.x86_64 openmpi-java-devel-0:4.1.2-3.fc36.i686 openmpi-java-devel-0:4.1.2-3.fc36.x86_64 systemtap-runtime-java-0:4.7~pre16433134g7d871ab5-2.fc36.x86_64 systemtap-runtime-java-0:4.7~pre16468670g9f253544-1.fc36.x86_64
On Mon, Mar 14, 2022 at 11:31 AM Jiri Vanek jvanek@redhat.com wrote:
Hi!
You have valid points. The non transitive list is indeed not somehow immense[1]. Will add it to wiki page. Will also provide few recursive iterations. Ty for reminder. As for the java-arches macro, I have no objections to it. It is PR to jpackages-tools? But maybe one note against - it may cause inconsistency, if somebody will decide to maintain another version of java - eg as now happens for jdk8 aarch32
Thank you for including the list of non-noarch Java packages. However, *all* Java packages will need to be adapted to have "ExcludeArch: i686", even the noarch packages (which will need something like: "ExclusiveArch: everything-except-i686 noarch"). Otherwise the noarch packages will randomly fail to build, if they are assigned to a i686 builder.
Fabio
jj, right you are.
This change has been reworked...
https://fedoraproject.org/wiki/Changes/Drop_i686_JDKs
If folks could take a fresh look and see if this addresses their concerns, that would be great.
kevin
On 4/19/22 09:54, Kevin Fenzi wrote:
This change has been reworked...
https://fedoraproject.org/wiki/Changes/Drop_i686_JDKs
If folks could take a fresh look and see if this addresses their concerns, that would be great.
kevin
It mentions dropping i686 Java in March. We're past that :) Bugs have been filed urging quick change. Might be worth updating the Change page reflect that.
Has a bug been filed against subversion (and other low-lying deps) yet? (I could not see any bug and wondering why not?)
Naively it looks like the filed bugs are more targeting higher dependent packages which is less useful. I think it is the immediate dependencies like subversion (and possibly some of their direct dependents) which need the most immediate attention. Filing bugs against many higher dependent packages first seems a bit premature yet and creates confusion for many packagers.
I think the thread "You can't be serious! you want to remove mesa-libGL.i686 support?" summarizes the problem better, but I wanted to make sure the problem is mentioned clearly here in this Change thread too.
Jens
On 13. 07. 22 8:58, Jens-Ulrik Petersen wrote:
Has a bug been filed against subversion (and other low-lying deps) yet? (I could not see any bug and wondering why not?)
Yes and it has been fixed:
https://bugzilla.redhat.com/show_bug.cgi?id=2103909
On 7/13/22 09:10, Miro Hrončok wrote:
On 13. 07. 22 8:58, Jens-Ulrik Petersen wrote:
Has a bug been filed against subversion (and other low-lying deps) yet?
The bugs were filled agaisnt all native direct depndencies of java(-devel) and against all transitive depndencies of java, which are dependece f more then 50 other packages (that was the point,where the non linear curve really start to grow).
(I could not see any bug and wondering why not?)
Yes and it has been fixed:
Thank you for posting this!
hth! J.
Small clarification. I had jsut lerned abotu https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval . This java proposal have nothig to do with that and was asctually done without anybody from JDK maintainers beeing aware. Still ti remains valid.
On Mon, Mar 14, 2022 at 1:08 PM Jiri Vanek jvanek@redhat.com wrote:
Small clarification. I had jsut lerned abotu https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval . This java proposal have nothig to do with that and was asctually done without anybody from JDK maintainers beeing aware. Still ti remains valid.
What do you mean with "This java proposal have nothig to do with that and was asctually done without anybody from JDK maintainers beeing aware."? The JDK maintainers were not aware of this Java-related proposal? How can that be?
Fabio
I interpreted this to mean that, while this Java proposal and Changes/EncourageI686LeafRemoval both have to do with i686 removals:
- the Java change should not be seen as part of Changes/EncourageI686LeafRemoval - the Java change was written without knowledge of Changes/EncourageI686LeafRemoval - the Java change should be considered separately from Changes/EncourageI686LeafRemoval - learning about Changes/EncourageI686LeafRemoval has not given the Java change owners any reason to change or reconsider this proposal
On Tue, Mar 15, 2022, at 11:31 AM, Fabio Valentini wrote:
On Mon, Mar 14, 2022 at 1:08 PM Jiri Vanek jvanek@redhat.com wrote:
Small clarification. I had jsut lerned abotu https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval . This java proposal have nothig to do with that and was asctually done without anybody from JDK maintainers beeing aware. Still ti remains valid.
What do you mean with "This java proposal have nothig to do with that and was asctually done without anybody from JDK maintainers beeing aware."? The JDK maintainers were not aware of this Java-related proposal? How can that be?
Fabio _______________________________________________ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-leave@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure
On Tue, Mar 15, 2022 at 4:43 PM Ben Beasley code@musicinmybrain.net wrote:
I interpreted this to mean that, while this Java proposal and Changes/EncourageI686LeafRemoval both have to do with i686 removals:
- the Java change should not be seen as part of Changes/EncourageI686LeafRemoval
- the Java change was written without knowledge of Changes/EncourageI686LeafRemoval
- the Java change should be considered separately from Changes/EncourageI686LeafRemoval
- learning about Changes/EncourageI686LeafRemoval has not given the Java change owners any reason to change or reconsider this proposal
If that's the case, then yes. The two changes are similar, but their scope does not really overlap.
Fabio
devel@lists.stg.fedoraproject.org