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

Jarod Wilson jwilson at redhat.com
Fri Mar 30 15:27:30 UTC 2007


Chuck Ebbert wrote:
> 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'.)

Done. All changes have been committed to the FC-6 kernel tree, as of
build 1.2939. Next up, devel... :)

-- 
Jarod Wilson
jwilson at redhat.com


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 251 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/fedora-kernel-list/attachments/20070330/baff0102/attachment.sig>


More information about the Fedora-kernel-list mailing list