[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Single kernel package discussion.



On Mon, 16 May 2005, Christian T. Steigies wrote:

Can I build kernel-headers-2.6.11-1 as an m68k.deb or does that conflict
with other arches?
Do I need a separate kernel-headers-2.6.11-1-m68k package? m68k is doing
fine without any 2.6 kernel headers so far, the buildds use a generic k-h
package.
I don't think we need subarch kernel-headers, so I silently skip your third
level.
When I built kernel-headers-2.6.11-1, I got a 5MB package, which I find
rather big. It includes include/asm-* for all 11 subarches or maybe more, do
I really need to include all them in m68k package or can I remove everything
but m68k? Can this be an option in kernel-package? Or maybe is it already?

Christian

Hi Christian,

Those are very good questions. I think, we should start working towards some kind of kernel policy, which would mandate what goes where. Now it is one hell of a mess with every architecture doing something slightly different.

For example on i386 we have the following packages for 2.6.11:

k-h-$(version)-$(abiname)
k-h-$(version)-$(abiname)-i386
k-h-$(version)-$(abiname)-$(flavour)

First one is the largest and contains most of the headers, including include/asm-generic and include/asm-i386. Second one is a dummy package /usr/share/doc/kernel-headers-2.6.11-1-i386/*, which depends on _all_ k-h-$(version)-$(abiname)-$(flavour) packages. It's purpose is not very clear to me. Finally, the third one is flavour specific, which contains a bunch of links into /usr/src/k-h-$(version)-$(abiname) and the following files:

include/linux/autoconf.h
include/linux/compile.h
include/linux/version.h
include/config/*
.config
.extraversion
Module.symvers

So, I think that

a) it is ok to build the main header package as just m68k.deb (without inserting m68k anywhere in the name), as all arches seem to be doing that.

b) if you don't have any subarches/flavours, then probably that's all you need;

c) you should not include any other asm-* directories besides asm-generic and asm-m68k. Other arches are accomplishing it by specifying a script to run by during 'make-kpkg kernel-headers' via the HEADER_CLEAN_HOOK mechanism. This script then copies required extra stuff into the build directory and removes unneeded asm-directories.

I would be very interested to hear how your build infrastracture correlates with the prototype common kernel-image code, which can be found in branches/kernel-image-2.6.11 directory in svn.

Best regards,

Jurij Smakov                                        jurij@wooyd.org
Key: http://www.wooyd.org/pgpkey/                   KeyID: C99E03CC



Reply to: