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

Re: Doesn't kernel-source packages provides kernel-headers?



paul@funkiest.demon.co.uk (Paul J. Keenan) wrote:
>> On Thu, 3 Feb 2000, Colin Watson wrote:
>> > shaulk@israsrv.net.il (Shaul Karl) wrote:
>> > >It is my understanding that each kernel-source package provides
>> > >kernel-headers. Yet kernel-source-2.2.14 does not mention it.
>> > >
>> > >What am I missing?
>> > 
>> > No, kernel-source doesn't provide kernel headers. However, if you
>> > install kernel-package you'll be able to use something like 'fakeroot
>> > make-kpkg kernel_headers' to build yourself a kernel-headers package.
>> > (Obviously you'll need fakeroot, dpkg-dev, possibly devscripts, etc.)
>
>If kernel-source does not provide kernel-headers, then what files are in
>kernel-headers that are not provided by kernel-source ?  What is their
>function ?
>
>I understood (only from inspection, mind you) that kernel-headers was a
>subset of kernel-source provide for compiling other program which needed
>to reference the kernel declarations, but preferred not to compile a
>whole kernel.  Thus it saved them some disk space.  Is this wrong ?

Subtly, yes; well, your understanding of the function of kernel-headers
is pretty accurate, but you're misunderstanding the Provides: line
somewhat. kernel-source does indeed "provide" a superset of the same
files as kernel-headers, but the term "provide" is misleading here, as
it's only in the loose sense of "contain" rather than the stricter sense
of the Debian package Provides: line. In particular, the files aren't in
quite the same places (the kernel-headers postinst script sets up
various symlinks which I'm not sure are in kernel-source).

The easiest way to think about it is that kernel-headers is a binary
package compiled in a slightly unusual way from the kernel-source source
package. Libraries that give you a -dev package are along these lines
too, it's just that their source package isn't normally among the binary
archives. You might find it less confusing to use something like
'apt-get source kernel-source-2.2.14' to get the kernel-source package,
rather than treating it as a binary package.

HTH,

-- 
Colin Watson                                           [cjw44@cam.ac.uk]


Reply to: