Subject: [bug#45403] [PATCH] gnu: zfs: Split into packages specific for each of our major supported kernel versions.

From: Tobias Geerinckx-Rice <[email-masked]>
Date: Fri, 25 Dec 2020 05:09:44 +0100

Hullo RAIDperson!

Thanks for working to improve Guix's currently broken ZFS package!

raid5atemyhomework via Guix-patches via 写道：
> What it changes is that it compiles kernel modules for all 
> guix-provided kernel versions that ZFS currently is rated to 
> support,

However, I oppose this (and not because ‘rated’ sets off my 
corpo-speak alarms :-).  It makes your system.scm tedious to 
maintain, especially if we'd do this for all modules (and why 
not?).

Worse, there's no such thing as ‘a 5.10’ Linux module that loads 
on ‘a 5.10’ Linux kernel.  We still need an easy generic method to 
build modules against their chosen kernel and configuration.

As your patch illustrates, that already exists:

> (define (make-linux-zfs linux-libre)
>   (package
>     (inherit zfs-base)
>     (arguments
>      `(#:linux ,linux-libre)
>        ,@(package-arguments zfs-base))

It just belongs in your system.scm, not in Guix itself.

Kind regards,

T G-R

P.S.nitpick: unfortunately this breaks localisation and can't be 
done:

> +     (string-append (package-description zfs-base)
> +                    "
> +
> +This package is deprecated, use linux-VERSION-zfs packages 
> instead."))))

Descriptions need to be simple self-contained strings, even if it 
means duplicating entire paragraphs.