Bug 1732767

Summary: gcc-toolset-9-annobin requires gcc-toolset-9
Product: Red Hat Enterprise Linux 8 Reporter: Martin Cermak <mcermak>
Component: gcc-toolset-9-annobinAssignee: Nick Clifton <nickc>
Status: CLOSED ERRATA QA Contact: Martin Cermak <mcermak>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 8.1CC: fweimer, mcermak, nickc
Target Milestone: rc   
Target Release: 8.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: gcc-toolset-9-annobin-8.77-4.el8 Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-11-05 21:24:58 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 Martin Cermak 2019-07-24 10:15:12 UTC
The gcc-toolset-9-annobin package Requires the metapackage gcc-toolset-9.  That means, it can't be installed independently on other gcc-toolset-9 components such as ltrace, dwz or others.   Please, drop this dependency.

The dependency on gcc-toolset-9-runtime is good enough, I believe.  Not sure about adding Requires: gcc-toolset-9-gcc.  That might possibly make sense.

Comment 1 Florian Weimer 2019-07-24 10:42:44 UTC
(In reply to Martin Cermak from comment #0)
> The gcc-toolset-9-annobin package Requires the metapackage gcc-toolset-9. 
> That means, it can't be installed independently on other gcc-toolset-9
> components such as ltrace, dwz or others.   Please, drop this dependency.

What is the use case for annobin without gcc-toolset-*?  annocheck?  Thanks.

Comment 2 Nick Clifton 2019-07-24 11:38:32 UTC
Fixed in: gcc-toolset-9-annobin-8.77-3.el8

Comment 3 Martin Cermak 2019-07-24 11:52:14 UTC
(In reply to Florian Weimer from comment #1)
> (In reply to Martin Cermak from comment #0)
> > The gcc-toolset-9-annobin package Requires the metapackage gcc-toolset-9. 
> > That means, it can't be installed independently on other gcc-toolset-9
> > components such as ltrace, dwz or others.   Please, drop this dependency.
> 
> What is the use case for annobin without gcc-toolset-*?  annocheck?  Thanks.

Not sure I understand.  gcc-toolset-* expands also e.g. to gcc-toolset-9-ltrace
and that's clearly unrelated.  gcc-toolset-9-annobin in combination with
gcc-toolset-9-gcc might be used for compilation using rpm macros coming from
redhat-rpm-release (per bz1727303).  If annobin is installed without any other
gcc-toolset-9 package but gcc-toolset-9-runtime, then, yes, the use case is 
just annocheck, as you say, I think.

Comment 4 Martin Cermak 2019-07-24 11:56:25 UTC
... so maybe gcc-toolset-9-annobin-annocheck.rpm should Require gcc-toolset-9-runtime, and gcc-toolset-9-annobin.rpm should Require gcc-toolset-9-gcc (+ possibly gcc-toolset-9-runtime) (?)

Comment 5 Florian Weimer 2019-07-24 12:07:32 UTC
I was just wondering what the use case is for installing gcc-toolset-9-annobin by itself.  If the meta-package pulls in everything (despite being named gcc-*), that's indeed too much.

From a pure correctness perspective, I think gcc-toolset-9-gcc should have a dependency like this:

Requires: (gcc-toolset-9-annobin if annobin)

So if you have system annobin installed, you also get the GTS version of it.

(Sorry for derailing your bug report.)

Comment 6 Martin Cermak 2019-07-24 12:19:39 UTC
Nick, thanks for looking into this.  We are not quite there yet though, it seems:

=======
   8.1 Server x86_64 # yum install gcc-toolset-9-annobin-8.77-3.el8.x86_64.rpm 
[ ... stuff deleted ... ]
Error: 
 Problem: conflicting requests
  - nothing provides /opt/rh/gcc-toolset-9-gcc/enable needed by gcc-toolset-9-annobin-8.77-3.el8.x86_64
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
(1)   8.1 Server x86_64 # 
=======

(In reply to Florian Weimer from comment #5)
> From a pure correctness perspective, I think gcc-toolset-9-gcc should have a
> dependency like this:
> 
> Requires: (gcc-toolset-9-annobin if annobin)
> 
> So if you have system annobin installed, you also get the GTS version of it.

Sounds good, plus I think that gcc-toolset-9-annobin should depend on gcc-toolset-9-gcc,
since without it, it is of no use.

Comment 7 Nick Clifton 2019-07-24 12:56:30 UTC
Sorry, I used the wrong scl macro (scl_require insted of scl_require_package).
This should now be fixed in gcc-toolset-9-annobin-8.77-4.el8, but I will wait
for the gating tests to pass before changing this BZ.

Comment 11 Nick Clifton 2019-07-24 14:32:38 UTC
CI gating has passed - yay - setting to MODIFIED.

Comment 15 errata-xmlrpc 2019-11-05 21:24:58 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2019:3491