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. :)
--
Jarod Wilson
jarod(a)redhat.com