Bug 701568

Summary: Can't build because of a missing BuildRequires
Product: Red Hat Enterprise Linux 6 Reporter: Mathieu Bridon <bochecha>
Component: grubAssignee: Peter Jones <pjones>
Status: CLOSED WONTFIX QA Contact: Release Test Team <release-test-team>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.0   
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-06-13 22:04:56 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
Add a missing BR for grub to build on x86_64 none

Description Mathieu Bridon 2011-05-03 08:59:14 UTC
Description of problem:
grub-0.97-68 can't be rebuilt in RHEL 6.

A dependency is missing on glibc-static.i686, even for the x86_64 package. The actual missing requirement is on /usr/lib/libc.a

Unfortunately, that package doesn't seem to be included in the RHEL 6 x86_64 channels. (I only checked server and server-optional)

# yum repolist
Loaded plugins: changelog, rhnplugin
repo id                                                                  repo name                                                                                           status
epel                                                                     Extra Packages for Enterprise Linux 6 - x86_64                                                      5,877
rhel-x86_64-server-6                                                     Red Hat Enterprise Linux Server (v. 6 for 64-bit x86_64)                                            3,984
rhel-x86_64-server-optional-6                                            RHEL Server Optional (v. 6 64-bit x86_64)                                                           3,004

# yum whatprovides /usr/lib/libc.a
Loaded plugins: changelog, rhnplugin
No Matches found

As such, fixing the problem is two fold:
1. adding the missing Requires in grub.spec
2. including glibc-static.i686 in the x86_64 repository

Trivial patch for 1 is attached. As for 2, that's not something I can provide a patch for... :)

Note that for the patch, I added the BR on the file instead of the package. For some reason, installing glibc-static.{x86_64,i686} works with yum, but it doesn't when trying to build in mock with an EL6 chroot.

Comment 1 Mathieu Bridon 2011-05-03 09:00:47 UTC
Created attachment 496457 [details]
Add a missing BR for grub to build on x86_64

Comment 3 Mathieu Bridon 2011-05-03 11:11:16 UTC
So, out of curiosity, I tried rebuilding the Fedora 16 package in mock, and I get the exact same error.

Adding the missing BR allows me to build the package again.

However, there must be something more, as the package builds fine on Koji (or else, we would all have problems booting our Fedora machines :)

The Koji logs show that there is one package that gets installed by yum-builddep: glibc32. This is the package that provides /usr/lib/libc.a for the build system, and it's the one that makes the whole build succeed on Koji.

Now, where is this package coming from? It doesn't appear as a BR in grub.spec, so it must be something that gets pulled by Koji. But how?

After more investigation (and some help from #fedora-devel), it appears that Koji blocks all 32 bits packages when building a 64 bits one, so glibc-devel.i686 (which provides another BR, /usr/lib/crt1.o) is not available for the chroot.

Enters the glibc32.x86_64 package which provides both /usr/lib/{crt1.o,libc.a}.

I guess grub is just not meant to be built in mock outside of Koji, so this is not a bug after all.

Sorry for the spam.

(I can't seem to close the bug myself as NOTABUG, so not only did I spam developers, I'm also leaving one more open bug on their plate...)

Comment 4 RHEL Program Management 2011-05-04 06:01:15 UTC
Since RHEL 6.1 External Beta has begun, and this bug remains
unresolved, it has been rejected as it is not proposed as
exception or blocker.

Red Hat invites you to ask your support representative to
propose this request, if appropriate and relevant, in the
next release of Red Hat Enterprise Linux.

Comment 5 David Cantrell 2011-06-13 22:04:02 UTC
We're not going to change this in RHEL, but feel free to submit a patch for it in Fedora.

Comment 6 RHEL Program Management 2011-06-13 22:04:56 UTC
Development Management has reviewed and declined this request.  You may appeal
this decision by reopening this request.