Subject: Re: bug#32167: Kernel 'build' directory in the store is a broken symbolic link

From: Sarah Morgensen <[email-masked]>
Date: Fri, 24 Sep 2021 17:51:39 -0700

Hi all,

[email-masked] (Ludovic Courtès) writes:

> Hi,
>
> Mark H Weaver <[email-masked]> skribis:
>
>> Danny Milosavljevic <[email-masked]> writes:
>>
>>> On Mon, 16 Jul 2018 18:55:11 +0100 (BST)
>>> <[email-masked]> wrote:
>>>
>>>> It would be good to keep the build directory though, since it's
>>>> expected to exist, and it's easier to just download a module's
>>>> source and compile it and test it.
>>>
>>> I agree.
>>>
>>> /run/booted-system/kernel/lib/modules/4.17.3-gnu is in the store
>>> anyway so it will be seen by the GC.
>>>
>>> The fix would be in linux-libre.
>>
>> If we were to preserve the kernel build directory as a store item, and
>> keep a link from the modules directory to the build directory, that
>> would greatly increase the size of the most minimal system that users
>> could build.
>
> Yeah, we shouldn’t do that IMO.
>
>> If the intent here is to allow support for out-of-tree kernel modules,
>> then fixing these symlinks would not solve the problem, and it's not
>> clear to me that fixing them would be part of a proper solution on
>> GuixSD.  GuixSD is not a system where you can simply compile a kernel
>> module manually and install it, because our module directory is
>> immutable.  If the goal is to support building out-of-tree kernel
>> modules, that's a separate discussion that deserves its own "wishlist"
>> bug report, I think.
>
> I agree.
>
> Ludo’.

I am closing this old bug since the broken 'build' symlink no longer
exists (nor do any other broken symlinks, as far as I can tell).

As for building out-of-tree kernel modules, we now have
linux-module-build-system, which uses `make-linux-module-builder', which
builds the 'build' directory straight from the linux source with `make
modules_prepare'.  There are some improvements to be had there, for
sure, but like mentioned above, that deserves its own wishlist item.

--
Sarah