GNU bug report logs -
#70642
[PATCH v0] gnu: zfs: Update to 2.2.3
Previous Next
Reported by: antlers <antlers <at> illucid.net>
Date: Mon, 29 Apr 2024 08:27:01 UTC
Severity: normal
Tags: patch
Done: Christopher Baines <mail <at> cbaines.net>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 70642 in the body.
You can then email your comments to 70642 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
guix-patches <at> gnu.org
:
bug#70642
; Package
guix-patches
.
(Mon, 29 Apr 2024 08:27:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
antlers <antlers <at> illucid.net>
:
New bug report received and forwarded. Copy sent to
guix-patches <at> gnu.org
.
(Mon, 29 Apr 2024 08:27:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/file-systems.scm (zfs): Update to 2.2.3
---
I did the bare minimum to build v2.2.x after mounting my array elsewhere and
inadvertently catching a dependance on feature 'com.klarasystems:vdev_zaps_v2'.
Specifically, I removed substitutions on files which no longer exist and added
new ones until it built. Hence I can make no claim that this is exaustive, but
I can mount the array and nothing's broken that wasn't already (ie. ZED).
I've made a habit of mentioning how to run this because it's not documented.
You have to:
a.) build it against your current kernel (<=v6.7, lts is currently 6.6) by
setting the package's '#:linux' argument.
b.) ensure that the module is loaded by either creating a
'kernel-module-loader' service or building the module into the kernel.
A few additional notes-to-self:
- Combining 'a' with the latter approach to 'b' means building the kernel
twice, when (IIRC) 'linux-module-build-system' packages often depend on
target sources rather than outputs? We should probably be able to set
`#:linux` to (or infer from it) the headers or whatever's needed without
depending on a full kernel build.
- ZFS Event Daemon (ZED) fails to start because it thinks it lives in
'/gnu/store/...-zfs-2.x.x/var/run', and I don't even see an option to
override it from the command-line. Seems to have been like that for a while.
Should be a quick fix by setting '@runstatedir@' correctly, but I doubt
anyone's clamoring for it and am moving on for now -- could toss in a fix for
that with the next point release?
gnu/packages/file-systems.scm | 36 ++++++++++++++---------------------
1 file changed, 14 insertions(+), 22 deletions(-)
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index 8afd853350..8e85b295cf 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -1442,7 +1442,7 @@ (define args
(define-public zfs
(package
(name "zfs")
- (version "2.1.14")
+ (version "2.2.3")
(outputs '("out" "module" "src"))
(source
(origin
@@ -1451,7 +1451,7 @@ (define-public zfs
"/download/zfs-" version
"/zfs-" version ".tar.gz"))
(sha256
- (base32 "0gzansmin40llxxh2zkgpdyp41ikd8s5hv5mpwhpcivk1q8fv7sh"))))
+ (base32 "1hqsv2skymrhzg9n94bcna8r7m1zl30wjb5knaw43j659vri599h"))))
(build-system linux-module-build-system)
(arguments
(list
@@ -1500,12 +1500,6 @@ (define-public zfs
"man/man7/zpool-features.7")
(("/usr/share/zfs/compatibility.d")
(string-append #$output "/share/zfs/compatibility.d")))
- (substitute* "etc/Makefile.in"
- ;; This just contains an example configuration file for
- ;; configuring ZFS on traditional init systems, skip it
- ;; since we cannot use it anyway; the install target becomes
- ;; misdirected.
- (("= default ") "= "))
(substitute* "lib/libzfs/os/linux/libzfs_util_os.c"
;; Use path to /gnu/store/*-kmod in actual path that is
;; exec'ed.
@@ -1516,9 +1510,17 @@ (define-public zfs
;; Just use 'modprobe' in message to user, since Guix
;; does not have a traditional /sbin/
(("'/sbin/modprobe ") "'modprobe "))
- (substitute* "contrib/Makefile.in"
- ;; This is not configurable nor is its hard-coded /usr prefix.
- ((" initramfs") ""))
+ (substitute* "configure"
+ (("/etc/default")
+ (string-append #$output "/etc/default"))
+ (("/etc/bash_completion.d")
+ (string-append #$output "/etc/bash_completion.d")))
+ (substitute* "Makefile.in"
+ (("/usr/share/initramfs-tools")
+ (string-append #$output "/usr/share/initramfs-tools")))
+ (substitute* "contrib/initramfs/Makefile.am"
+ (("/usr/share/initramfs-tools")
+ (string-append #$output "/usr/share/initramfs-tools")))
(substitute* "module/os/linux/zfs/zfs_ctldir.c"
(("/usr/bin/env\", \"umount")
(string-append (search-input-file inputs "/bin/umount")
@@ -1535,18 +1537,8 @@ (define-public zfs
(substitute* "config/zfs-build.m4"
(("\\$sysconfdir/init.d")
(string-append #$output "/etc/init.d")))
- (substitute* '("etc/zfs/Makefile.am"
- "cmd/zed/Makefile.am")
+ (substitute* '("cmd/zed/Makefile.am")
(("\\$\\(sysconfdir)") (string-append #$output "/etc")))
- (substitute* "cmd/vdev_id/vdev_id"
- (("PATH=/bin:/sbin:/usr/bin:/usr/sbin")
- (string-append "PATH="
- (dirname (which "chmod")) ":"
- (dirname (which "grep")) ":"
- (dirname (which "sed")) ":"
- (dirname (which "gawk")))))
- (substitute* "contrib/pyzfs/Makefile.in"
- ((".*install-lib.*") ""))
(substitute* '("Makefile.am" "Makefile.in")
(("\\$\\(prefix)/src") (string-append #$output:src "/src")))
(substitute* (find-files "udev/rules.d/" ".rules.in$")
--
2.41.0
Reply sent
to
Christopher Baines <mail <at> cbaines.net>
:
You have taken responsibility.
(Mon, 13 May 2024 08:58:01 GMT)
Full text and
rfc822 format available.
Notification sent
to
antlers <antlers <at> illucid.net>
:
bug acknowledged by developer.
(Mon, 13 May 2024 08:58:02 GMT)
Full text and
rfc822 format available.
Message #10 received at 70642-done <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
antlers via Guix-patches via <guix-patches <at> gnu.org> writes:
> gnu/packages/file-systems.scm | 36 ++++++++++++++---------------------
> 1 file changed, 14 insertions(+), 22 deletions(-)
>
...
> @@ -1500,12 +1500,6 @@ (define-public zfs
> "man/man7/zpool-features.7")
> (("/usr/share/zfs/compatibility.d")
> (string-append #$output "/share/zfs/compatibility.d")))
> - (substitute* "etc/Makefile.in"
> - ;; This just contains an example configuration file for
> - ;; configuring ZFS on traditional init systems, skip it
> - ;; since we cannot use it anyway; the install target becomes
> - ;; misdirected.
> - (("= default ") "= "))
> (substitute* "lib/libzfs/os/linux/libzfs_util_os.c"
> ;; Use path to /gnu/store/*-kmod in actual path that is
> ;; exec'ed.
> @@ -1516,9 +1510,17 @@ (define-public zfs
> ;; Just use 'modprobe' in message to user, since Guix
> ;; does not have a traditional /sbin/
> (("'/sbin/modprobe ") "'modprobe "))
> - (substitute* "contrib/Makefile.in"
> - ;; This is not configurable nor is its hard-coded /usr prefix.
> - ((" initramfs") ""))
> + (substitute* "configure"
> + (("/etc/default")
> + (string-append #$output "/etc/default"))
> + (("/etc/bash_completion.d")
> + (string-append #$output "/etc/bash_completion.d")))
> + (substitute* "Makefile.in"
> + (("/usr/share/initramfs-tools")
> + (string-append #$output "/usr/share/initramfs-tools")))
> + (substitute* "contrib/initramfs/Makefile.am"
> + (("/usr/share/initramfs-tools")
> + (string-append #$output "/usr/share/initramfs-tools")))
You had a bunch of tabs here which guix lint should tell you about.
> (substitute* "module/os/linux/zfs/zfs_ctldir.c"
> (("/usr/bin/env\", \"umount")
> (string-append (search-input-file inputs "/bin/umount")
> @@ -1535,18 +1537,8 @@ (define-public zfs
> (substitute* "config/zfs-build.m4"
> (("\\$sysconfdir/init.d")
> (string-append #$output "/etc/init.d")))
> - (substitute* '("etc/zfs/Makefile.am"
> - "cmd/zed/Makefile.am")
> + (substitute* '("cmd/zed/Makefile.am")
> (("\\$\\(sysconfdir)") (string-append #$output "/etc")))
> - (substitute* "cmd/vdev_id/vdev_id"
I've restored this substitute* and just corrected the file location.
> - (("PATH=/bin:/sbin:/usr/bin:/usr/sbin")
> - (string-append "PATH="
> - (dirname (which "chmod")) ":"
> - (dirname (which "grep")) ":"
> - (dirname (which "sed")) ":"
> - (dirname (which "gawk")))))
> - (substitute* "contrib/pyzfs/Makefile.in"
> - ((".*install-lib.*") ""))
> (substitute* '("Makefile.am" "Makefile.in")
> (("\\$\\(prefix)/src") (string-append #$output:src "/src")))
> (substitute* (find-files "udev/rules.d/" ".rules.in$")
Thanks for the patch, I've made the tweaks above and pushed this to
master as 0309080ffcb1d6a124f672275316a76bcda2e211.
Chris
[signature.asc (application/pgp-signature, inline)]
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Mon, 10 Jun 2024 11:24:10 GMT)
Full text and
rfc822 format available.
This bug report was last modified 1 year and 9 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.