Bug 1655938 - -slowdebug packages have non-slowdebug provides
Summary: -slowdebug packages have non-slowdebug provides
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: java-1.8.0-openjdk
Version: 29
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-12-04 09:55 UTC by Severin Gehwolf
Modified: 2019-11-27 20:27 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-11-27 20:27:42 UTC
Type: Bug


Attachments (Terms of Use)
proof of correctnes of PR26 and PR27 (159.66 KB, application/x-xz)
2018-12-10 13:02 UTC, jiri vanek
no flags Details

Description Severin Gehwolf 2018-12-04 09:55:54 UTC
Description of problem:
java-1.8.0-openjdk*-slowdebug packages are intended for JVM developers in order to be able to diagnose issues when things go wrong. Unfortunately some provides of those packages can result in those packages being pulled in inadvertently by dnf. I've seen this happening in a VM of mine when trying to install eclipse-platform. java-1.8.0-openjdk-slowdebug packages got pulled in as dep, probably because of the libjawt.so provides needed by eclipse-swt a dep of eclipse-platform.

Version-Release number of selected component (if applicable):
java-1.8.0-openjdk-1.8.0.191.b12-11.fc29.x86_64

How reproducible:
Non-deterministically as this issue is at the mercy of the dnf dep solver to pull in the "wrong" provider.

Steps to Reproduce (contrived example):
$ mock -r fedora-29-x86_64 --init
$ mock -r fedora-29-x86_64 --install java-1.8.0-openjdk-slowdebug
$ mock -r fedora-29-x86_64 --install eclipse-platform

Observe no release builds get pulled in when eclipse-platform is installed.

or better:

$ mock -r fedora-29-x86_64 --init
$ mock -r fedora-29-x86_64 --install java-1.8.0-openjdk-devel-slowdebug
$ mock -r fedora-29-x86_64 --shell
<mock-chroot> sh-4.4# rpm -q --provides java-1.8.0-openjdk{,-devel,-headless}-slowdebug | grep -v slowdebug

Actual results (from second reproducer):
application()
java-1.8.0-openjdk = 1:1.8.0.191.b12-11.fc29
libjawt.so()(64bit)
libjawt.so(SUNWprivate_1.1)(64bit)
application()
libjawt.so()(64bit)
libjawt.so(SUNWprivate_1.1)(64bit)
/usr/bin/jjs
libjava.so()(64bit)
libjava.so(SUNWprivate_1.1)(64bit)
libjsig.so()(64bit)
libjvm.so()(64bit)
libjvm.so(SUNWprivate_1.1)(64bit)
libverify.so()(64bit)
libverify.so(SUNWprivate_1.1)(64bit)

Expected results:
<nothing>

Additional info:
We should filter all provides for the slowdebug packages.

Comment 1 jiri vanek 2018-12-04 10:51:28 UTC
Hi!

Already known issue. Test is under construction and fix will arrive with it.

Comment 2 jiri vanek 2018-12-04 11:00:42 UTC
Jandrlik, test needs to be enhanced that slowdebug do not have those "normla" provides (like libawt or libjvm)

Comment 3 Severin Gehwolf 2018-12-04 11:02:33 UTC
OK. According to [1] this might work as a fix:

# Exclude all provides from the -slowdebug directory. See RHBZ#1655938
%global __provides_exclude_from ^%{uniquesuffix -- %{debugbuild_parameter}}/.*$


[1] https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering#Preventing_files.2Fdirectories_from_being_scanned_for_deps_.28pre-scan_filtering.29

Comment 4 jiri vanek 2018-12-06 10:01:21 UTC
(In reply to Severin Gehwolf from comment #3)
> OK. According to [1] this might work as a fix:
> 
> # Exclude all provides from the -slowdebug directory. See RHBZ#1655938
> %global __provides_exclude_from ^%{uniquesuffix --
> %{debugbuild_parameter}}/.*$
> 
> 
> [1]
> https://fedoraproject.org/wiki/Packaging:
> AutoProvidesAndRequiresFiltering#Preventing_files.
> 2Fdirectories_from_being_scanned_for_deps_.28pre-scan_filtering.29

+ for techpreview:
  %global _privatelibs   [.]so.*
?

Comment 5 Severin Gehwolf 2018-12-06 10:12:46 UTC
(In reply to jiri vanek from comment #4)
> (In reply to Severin Gehwolf from comment #3)
> > OK. According to [1] this might work as a fix:
> > 
> > # Exclude all provides from the -slowdebug directory. See RHBZ#1655938
> > %global __provides_exclude_from ^%{uniquesuffix --
> > %{debugbuild_parameter}}/.*$
> > 
> > 
> > [1]
> > https://fedoraproject.org/wiki/Packaging:
> > AutoProvidesAndRequiresFiltering#Preventing_files.
> > 2Fdirectories_from_being_scanned_for_deps_.28pre-scan_filtering.29
> 
> + for techpreview:
>   %global _privatelibs   [.]so.*
> ?

Seems reasonable.

Comment 6 jiri vanek 2018-12-06 10:16:14 UTC
There is wrong bugid in this palce in spec:
is: https://bugzilla.redhat.com/show_bug.cgi?id=1111349
shouldbe: https://bugzilla.redhat.com/show_bug.cgi?id=1590796
for: %global _privatelibs

will include it in this fix too.

Comment 7 Severin Gehwolf 2018-12-06 10:29:59 UTC
(In reply to jiri vanek from comment #6)
> There is wrong bugid in this palce in spec:
> is: https://bugzilla.redhat.com/show_bug.cgi?id=1111349
> shouldbe: https://bugzilla.redhat.com/show_bug.cgi?id=1590796
> for: %global _privatelibs
> 
> will include it in this fix too.

Well both are valid bugs for _privatelibs.
https://bugzilla.redhat.com/show_bug.cgi?id=1111349#c28 mentions 'libmawt.so()(64bit)'. So it's related. I wound't drop it.

Comment 8 jiri vanek 2018-12-06 11:16:03 UTC
ok. will jsut add it

Comment 9 jiri vanek 2018-12-10 13:02:36 UTC
Created attachment 1513064 [details]
proof of correctnes of PR26 and PR27

The logs from rpm -q --provides and rpm -ql between current build, and CI for PR 25, 26 and 27.

Diffing them have not shown any regressions and appear to be doing as the fixes meant to do.

Review welcomed.

Comment 11 Ben Cotton 2019-10-31 20:16:27 UTC
This message is a reminder that Fedora 29 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 29 on 2019-11-26.
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 '29'.

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 29 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.

Comment 12 Ben Cotton 2019-11-27 20:27:42 UTC
Fedora 29 changed to end-of-life (EOL) status on 2019-11-26. Fedora 29 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.


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