antlers via Guix-patches via 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