Needed: An easier way to build a subset of kernel packages

Chuck Ebbert cebbert at redhat.com
Fri Mar 30 13:59:06 UTC 2007


Jarod Wilson wrote:
> Chuck Ebbert wrote:
>> Jarod Wilson wrote:
>>  
>>> The minimalist approach that comes to mind is to make all the %define
>>> build* bits all set to 1/enabled by default, and only flip them to
>>> disabled where appropriate, so they'd be equivalent to your allow* idea,
>>> in that if you disable them at the top of the spec, they'd stay
>>> disabled.
>>>
>>>     
>>
>> I like this; right now there are surprises there for the unwary who
>> think they can disable things that way.
>>   
> 
> I've implemented enabling/disabling certain builds at the very top of
> the spec file, and anything you set to not build at the top will NOT be
> turned back on later by an ifarch/ifnarch/etc -- all those have been
> modified such that they only disable things compared with the defaults
> set at the top.
> 
> Turns out the complexity of adding --with/--without support only
> resulted in the on/off lines at the top of the spec being slightly
> longer, so one can now additionally pass in, say, --without xen, on the
> rpmbuild line to disable building a xen kernel. For example, here's the
> results of a test build using the modified spec:
> 
> $ rpmbuild -bb --without xen --without kdump --without debug
> kernel-2.6.spec
> [...]
> Wrote: /data/buildroot/RPMS/x86_64/kernel-2.6.20-1.2937.fc6.x86_64.rpm
> Wrote:
> /data/buildroot/RPMS/x86_64/kernel-debuginfo-2.6.20-1.2937.fc6.x86_64.rpm
> Wrote:
> /data/buildroot/RPMS/x86_64/kernel-debuginfo-common-2.6.20-1.2937.fc6.x86_64.rpm
> 
> Wrote:
> /data/buildroot/RPMS/x86_64/kernel-devel-2.6.20-1.2937.fc6.x86_64.rpm
> Wrote:
> /data/buildroot/RPMS/x86_64/kernel-headers-2.6.20-1.2937.fc6.x86_64.rpm
> Executing(%clean): /bin/sh -e /data/buildroot/tmp/rpm-tmp.44498
> + umask 022
> + cd /data/buildroot/BUILD
> + cd kernel-2.6.20
> + rm -rf /data/buildroot/tmp/kernel-2.6.20-1.2937.fc6-root
> + exit 0
> 
> Results are exactly as expected/desired. Similar results have been
> observed on an i686 build.
> 
> Here's another thought... Would be simple enough to add one more flag,
> along the lines of "--without flavo{,u}rs" that automagically flipped
> off everything but the base kernel build (+debuginfo, devel and
> headers). That's actually likely to be the thing folks would most
> commonly want to do. Worth adding?

An option to do --with=up or --with=smp would be a nice addition if it's
not too much added complexity. (That would build only 'up' or 'smp'.)




More information about the Fedora-kernel-list mailing list