Description of problem: I want to get rid of Java 8 on my system Version-Release number of selected component (if applicable): [root@DESKTOP-8QCVLES /]# rpm -qa | grep jdk java-latest-openjdk-src-13.0.2.8-1.rolling.fc32.x86_64 java-latest-openjdk-13.0.2.8-1.rolling.fc32.x86_64 java-latest-openjdk-devel-13.0.2.8-1.rolling.fc32.x86_64 java-latest-openjdk-headless-13.0.2.8-1.rolling.fc32.x86_64 java-1.8.0-openjdk-headless-1.8.0.242.b08-0.fc32.x86_64 java-latest-openjdk-javadoc-13.0.2.8-1.rolling.fc32.x86_64 copy-jdk-configs-3.7-5.fc32.noarch java-1.8.0-openjdk-1.8.0.242.b08-0.fc32.x86_64 How reproducible: always when trying to remove java 8 Steps to Reproduce: 1. install libreoffice 2. install java 13 3. remove java 8 Actual results: [root@DESKTOP-8QCVLES oli]# dnf remove java-1.8.0-openjdk-headless-1.8.0.242.b08-0.fc32.x86_64 Abhängigkeiten sind aufgelöst. ================================================================================ Package Arch Version Repo Size ================================================================================ Entfernen: java-1.8.0-openjdk-headless x86_64 1:1.8.0.242.b08-0.fc32 @updates-testing 124 M Abhängige Pakete werden entfernt: icedtea-web x86_64 1.8.2-3.fc31 @fedora 3.4 M libreoffice-calc x86_64 1:6.4.1.2-1.fc32 @fedora 29 M libreoffice-draw x86_64 1:6.4.1.2-1.fc32 @fedora 17 k libreoffice-emailmerge x86_64 1:6.4.1.2-1.fc32 @fedora 26 k libreoffice-impress x86_64 1:6.4.1.2-1.fc32 @fedora 2.2 M libreoffice-math x86_64 1:6.4.1.2-1.fc32 @fedora 1.5 M Nicht benötigte Abhängigkeiten werden entfernt: autocorr-en noarch 1:6.4.1.2-1.fc32 @fedora 249 k clucene-contribs-lib x86_64 2.3.3.4-36.20130812.e8e3d20git.fc32 @fedora 405 k clucene-core x86_64 2.3.3.4-36.20130812.e8e3d20git.fc32 @fedora 1.9 M google-crosextra-caladea-fonts noarch 1.002-0.14.20130214.fc32 @fedora 237 k google-crosextra-carlito-fonts noarch 1.103-0.12.20130920.fc32 @fedora 2.6 M gstreamer1-plugins-good-gtk x86_64 1.16.2-2.fc32 @fedora 57 k hyphen-en noarch 2.8.8-13.fc32 @fedora 104 k java-1.8.0-openjdk x86_64 1:1.8.0.242.b08-0.fc32 @updates-testing 937 k javapackages-tools noarch 5.3.0-9.fc32 @fedora 69 k libabw x86_64 0.1.3-2.fc32 @fedora 337 k libcdr x86_64 0.1.6-1.fc32 @fedora 847 k libcmis x86_64 0.5.2-4.fc32 @fedora 1.9 M libe-book x86_64 0.1.3-12.fc32 @fedora 671 k libeot x86_64 0.01-13.fc32 @fedora 78 k libepubgen x86_64 0.1.1-5.fc32 @fedora 518 k libetonyek x86_64 0.1.9-6.fc32 @fedora 3.0 M libexttextcat x86_64 3.4.5-6.fc32 @fedora 431 k libfreehand x86_64 0.1.2-6.fc32 @fedora 490 k liblangtag x86_64 0.6.3-2.fc32 @fedora 218 k liblangtag-data noarch 0.6.3-2.fc32 @fedora 1.9 M libmspub x86_64 0.1.4-11.fc32 @fedora 456 k libmwaw x86_64 0.3.15-3.fc32 @fedora 7.7 M libnumbertext x86_64 1.0.5-4.fc32 @fedora 805 k libodfgen x86_64 0.1.7-6.fc32 @fedora 1.1 M liborcus x86_64 0.15.3-2.fc32 @fedora 1.7 M libpagemaker x86_64 0.0.4-8.fc32 @fedora 210 k libqxp x86_64 0.0.2-6.fc32 @fedora 417 k libreoffice-core x86_64 1:6.4.1.2-1.fc32 @fedora 285 M libreoffice-data noarch 1:6.4.1.2-1.fc32 @fedora 5.8 M libreoffice-graphicfilter x86_64 1:6.4.1.2-1.fc32 @fedora 1.3 M libreoffice-gtk3 x86_64 1:6.4.1.2-1.fc32 @fedora 2.2 M libreoffice-help-en x86_64 1:6.4.1.2-1.fc32 @fedora 26 M libreoffice-langpack-en x86_64 1:6.4.1.2-1.fc32 @fedora 187 k libreoffice-ogltrans x86_64 1:6.4.1.2-1.fc32 @fedora 298 k libreoffice-opensymbol-fonts noarch 1:6.4.1.2-1.fc32 @fedora 405 k libreoffice-pdfimport x86_64 1:6.4.1.2-1.fc32 @fedora 607 k libreoffice-pyuno x86_64 1:6.4.1.2-1.fc32 @fedora 988 k libreoffice-ure x86_64 1:6.4.1.2-1.fc32 @fedora 7.0 M libreoffice-ure-common noarch 1:6.4.1.2-1.fc32 @fedora 648 k libreoffice-writer x86_64 1:6.4.1.2-1.fc32 @fedora 13 M libreoffice-x11 x86_64 1:6.4.1.2-1.fc32 @fedora 659 k librevenge x86_64 0.0.4-17.fc32 @fedora 819 k libstaroffice x86_64 0.0.6-5.fc32 @fedora 2.6 M libvisio x86_64 0.1.7-3.fc32 @fedora 790 k libwpd x86_64 0.10.3-4.fc32 @fedora 785 k libwpg x86_64 0.3.3-4.fc32 @fedora 183 k libwps x86_64 0.4.10-4.fc32 @fedora 2.4 M libzmf x86_64 0.0.2-12.fc32 @fedora 220 k lksctp-tools x86_64 1.0.18-4.fc32 @fedora 281 k lpsolve x86_64 5.5.2.0-24.fc32 @fedora 1.3 M mythes x86_64 1.2.4-13.fc32 @fedora 28 k mythes-en noarch 3.0-29.fc32 @fedora 21 M raptor2 x86_64 2.0.15-22.fc32 @fedora 573 k rasqal x86_64 0.9.33-12.fc32 @fedora 897 k redland x86_64 1.0.17-19.fc32 @fedora 519 k tagsoup noarch 1.2.1-19.fc32 @fedora 139 k xmlsec1-nss x86_64 1.2.29-1.fc32 @fedora 221 k Transaktionsübersicht ================================================================================ Entfernen 64 Pakete Freigegebener Speicherplatz: 566 M Ist dies in Ordnung? [j/N]: Expected results: java 8 should be removed and libreoffice should work with java 13+ Additional info:
I imagine the issue is Requires: java-headless >= 1:1.6 i.e. if you do rpm -q --whatprovides java-headless or dnf provides java-headless that only java-1.8.0-openjdk-headless is listed with java-latest-openjdk-headless offering instead java-latest-openjdk-headless. The libreoffice dependency isn't itself prescriptive as to the version, just that no other package is currently offering the dependency. https://docs.fedoraproject.org/en-US/packaging-guidelines/Java/ currently suggests that Requies: of "java-headless or java-headless >= 1:minimal_required_version" so I don't see what else we can do at the LibreOffice side
I guess there must be some way on RedHat systems to define a dependency on a rolling release basis like java is. Unfortunately i am just user, not developer. And my english skills are rather limited. Otherwise, there will always be (legacy) dependencies, what feels wrong to me if i have a newer version installed.
What could be the solution to this problem? In the package of LibreOffice or Java?
I don't see what can be done on the libreoffice side given the documented guidelines which the package adheres to
I think its a combination of both. LibreOffice could require any JRE, but then the JRE package also must provide some kind of label so that libreoffice knows its fine with that JRE, no matter if it is JRE 1.8 or JRE 14.
LibreOffice correctly requires versionless, system jdk. taht is jdk8 now, and will be jd11 in f33 (hopefully). System JDK and its compatible variants, are the only ones, who provides versionless java. Other java provides are versioned - eg java-14-openjdk. This is state which evolved during last years. I'm afraid there is really not much we can do for you.
Why is it Java 8 and not Java 11? If it would be the latest LTS release, that would be fine for me. But Java 8 is EOL! Or are there any dependencies in Java 8 so this must be used?
Jdk11 should become system jdk in f33: https://fedoraproject.org/wiki/Changes/Java11 After this change is done, versionless java provides for java-latest-openjdk will be deffinitly reconsidered.
moving to rawhide. As for f32 and lower there is nothing to do.
(In reply to oliver.zemann from comment #5) > I think its a combination of both. > LibreOffice could require any JRE, but then the JRE package also must > provide some kind of label so that libreoffice knows its fine with that JRE, > no matter if it is JRE 1.8 or JRE 14. Java8 is not eol JDK8 is very well maintained, have all security bugs fixed, and many features backported. Please verify before writing untruths.
> Java8 is not eol Depends who you ask, what subscription is meant and what vendor you mean and what your use-cases are. https://en.wikipedia.org/wiki/Java_version_history End of public updates: January 2019 for Oracle (commercial) For me it is EOL, otherwise i might break ToS or law. And yes, i know this is oracle and not openjdk, but as mentioned i have different use cases i have to face with. Before you judge and tell me i write untruth, ask what is the users intend and why it is TRUE for HIM. good day
(In reply to oliver.zemann from comment #11) > > Java8 is not eol > Depends who you ask, what subscription is meant and what vendor you mean and > what your use-cases are. > > https://en.wikipedia.org/wiki/Java_version_history > End of public updates: January 2019 for Oracle (commercial) > For me it is EOL, otherwise i might break ToS or law. > And yes, i know this is oracle and not openjdk, but as mentioned i have > different use cases i have to face with. > Before you judge and tell me i write untruth, ask what is the users intend > and why it is TRUE for HIM. > You are terribly wrong. You are speaking about oracle jdk. Which is closed source. And subject of what you are describing. What is packed in fedora is OpenJDK, and that is, and will be, fully maintained and developed. Please really make an order in your understanding of java world.
> Please really make an order in your understanding of java world. Did you even read what i wrote? Please read AND understand the whole meaning of my posting before answering. If something is unclear, ASK! Please read it so many times until you notice that your last posting is useless. i am out here and hope there will be a solution in the future. thanks!
Btw.: i need both JDKs, oracle and openjdk. I ship both. I must make sure both work as expected. Maybe you can imagine now some use cases, why it is maybe required to NOT use oracle java 8.
correction: not use openjdk 8, my bad
If you ship oracle jdk, you are subject of oracle licensing, bug theirs support. Fedora do not ship Oracle JDK. It even can not.
to sum up, because nothing happens here: when fedora 33 comes out, java 11 is default. that means: i have to use libreoffice with java 11. Even when java 14 is installed. So i have 2 Java versions installed. is that correct?
Yes you are tight. I dont know how to help in th is topic, if y ou have any solution which may work, please, share.
I am unfortunately not that familiar with the fedora packaging system, but would it be possible to have something like "Requires: Java9+" in the dependency? Then libreoffice could run with any Java version. And the java versions could provide the required information, e.g.: java 9 has: provides: java-9 java 10 has: provides: java-9, java-10 java 11 has: provides: java-9, java-10, java-11
That would be overkill on long run, and wrong from many points of view. i think, package maintainers have enough work to ensure their packages are stable with one system jdk, and adding above or simialrly can really make theirs life very hard. However, rpms cna have boolean requires. So Requires: (java or java-latest) in libreoffice spec, may solve your exact problem.
Requires: (java-headless or java-latest-headless) or Requires: (java-headless or java-latest-openjdk-headless) Just idea. feel free to drop.
that sounds like a perfect solution, at least for me. maybe Caolan can also verify that this should work?
I'm sticking to the documented guidelines: https://fedoraproject.org/wiki/Packaging:Java#BuildRequires_and_Requires if they change I'll follow them
Jiri, is it possible to have all java headless versions providing java-headless? So that rpm -q --whatprovides java-headless does give a list of all installed java-headless versions instead of only java-1.8.0-openjdk-headless-1.8.0.252.b09-1.fc32.x86_64 ?
the version-less provides are for system jre compatible JVM. It definitely is not jdk8 x jdk11:( Once java-11-openjdk-devel is system jdk, *maybe* java-latest-openjdk and java-latest-openjdk-headless can both have versionless JRE provides. But that is for pretty wide and different discussion. Likely atl teast self-contained, but more likely system-wide change for f34 and up.
(In reply to Caolan McNamara from comment #23) > I'm sticking to the documented guidelines: > https://fedoraproject.org/wiki/Packaging:Java#BuildRequires_and_Requires if > they change I'll follow them Right you are. This may be valid, and applicable change. Oliver, can you try that it works and rise it? I will support it.
> Oliver, can you try that it works and rise it? I will support it. you mean creating the libreoffice package and see if it works with java-11? i have no idea of creating .rpm's (never done that), but i can study that a couple of days how fedora packaging works and try it
Kinda yes. fedora packaging is quie easy, clone pkg, and tool fedpkg do all the hardjob. One way is to go with libreoffice, but I would go with much more simple java pacage for beggining. I thought yo are m ore in fedora packaging. Sorry for misjudging. As you are not, it cna be hard for you to rise change in packaging guidelines. I will elaborate then.