Bug 1815240

Summary: libreoffice requires java 1.8, even tho java 13 is installed
Product: [Fedora] Fedora Reporter: bugzilla
Component: libreofficeAssignee: Caolan McNamara <caolanm>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: ahughes, caolanm, dtardon, erack, jerboaa, jvanek, pmikova, redhat, sbergman
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-06-16 14:27:55 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description bugzilla 2020-03-19 19:40:25 UTC
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:

Comment 1 Caolan McNamara 2020-03-19 20:16:03 UTC
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

Comment 2 bugzilla 2020-03-20 07:16:39 UTC
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.

Comment 3 redhat 2020-04-15 13:43:51 UTC
What could be the solution to this problem? In the package of LibreOffice or Java?

Comment 4 Caolan McNamara 2020-04-16 08:15:42 UTC
I don't see what can be done on the libreoffice side given the documented guidelines which the package adheres to

Comment 5 bugzilla 2020-04-16 09:44:04 UTC
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.

Comment 6 jiri vanek 2020-04-16 10:13:41 UTC
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.

Comment 7 bugzilla 2020-04-16 10:43:01 UTC
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?

Comment 8 jiri vanek 2020-04-16 11:08:53 UTC
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.

Comment 9 jiri vanek 2020-04-16 11:09:17 UTC
moving to rawhide. As for f32 and lower there is nothing to do.

Comment 10 jiri vanek 2020-04-16 11:10:33 UTC
(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.

Comment 11 bugzilla 2020-04-16 11:23:15 UTC
> 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

Comment 12 jiri vanek 2020-04-16 11:31:58 UTC
(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.

Comment 13 bugzilla 2020-04-16 11:37:38 UTC
> 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!

Comment 14 bugzilla 2020-04-16 11:41:40 UTC
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.

Comment 15 bugzilla 2020-04-16 11:42:18 UTC
correction: not use openjdk 8, my bad

Comment 16 jiri vanek 2020-04-16 11:44:39 UTC
If you ship oracle jdk, you are subject of oracle licensing, bug theirs support. Fedora do not ship Oracle JDK. It even can not.

Comment 17 bugzilla 2020-06-13 09:33:53 UTC
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?

Comment 18 jiri vanek 2020-06-15 12:26:33 UTC
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.

Comment 19 bugzilla 2020-06-15 16:39:18 UTC
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

Comment 20 jiri vanek 2020-06-16 13:20:59 UTC
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.

Comment 21 jiri vanek 2020-06-16 13:21:51 UTC
Requires: (java-headless or java-latest-headless)
or
Requires: (java-headless or java-latest-openjdk-headless)

Just idea. feel free to drop.

Comment 22 bugzilla 2020-06-16 14:25:17 UTC
that sounds like a perfect solution, at least for me.
maybe Caolan can also verify that this should work?

Comment 23 Caolan McNamara 2020-06-16 14:27:55 UTC
I'm sticking to the documented guidelines: https://fedoraproject.org/wiki/Packaging:Java#BuildRequires_and_Requires if they change I'll follow them

Comment 24 bugzilla 2020-06-16 14:33:10 UTC
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 ?

Comment 25 jiri vanek 2020-06-17 09:42:51 UTC
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.

Comment 26 jiri vanek 2020-06-17 09:44:41 UTC
(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.

Comment 27 bugzilla 2020-06-17 09:56:48 UTC
> 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

Comment 28 jiri vanek 2020-06-18 08:54:09 UTC
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.