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

Re: Bug#336732: /lib/modules/*/build symlink should be ignored when checking if kernel is installed



On Mon, 7 Nov 2005 07:44:19 +0100, Sven Luther <sven.luther@wanadoo.fr> said: 

> On Sun, Nov 06, 2005 at 11:17:53PM -0600, Manoj Srivastava wrote:
>> On Sun, 6 Nov 2005 18:12:48 +0100, Sven Luther
>> <sven.luther@wanadoo.fr> said:
>> 
>> > On Sun, Nov 06, 2005 at 10:57:13AM -0600, Manoj Srivastava wrote:
>> >> > There is no reason that the linux-headers packages could not
>> >> > be used to build out-of-tree modules using the symlink,
>> >> > without having the linux-image installed, so this doesn't
>> >> > work, even though it looks like a seducing proposal.
>> >> 
>> >> Third party modules which have been integrated into Debian can
>> >> still be built, without the linux-image installed, by
>> >> a) cd /usr/src/kernel-headers-foo, call make-kpkg
>> >> b) KSRC=/usr/src/kernel-headers-foo, call make-kpkg
>> 
>> > Yeah, hear yourself, because you don't feel like adding a simple
>> > exception to the check for build, or do a find -name \*.ko as
>> > Martin suggested, each and all the packaged modules need to be
>> > modified, as well as all third party module which are not
>> > packaged and depend on the build symlink working.
>> 
>> When I, as a user, build kernel images, on make install, it creates
>> source and build links, pointing to the directory where the sources
>> lie. When I package the image up, it too comes with a nice source
>> and build links.

> Sure, whatever, but what is really needed here is that user-compiled
> kernel package follow the same layout as the official kernels,
> namely the -headers providing all the needed stuff to build
> out-of-tree modules, *AND* include the build symlink. The source
> symlink is bogus, and has been removed as such, only the build
> symlink should be used. We discussed this something like 6 month ago
> here, i believe.

        That's silly. I have compiled a kernel image, I have the
 sources lying around, and now I must compile a headers package
 and install it, duplicating loads of files, just to  compile a
 module? Why? Upstream Makefile already install the source and build
 links, which work, why go out of our way to remove them to make the
 end user install yet another package?

>> So kernel image packages ship with source links, and build
>> links. Even if I did not ask the question preinst, the packages
>> would conflict, since the same files belong in both.

> Indeed, but what we, the kernel team, are asking you on this point,
> is to change the way you handle it, and you are resisting for no
> good reason, except the way you always did it, or whatever.

        The question is, what benefit is derived for the common user
 with insisting that the source and build links are taken out
 of the kernel image?


        a) If I compile and install a kernel image on the same
           machine, the build symlinks should just work.
        b) if I install a kernel header package, but do not have
           sources, the /lib/modules/$(uname -r)/build trick should
           work. 
        c) If i do not have a image installed, just a header packages,
           it should be possible to still compile third party modules.

        I think that use cases a and b are by far the most common
 cases, and should be catered to work out of the box. case 3 requires
 you to set KSRC, but it is ewasy enough to set up a wrapper.

        manoj
-- 
There are bugs and then there are bugs.  And then there are bugs. Karl
Lehenbauer
Manoj Srivastava     <srivasta@acm.org>    <http://www.golden-gryphon.com/>
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C



Reply to: