Bug 1590796 - [java-1.8.0-openjdk] Unqualified provides/requires for (private) JDK libs
Summary: [java-1.8.0-openjdk] Unqualified provides/requires for (private) JDK libs
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: java-1.8.0-openjdk
Version: 28
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: jiri vanek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-06-13 12:18 UTC by Severin Gehwolf
Modified: 2018-07-20 17:41 UTC (History)
8 users (show)

Fixed In Version: java-1.8.0-openjdk-1.8.0.172-12.b11.fc27 java-1.8.0-openjdk-1.8.0.172-12.b11.fc28
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-07-20 16:58:11 UTC


Attachments (Terms of Use)

Description Severin Gehwolf 2018-06-13 12:18:24 UTC
Description of problem:
When installing java-1.8.0-openjdk-devel this brings in java-1.8.0-openjdk-headless and java-1.8.0-openjdk. Some of those packages have provides/requires which are version-less. This won't work for a dependency to get resolved to say a provider like java-openjdk-headless.

Version-Release number of selected component (if applicable):
java-1.8.0-openjdk-1.8.0.171-4.b10.fc28.x86_64

How reproducible:
100%

Steps to Reproduce:
1. rpm -q --provides java-1.8.0-openjdk-headless | grep SUNWprivate

Actual results:
lib.so(SUNWprivate_1.1)(64bit)
libattach.so(SUNWprivate_1.1)(64bit)
libawt_headless.so(SUNWprivate_1.1)(64bit)
libdt_socket.so(SUNWprivate_1.1)(64bit)
libfontmanager.so(SUNWprivate_1.1)(64bit)
libhprof.so(SUNWprivate_1.1)(64bit)
libinstrument.so(SUNWprivate_1.1)(64bit)
libj2gss.so(SUNWprivate_1.1)(64bit)
libj2pcsc.so(SUNWprivate_1.1)(64bit)
libj2pkcs11.so(SUNWprivate_1.1)(64bit)
libjava.so(SUNWprivate_1.1)(64bit)
libjava_crw_demo.so(SUNWprivate_1.1)(64bit)
libjavajpeg.so(SUNWprivate_1.1)(64bit)
libjdwp.so(SUNWprivate_1.1)(64bit)
libjli.so(SUNWprivate_1.1)(64bit)
libjsdt.so(SUNWprivate_1.1)(64bit)
libjsound.so(SUNWprivate_1.1)(64bit)
libjvm.so(SUNWprivate_1.1)(64bit)
liblcms.so(SUNWprivate_1.1)(64bit)
libmanagement.so(SUNWprivate_1.1)(64bit)
libmlib_image.so(SUNWprivate_1.1)(64bit)
libnet.so(SUNWprivate_1.1)(64bit)
libnio.so(SUNWprivate_1.1)(64bit)
libnpt.so(SUNWprivate_1.1)(64bit)
libsaproc.so(SUNWprivate_1.1)(64bit)
libsctp.so(SUNWprivate_1.1)(64bit)
libsunec.so(SUNWprivate_1.1)(64bit)
libunpack.so(SUNWprivate_1.1)(64bit)
libverify.so(SUNWprivate_1.1)(64bit)
libzip.so(SUNWprivate_1.1)(64bit)

Expected results:
Nothing is being provided for private libs.

Additional info:
If there are users who rely on those provides they better switch to a relevant JDK version than to a version of the file which might break.

Comment 2 jiri vanek 2018-06-13 12:28:21 UTC
rpm -q --provides java-openjdk-headless | grep SUNWprivate | wc -l
31

Comment 5 Severin Gehwolf 2018-06-13 12:39:46 UTC
This should fix it. Yes, the regular expression is wrong.

https://src.fedoraproject.org/rpms/java-1.8.0-openjdk/pull-request/8

Comment 6 Severin Gehwolf 2018-06-13 12:53:15 UTC
Same for JDK-10:

https://src.fedoraproject.org/rpms/java-openjdk/pull-request/14

Comment 7 jiri vanek 2018-06-13 13:23:05 UTC
  # fix for https://bugzilla.redhat.com/show_bug.cgi?id=1111349

	

- %global _privatelibs libmawt[.]so.* libattach[.]so.* libawt[.]so.* libextnet[.]so.* libjsig[.]so.* libawt_headless[.]so.* libdt_socket[.]so.* ...	

+ %global _privatelibs libawt_xawt[.]so|libjawt[.]so|libjsoundalsa[.]so|libsplashscreen[.]so|libjli[.]so ...

x

- %global _privatelibs libmawt[.]so.* libattach[.]so.* libawt[.]so.* libextnet[.]so.* libjsig[.]so.* libawt_headless[.]so.* libdt_socket[.]so.* ...
 + %global _privatelibs libjsoundalsa[.]so.*|libsplashscreen[.]so.*|libawt_xawt[.]so.*|libjawt[.]so.*|libjli[.]so.*|libattach[.]so.*|libawt[.]so.*|libextnet[.]so.*|libjsig[.]so.*|libaw..

You removed .* from one, and added in second.  Is it intentional?

Comment 8 Severin Gehwolf 2018-06-13 13:33:45 UTC
(In reply to jiri vanek from comment #7)
>   # fix for https://bugzilla.redhat.com/show_bug.cgi?id=1111349
> 
> 	
> 
> - %global _privatelibs libmawt[.]so.* libattach[.]so.* libawt[.]so.*
> libextnet[.]so.* libjsig[.]so.* libawt_headless[.]so.* libdt_socket[.]so.*
> ...	
> 
> + %global _privatelibs
> libawt_xawt[.]so|libjawt[.]so|libjsoundalsa[.]so|libsplashscreen[.
> ]so|libjli[.]so ...
> 
> x
> 
> - %global _privatelibs libmawt[.]so.* libattach[.]so.* libawt[.]so.*
> libextnet[.]so.* libjsig[.]so.* libawt_headless[.]so.* libdt_socket[.]so.*
> ...
>  + %global _privatelibs
> libjsoundalsa[.]so.*|libsplashscreen[.]so.*|libawt_xawt[.]so.*|libjawt[.]so.
> *|libjli[.]so.*|libattach[.]so.*|libawt[.]so.*|libextnet[.]so.*|libjsig[.]so.
> *|libaw..
> 
> You removed .* from one, and added in second.  Is it intentional?

No, not intentional. JDK 8 is wrong. '.*' needs to be in there. Nice catch!

Comment 9 Severin Gehwolf 2018-06-13 13:41:19 UTC
Should be fixed now.

Comment 10 jiri vanek 2018-06-13 14:24:04 UTC
Thanx. merged.

Comment 11 jiri vanek 2018-06-14 18:16:30 UTC
There remained one unexcluded provide:
It have really stupid name: lib.so(SUNWprivate_1.1)(64bit) Should it be excluded too?

Comment 12 Severin Gehwolf 2018-06-15 07:18:40 UTC
(In reply to jiri vanek from comment #11)
> There remained one unexcluded provide:
> It have really stupid name: lib.so(SUNWprivate_1.1)(64bit) Should it be
> excluded too?

Yes, it should be excluded. I have to admit a great name: "lib" :)

Comment 13 Severin Gehwolf 2018-06-18 11:20:22 UTC
(In reply to jiri vanek from comment #11)
> There remained one unexcluded provide:
> It have really stupid name: lib.so(SUNWprivate_1.1)(64bit) Should it be
> excluded too?

This should fix it:
https://src.fedoraproject.org/rpms/java-1.8.0-openjdk/pull-request/10

Comment 14 Severin Gehwolf 2018-07-02 12:23:22 UTC
Reopening since some packages in Fedora depend on certain private libraries provided by OpenJDK:

libjawt.so()(64bit)
libjava.so()(64bit)
libjvm.so()(64bit)
libverify.so()(64bit)

The provides for libjsig.so needs to be kept since it's mentioned as API for JNI libs which use custom signal handlers:
https://docs.oracle.com/javase/8/docs/technotes/guides/vm/signal-chaining.html

Packages currently in rawhide requiring some OpenJDK-internal libs are:

libjawt.so()(64bit)
-------------------
bolzplatz2006-0:1.0.3-38.fc28.x86_64
eclipse-swt-1:4.8.0-3.fc29.x86_64
jogl2-0:2.3.2-7.fc29.x86_64
libcephfs_jni1-1:12.2.4-1.fc29.x86_64
libreoffice-officebean-1:6.0.3.2-10.fc29.x86_64
mp-0:3.1.0-17.20161124git1f3980.fc29.x86_64
vtk-devel-0:7.1.1-11.fc29.x86_64
vtk-mpich-devel-0:7.1.1-11.fc29.x86_64
vtk-openmpi-devel-0:7.1.1-11.fc29.x86_64

libjava.so()(64bit)
-------------------
pl-jpl-0:7.6.4-3.fc28.x86_64
scilab-0:6.0.0-6.fc29.x86_64
tonto-0:1.44-10.20150312gitbe1657a.fc28.x86_64

libjvm.so()(64bit)
-------------------
collectd-java-0:5.8.0-12.fc29.x86_64
kross-java-0:4.14.3-11.fc28.x86_64
libcephfs_jni1-1:12.2.4-1.fc29.x86_64
libreoffice-ure-1:6.0.3.2-10.fc29.x86_64
mp-0:3.1.0-17.20161124git1f3980.fc29.x86_64
openhft-affinity-0:3.0.6-10.fc29.x86_64
pl-jpl-0:7.6.4-3.fc28.x86_64
portmidi-tools-0:217-22.fc28.x86_64
python3-jep-0:3.7.0-3.fc28.x86_64
scilab-0:6.0.0-6.fc29.x86_64
syslog-ng-java-0:3.16.1-2.fc29.x86_64
tonto-0:1.44-10.20150312gitbe1657a.fc28.x86_64
uwsgi-plugin-jvm-0:2.0.16-2.fc29.x86_64
vrpn-java-0:07.33-12.fc28.x86_64

libverify.so()(64bit)
---------------------
pl-jpl-0:7.6.4-3.fc28.x86_64
scilab-0:6.0.0-6.fc29.x86_64

Comment 15 Severin Gehwolf 2018-07-02 14:02:13 UTC
https://src.fedoraproject.org/rpms/java-1.8.0-openjdk/pull-request/13

Fix for JDK 8.

Comment 16 Severin Gehwolf 2018-07-02 16:59:02 UTC
https://src.fedoraproject.org/rpms/java-openjdk/pull-request/16

Fix for JDK 10.

Comment 17 Kevin Kofler 2018-07-09 22:25:05 UTC
When is this going to be pushed in Bodhi for F27? This update:
https://bodhi.fedoraproject.org/updates/FEDORA-2018-4b0791855d
wants to drag in java-9-openjdk. I don't see a fix in Bodhi yet even for F28.

Comment 18 Fedora Update System 2018-07-10 07:40:00 UTC
java-1.8.0-openjdk-1.8.0.172-12.b11.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2018-e3483fc1b6

Comment 19 Severin Gehwolf 2018-07-10 07:41:02 UTC
(In reply to Kevin Kofler from comment #17)
> When is this going to be pushed in Bodhi for F27? This update:
> https://bodhi.fedoraproject.org/updates/FEDORA-2018-4b0791855d
> wants to drag in java-9-openjdk. I don't see a fix in Bodhi yet even for F28.

Sorry about this. I had to wait until the NSS 3.38 update is in testing since openjdk builds against NSS and an update earlier would have resulted in a dependency issue when installing the update. It's now in testing, so I'm filing the updates this minute.

Comment 20 Fedora Update System 2018-07-10 07:43:35 UTC
java-1.8.0-openjdk-1.8.0.172-12.b11.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-d90ffdf984

Comment 21 Fedora Update System 2018-07-11 19:17:22 UTC
java-1.8.0-openjdk-1.8.0.172-12.b11.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-e3483fc1b6

Comment 22 Fedora Update System 2018-07-11 23:41:56 UTC
java-1.8.0-openjdk-1.8.0.172-12.b11.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-d90ffdf984

Comment 23 Fedora Update System 2018-07-20 16:58:11 UTC
java-1.8.0-openjdk-1.8.0.172-12.b11.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report.

Comment 24 Fedora Update System 2018-07-20 17:41:58 UTC
java-1.8.0-openjdk-1.8.0.172-12.b11.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.