Hide Forgot
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.
Created attachment 496457 [details] Add a missing BR for grub to build on x86_64
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...)
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.
We're not going to change this in RHEL, but feel free to submit a patch for it in Fedora.
Development Management has reviewed and declined this request. You may appeal this decision by reopening this request.