On 01/06/2011 01:23 PM, Jarod Wilson wrote:
On Thu, Jan 06, 2011 at 01:13:41PM -0800, JD wrote:
...
>>>> I think this would suffice:
>>>>
>>>> # This file is empty in stock builds, but can be populated with local
>>>> # config option overrides for custom local builds
>>>> Source1000: config-local
>>>>
>>>>
>>>> Then, in %prep, in a loop similar to the if rhel one:
>>>>
>>>> ./merge.pl %{SOURCE1000} $i.tmp> $i
>>>>
>>>>
>>>> Since the file is empty in stock configs, the above in that case would
>>>> simply be a no-op. If its populated by someone doing a local rebuild,
then
>>>> their config options get overlayed on top of the stock ones.
...
>>> Do you even need the for loop? Since you are dealing with just one
>>> local config file?
>>> Or is the purpose of putting it in the loop to superimpose the
>>> local configs on top
>>> of the vanilla configs for all the kernel.*-config files?
>> Yes, the idea is to overlay the changes on every flavor of kernel. In the
>> standard released kernel rpmbuild for x86_64, you get kernel and
>> kernel-debug, and we want the changes stacked on top of both of them. The
>> for loop also makes sure its arch-agnostic.
...
> Would this loop in the spec file do it?
> .
> .
> for i in %{all_arch_configs}
> do
> mv $i $i.tmp
> ./merge.pl %{Source1000} $i.tmp> $i
> rm $i.tmp
> done
Yep. In other words, use the exact same for loop that's already there
inside the '%if 0%{?rhel}' clause, just without the clause and with the
overlay file instead of config-rhel-generic. :)
Thanx Jarod.
I added the loop as you suggest (without the if conditional)
just after the if rhel conditional's endif
I also added it after the loop within the debuginfo block.
It is building now. Will let you know.
Also, to Don Zickus:
I tried your suggestion of putting my local config (which resulted after
make oldconfig)
in ....SOURCES/config-i686-PAE
and ran rpmbuild.
It completely overwrote my configs!
So it does not work.
Cheers,
JD