Red Hat Bugzilla – Bug 81460
make rpm kernel.spec fails
Last modified: 2007-04-18 12:49:37 EDT
From Bugzilla Helper:
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR
Description of problem:
Trying to do a make rpm kernel.spec with the kernel sources on RH 8.0 fails.
The problem is caused by the second last line in the Makefile, where it uses
rpm -ta instead of rpmbuild -ta. It appears that RH itself is build binary
RPMS from the source RPMs for RH 8.0 on a non-RH 8.0 system.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1.Install all packages required to make kernel from source
3.make rpm kernel.spec
Actual Results: After spending a long time building the new kernel, the make
script aborts with an error of "rpm -ta unrecognised option"
Expected Results: New kernel RPM should have been generated.
the kernel is actually produced from the kernel-2.4.18-14.src.rpm (which is on
the second half of the cd's). What you have done is built a kernel-source
kernel and used an upstream feature "make rpm". However that feature is not
complete and indeed doesn't work in RHL 8.0. Alan Cox has fixed that 2 days ago
in his 2.4.21-pre3-ac2 kernel and it'll be fixed in the next RHL release.
You mean to say that the feature to make a binary rpm out of kernel-2.4.18-
19.8.0.src.rpm is not available? I noticed that my steps listed above for
reproduction were missing a step. Here is the sequence of steps that I
1) rpm -ivh kernel-2.4.18-19.8.0.src.rpm
2) cd /usr/src/linux-2.4
3) make menuconfig
4) make kernel.spec (this is the step I failed to list)
5) make rpm.
Step (5) failed until I edited the Makefile and changed the second last line
and replaced rpm with rpmbuild. Once I did that everything worked fine and I
got a kernel-x.x.x.rpm.
Is the above process not yet available with RHL 8.0?
the above process hasn't been available ever really.
rpmbuild --rebuild --target=i686 kernel-2.4.18-14.src.rpm is how you get
binaries from a source rpm normally; you can also rpm -i the src.rpm and
rpmbuild -ba the spec.
Of course your steps look very convenient, and it'll work in the next release
but it's NOT the same rpm steps Red Hat takes.
If the steps you mentions are followed then how would one get kernel
customizations into the kernel rpm? It appears that in your process, make
menuconfig is never executed, hence there seems no way to get any
customizations into the custom kernel rpm.
make menuconfig generates a .config file.
if you rpm -i the src.rpm all the config files that are used for building the
rpm's are put in /usr/src/redhat/SOURCES with names like
kernel-2.4.18-i686.config (for the i686 single processor kernel). Just replace
that with the .config you generated and "rpmbuild -ba --target i686
kernel-2.4.spec" (if you only want to get the 1 cpu kernel you can edit the top
of the spec to disable the smp and bigmem kernels to save build time)
Ahh...ok, thanks. I retract the bug then :)