Description of problem:
The mkinitrd source rpm requires dietlibc to be present to build, but does not
specify that BuildRequires: dietlibc (or /usr/bin/diet). If it's not present
during build, the following errors occur:
make: Entering directory `/home/bob/rpmroot/BUILD/mkinitrd-3.4.28/nash'
diet cc -Wall -DVERSION=\"3.4.28\" -g -c -o nash.o nash.c
make: diet: Command not found
make: *** [nash.o] Error 127
Processing files: mkinitrd-3.4.28-1
error: File not found: /home/bob/rpmroot/tmp/mkinitrd-root/sbin/nash
error: File not found by glob:
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Ensure dietlibc package is not installed.
2. Attempt to rebuild mkinitrd source RPM.
3. Observe errors.
Created attachment 89559 [details]
Patch that fixes the problem
Noticed the same problem here.
Created attachment 89560 [details]
patch that fixes the problem
Figured out that it is not just a build require it is a full fledged require.
This problem is also in the Phoebe beta and so we should fix it before 8.1 comes
Umm, no. It's linked statically, so it's definitely not needed at runtime. And
the build time dep can't be added because dietlibc doesn't exist on all arches
and rpm doesn't have the concept of arch colouring for build deps.
No arch coloring of build dependencies? Then what is this fragment of the
kernel-2.4.18-18.8.0.src.rpm spec file doing? Isn't this exactly the kind of
thing that would be needed for mkinitrd?
%ifarch s390 s390x
BuildRequires: gcc >= 2.95.3
BuildRequires: gcc >= 2.96-75
BuildRequires: gcc >= 2.96-98
that bit in the kernel doesn't work the way it should -- the dependencies don't
get coded in the header (though you could argue it's better then nothing I guess).