Pete Zaitcev wrote:
On Wed, 21 Feb 2007 17:26:49 -0500, "Chris Taylor"
<chtaylo4(a)gmail.com> wrote:
># now run oldconfig over all the config files
>for i in *.config
>since there are different .config files for each iteration of the kernel (
>i.e kernel-2.6.19-i586.config vs kernel-2.6.18-i586.config) should the
>.spec file be specific to the kernel that it's intended for?
I suspect that you're mistaken in your diagnosis. The scriptlet you
quoted runs in the top of the build tree. A few lines earlier, this
happens:
cp -f %{all_arch_configs} .
The dot was removed, then untarred and patched, at the beginning of build.
Thus, the *.config is not globbed over a bunch of different configs left
over in the unclean .../SOURCES/. It cannot possibly run across different
revisions.
Right? Or I am missing something?
About one year ago in kernel-2.6.15-1.1977_FC5 there was a problem
with the .spec not defending itself against old *.config files. See
http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=182950
In the .spec for the current kernel-2.6.20-1.2936.fc7 the defense
is contained in lines such as:
%define all_arch_configs $RPM_SOURCE_DIR/kernel-%{kversion}-*.config
which includes %{kversion} in the relevant filenames. However, kversion
is only 2.6.%{sublevel}, so the defense is not necessarily exhaustive.
... You're still advised to remove
old sources before running rpm -i on an SRPM.
This advice confirms that some .spec files do/did have such misfeatures;
and/or the misdesign of rpm for not anticipating the use of SOURCES
as an uncontrolled cache, multiple simultaneous builds [inhibiting
"rm -f SOURCES/*"], etc.
--
John Reiser, jreiser(a)BitWagon.com