summary refs log tree commit diff
diff options
context:
space:
mode:
authorAdam Stephens <adam@valkor.net>2023-10-14 08:18:46 -0400
committerAdam Stephens <adam@valkor.net>2023-10-21 12:16:31 -0400
commit1a81fe0cc89a4eb7c28c7a6b376700c9af869709 (patch)
tree9ae84d3352f8743b1f175c9f980f9482445fcf47
parentea0dcd0ae14b99c5740acc7a1b874ea4446cb5be (diff)
downloadnixpkgs-1a81fe0cc89a4eb7c28c7a6b376700c9af869709.tar
nixpkgs-1a81fe0cc89a4eb7c28c7a6b376700c9af869709.tar.gz
nixpkgs-1a81fe0cc89a4eb7c28c7a6b376700c9af869709.tar.bz2
nixpkgs-1a81fe0cc89a4eb7c28c7a6b376700c9af869709.tar.lz
nixpkgs-1a81fe0cc89a4eb7c28c7a6b376700c9af869709.tar.xz
nixpkgs-1a81fe0cc89a4eb7c28c7a6b376700c9af869709.tar.zst
nixpkgs-1a81fe0cc89a4eb7c28c7a6b376700c9af869709.zip
zfs: 2.1.13 -> 2.2.0
-rw-r--r--nixos/doc/manual/release-notes/rl-2311.section.md2
-rw-r--r--nixos/tests/zfs.nix4
-rw-r--r--pkgs/os-specific/linux/zfs/generic.nix27
-rw-r--r--pkgs/os-specific/linux/zfs/stable.nix13
4 files changed, 13 insertions, 33 deletions
diff --git a/nixos/doc/manual/release-notes/rl-2311.section.md b/nixos/doc/manual/release-notes/rl-2311.section.md
index 9a682077230..2cdde5ec7ae 100644
--- a/nixos/doc/manual/release-notes/rl-2311.section.md
+++ b/nixos/doc/manual/release-notes/rl-2311.section.md
@@ -339,6 +339,8 @@
 
 - `jq` was updated to 1.7, its [first release in 5 years](https://github.com/jqlang/jq/releases/tag/jq-1.7).
 
+- `zfs` was updated from 2.1.x to 2.2.0, [enabling newer kernel support and adding new features](https://github.com/openzfs/zfs/releases/tag/zfs-2.2.0).
+
 - A new option was added to the virtualisation module that enables specifying explicitly named network interfaces in QEMU VMs. The existing `virtualisation.vlans` is still supported for cases where the name of the network interface is irrelevant.
 
 - DocBook option documentation is no longer supported, all module documentation now uses markdown.
diff --git a/nixos/tests/zfs.nix b/nixos/tests/zfs.nix
index 800f5e43cd1..3454fbaf78f 100644
--- a/nixos/tests/zfs.nix
+++ b/nixos/tests/zfs.nix
@@ -113,8 +113,6 @@ let
       };
 
       testScript = ''
-        # TODO: Remove this when upgrading stable to zfs 2.2.0
-        unstable = ${if enableUnstable then "True" else "False"};
         machine.wait_for_unit("multi-user.target")
         machine.succeed(
             "zpool status",
@@ -136,8 +134,6 @@ let
             machine.crash()
             machine.wait_for_unit("multi-user.target")
             machine.succeed("zfs set sharesmb=on rpool/shared_smb")
-            if not unstable:
-                machine.succeed("zfs share rpool/shared_smb")
             machine.succeed(
                 "smbclient -gNL localhost | grep rpool_shared_smb",
                 "umount /tmp/mnt",
diff --git a/pkgs/os-specific/linux/zfs/generic.nix b/pkgs/os-specific/linux/zfs/generic.nix
index 81ff2214bca..7bb4a1b7496 100644
--- a/pkgs/os-specific/linux/zfs/generic.nix
+++ b/pkgs/os-specific/linux/zfs/generic.nix
@@ -76,25 +76,14 @@ stdenv'.mkDerivation {
     substituteInPlace ./config/user-systemd.m4    --replace "/usr/lib/modules-load.d" "$out/etc/modules-load.d"
     substituteInPlace ./config/zfs-build.m4       --replace "\$sysconfdir/init.d"     "$out/etc/init.d" \
                                                   --replace "/etc/default"            "$out/etc/default"
-    # TODO: drop when upgrading to 2.2.0
-    ${if isUnstable then ''
-      substituteInPlace ./contrib/initramfs/Makefile.am \
-        --replace "/usr/share/initramfs-tools" "$out/usr/share/initramfs-tools"
-      substituteInPlace ./udev/vdev_id \
-        --replace "PATH=/bin:/sbin:/usr/bin:/usr/sbin" \
-         "PATH=${makeBinPath [ coreutils gawk gnused gnugrep systemd ]}"
-      substituteInPlace ./config/zfs-build.m4 \
-        --replace "bashcompletiondir=/etc/bash_completion.d" \
-          "bashcompletiondir=$out/share/bash-completion/completions"
-    '' else ''
-      substituteInPlace ./etc/zfs/Makefile.am --replace "\$(sysconfdir)/zfs" "$out/etc/zfs"
-
-      find ./contrib/initramfs -name Makefile.am -exec sed -i -e 's|/usr/share/initramfs-tools|'$out'/share/initramfs-tools|g' {} \;
-
-      substituteInPlace ./cmd/vdev_id/vdev_id \
-        --replace "PATH=/bin:/sbin:/usr/bin:/usr/sbin" \
-        "PATH=${makeBinPath [ coreutils gawk gnused gnugrep systemd ]}"
-    ''}
+    substituteInPlace ./contrib/initramfs/Makefile.am \
+      --replace "/usr/share/initramfs-tools" "$out/usr/share/initramfs-tools"
+    substituteInPlace ./udev/vdev_id \
+      --replace "PATH=/bin:/sbin:/usr/bin:/usr/sbin" \
+       "PATH=${makeBinPath [ coreutils gawk gnused gnugrep systemd ]}"
+    substituteInPlace ./config/zfs-build.m4 \
+      --replace "bashcompletiondir=/etc/bash_completion.d" \
+        "bashcompletiondir=$out/share/bash-completion/completions"
   '';
 
   nativeBuildInputs = [ autoreconfHook269 nukeReferences ]
diff --git a/pkgs/os-specific/linux/zfs/stable.nix b/pkgs/os-specific/linux/zfs/stable.nix
index 1a77396300e..3e53ba902cb 100644
--- a/pkgs/os-specific/linux/zfs/stable.nix
+++ b/pkgs/os-specific/linux/zfs/stable.nix
@@ -16,20 +16,13 @@ callPackage ./generic.nix args {
     if stdenv'.isx86_64 || removeLinuxDRM
     then kernel.kernelOlder "6.6"
     else kernel.kernelOlder "6.2";
+
   latestCompatibleLinuxPackages = if stdenv'.isx86_64 || removeLinuxDRM
     then linuxKernel.packages.linux_6_5
     else linuxKernel.packages.linux_6_1;
-  extraPatches = [
-    # applied in version 2.2.x
-    (fetchpatch {
-      name = "musl.patch";
-      url = "https://github.com/openzfs/zfs/commit/1f19826c9ac85835cbde61a7439d9d1fefe43a4a.patch";
-      sha256 = "XEaK227ubfOwlB2s851UvZ6xp/QOtYUWYsKTkEHzmo0=";
-    })
-  ];
 
   # this package should point to the latest release.
-  version = "2.1.13";
+  version = "2.2.0";
 
-  sha256 = "tqUCn/Hf/eEmyWRQthWQdmTJK2sDspnHiiEfn9rz2Kc=";
+  sha256 = "sha256-s1sdXSrLu6uSOmjprbUa4cFsE2Vj7JX5i75e4vRnlvg=";
 }