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: