summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nixos/modules/tasks/filesystems/zfs.nix6
-rw-r--r--pkgs/os-specific/linux/spl/default.nix61
-rw-r--r--pkgs/os-specific/linux/spl/install_prefix.patch168
-rw-r--r--pkgs/os-specific/linux/zfs/default.nix27
-rw-r--r--pkgs/top-level/all-packages.nix4
5 files changed, 9 insertions, 257 deletions
diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix
index 37a19fb9fc8..93bbd141284 100644
--- a/nixos/modules/tasks/filesystems/zfs.nix
+++ b/nixos/modules/tasks/filesystems/zfs.nix
@@ -24,11 +24,9 @@ let
   kernel = config.boot.kernelPackages;
 
   packages = if config.boot.zfs.enableUnstable then {
-    spl = null;
     zfs = kernel.zfsUnstable;
     zfsUser = pkgs.zfsUnstable;
   } else {
-    spl = kernel.spl;
     zfs = kernel.zfs;
     zfsUser = pkgs.zfs;
   };
@@ -325,8 +323,8 @@ in
       virtualisation.lxd.zfsSupport = true;
 
       boot = {
-        kernelModules = [ "zfs" ] ++ optional (!cfgZfs.enableUnstable) "spl";
-        extraModulePackages = with packages; [ zfs ] ++ optional (!cfgZfs.enableUnstable) spl;
+        kernelModules = [ "zfs" ];
+        extraModulePackages = with packages; [ zfs ];
       };
 
       boot.initrd = mkIf inInitrd {
diff --git a/pkgs/os-specific/linux/spl/default.nix b/pkgs/os-specific/linux/spl/default.nix
deleted file mode 100644
index 4e49256be9f..00000000000
--- a/pkgs/os-specific/linux/spl/default.nix
+++ /dev/null
@@ -1,61 +0,0 @@
-{ fetchFromGitHub, stdenv, autoreconfHook, coreutils, gawk
-, fetchpatch
-# Kernel dependencies
-, kernel
-}:
-
-with stdenv.lib;
-
-assert kernel != null;
-
-stdenv.mkDerivation rec {
-  name = "spl-${version}-${kernel.version}";
-  version = "0.7.13";
-
-  src = fetchFromGitHub {
-    owner = "zfsonlinux";
-    repo = "spl";
-    rev = "spl-${version}";
-    sha256 = "1rzqgiszy8ad2gx20577azp1y5jgad0907slfzl5y2zb05jgaipa";
-  };
-
-  patches = [ ./install_prefix.patch ];
-
-  # Backported fix for 0.7.13 to build with 5.1, please remove when updating to 0.7.14
-  postPatch = optionalString (versionAtLeast kernel.version "5.1") ''
-    sed -i 's/get_ds()/KERNEL_DS/g' module/spl/spl-vnode.c
-  '';
-
-  nativeBuildInputs = [ autoreconfHook ] ++ kernel.moduleBuildDependencies;
-
-  hardeningDisable = [ "fortify" "stackprotector" "pic" ];
-
-  preConfigure = ''
-    substituteInPlace ./module/spl/spl-generic.c --replace /usr/bin/hostid hostid
-    substituteInPlace ./module/spl/spl-generic.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:${gawk}:/bin"
-    substituteInPlace ./module/splat/splat-vnode.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:/bin"
-    substituteInPlace ./module/splat/splat-linux.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:/bin"
-  '';
-
-  configureFlags = [
-    "--with-config=kernel"
-    "--with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source"
-    "--with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
-  ];
-
-  enableParallelBuilding = true;
-
-  meta = {
-    description = "Kernel module driver for solaris porting layer (needed by in-kernel zfs)";
-
-    longDescription = ''
-      This kernel module is a porting layer for ZFS to work inside the linux
-      kernel.
-    '';
-
-    homepage = http://zfsonlinux.org/;
-    platforms = platforms.linux;
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ jcumming wizeman fpletz globin ];
-  };
-}
diff --git a/pkgs/os-specific/linux/spl/install_prefix.patch b/pkgs/os-specific/linux/spl/install_prefix.patch
deleted file mode 100644
index 566aab828ef..00000000000
--- a/pkgs/os-specific/linux/spl/install_prefix.patch
+++ /dev/null
@@ -1,168 +0,0 @@
-diff --git a/Makefile.am b/Makefile.am
-index 4977448..ac17217 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -12,10 +12,10 @@ endif
- if CONFIG_KERNEL
- SUBDIRS += module
- 
--extradir = @prefix@/src/spl-$(VERSION)
-+extradir = @prefix@/libexec/spl
- extra_HEADERS = spl.release.in spl_config.h.in
- 
--kerneldir = @prefix@/src/spl-$(VERSION)/$(LINUX_VERSION)
-+kerneldir = @prefix@/libexec/spl/$(LINUX_VERSION)
- nodist_kernel_HEADERS = spl.release spl_config.h module/$(LINUX_SYMBOLS)
- endif
- 
-diff --git a/include/Makefile.am b/include/Makefile.am
-index 3200222..4a47aaa 100644
---- a/include/Makefile.am
-+++ b/include/Makefile.am
-@@ -13,6 +13,6 @@ USER_H =
- EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
- 
- if CONFIG_KERNEL
--kerneldir = @prefix@/src/spl-$(VERSION)/include
-+kerneldir = @prefix@/libexec/spl/include
- kernel_HEADERS = $(KERNEL_H)
- endif
-diff --git a/include/fs/Makefile.am b/include/fs/Makefile.am
-index e0da4b3..d6d7af0 100644
---- a/include/fs/Makefile.am
-+++ b/include/fs/Makefile.am
-@@ -8,6 +8,6 @@ USER_H =
- EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
- 
- if CONFIG_KERNEL
--kerneldir = @prefix@/src/spl-$(VERSION)/include/fs
-+kerneldir = @prefix@/libexec/spl/include/fs
- kernel_HEADERS = $(KERNEL_H)
- endif
-diff --git a/include/linux/Makefile.am b/include/linux/Makefile.am
-index 712e94e..4af9fb7 100644
---- a/include/linux/Makefile.am
-+++ b/include/linux/Makefile.am
-@@ -18,6 +18,6 @@ USER_H =
- EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
- 
- if CONFIG_KERNEL
--kerneldir = @prefix@/src/spl-$(VERSION)/include/linux
-+kerneldir = @prefix@/libexec/spl/include/linux
- kernel_HEADERS = $(KERNEL_H)
- endif
-diff --git a/include/rpc/Makefile.am b/include/rpc/Makefile.am
-index cfc8246..4fbd33d 100644
---- a/include/rpc/Makefile.am
-+++ b/include/rpc/Makefile.am
-@@ -9,6 +9,6 @@ USER_H =
- EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
- 
- if CONFIG_KERNEL
--kerneldir = @prefix@/src/spl-$(VERSION)/include/rpc
-+kerneldir = @prefix@/libexec/spl/include/rpc
- kernel_HEADERS = $(KERNEL_H)
- endif
-diff --git a/include/sharefs/Makefile.am b/include/sharefs/Makefile.am
-index 10e7093..febecdf 100644
---- a/include/sharefs/Makefile.am
-+++ b/include/sharefs/Makefile.am
-@@ -8,6 +8,6 @@ USER_H =
- EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
- 
- if CONFIG_KERNEL
--kerneldir = @prefix@/src/spl-$(VERSION)/include/sharefs
-+kerneldir = @prefix@/libexec/spl/include/sharefs
- kernel_HEADERS = $(KERNEL_H)
- endif
-diff --git a/include/sys/Makefile.am b/include/sys/Makefile.am
-index 73c4a84..31a9f50 100644
---- a/include/sys/Makefile.am
-+++ b/include/sys/Makefile.am
-@@ -107,7 +107,7 @@ USER_H =
- EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
- 
- if CONFIG_KERNEL
--kerneldir = @prefix@/src/spl-$(VERSION)/include/sys
-+kerneldir = @prefix@/libexec/spl/include/sys
- kernel_HEADERS = $(KERNEL_H)
- endif
- 
-diff --git a/include/sys/fm/Makefile.am b/include/sys/fm/Makefile.am
-index 2821cbe..a84ce8e 100644
---- a/include/sys/fm/Makefile.am
-+++ b/include/sys/fm/Makefile.am
-@@ -9,6 +9,6 @@ USER_H =
- EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
- 
- if CONFIG_KERNEL
--kerneldir = @prefix@/src/spl-$(VERSION)/include/sys/fm
-+kerneldir = @prefix@/libexec/spl/include/sys/fm
- kernel_HEADERS = $(KERNEL_H)
- endif
-diff --git a/include/sys/fs/Makefile.am b/include/sys/fs/Makefile.am
-index 581083e..0c35fb7 100644
---- a/include/sys/fs/Makefile.am
-+++ b/include/sys/fs/Makefile.am
-@@ -8,6 +8,6 @@ USER_H =
- EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
- 
- if CONFIG_KERNEL
--kerneldir = @prefix@/src/spl-$(VERSION)/include/sys/fs
-+kerneldir = @prefix@/libexec/spl/include/sys/fs
- kernel_HEADERS = $(KERNEL_H)
- endif
-diff --git a/include/util/Makefile.am b/include/util/Makefile.am
-index e2bf09f..3f5d6ce 100644
---- a/include/util/Makefile.am
-+++ b/include/util/Makefile.am
-@@ -9,6 +9,6 @@ USER_H =
- EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
- 
- if CONFIG_KERNEL
--kerneldir = @prefix@/src/spl-$(VERSION)/include/util
-+kerneldir = @prefix@/libexec/spl/include/util
- kernel_HEADERS = $(KERNEL_H)
- endif
-diff --git a/include/vm/Makefile.am b/include/vm/Makefile.am
-index 7faab0a..8148b3d 100644
---- a/include/vm/Makefile.am
-+++ b/include/vm/Makefile.am
-@@ -10,6 +10,6 @@ USER_H =
- EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
- 
- if CONFIG_KERNEL
--kerneldir = @prefix@/src/spl-$(VERSION)/include/vm
-+kerneldir = @prefix@/libexec/spl/include/vm
- kernel_HEADERS = $(KERNEL_H)
- endif
---- a/module/Makefile.in
-+++ b/module/Makefile.in
-@@ -21,22 +21,22 @@
- modules_install:
- 	@# Install the kernel modules
- 	$(MAKE) -C @LINUX_OBJ@ M=`pwd` $@ \
--		INSTALL_MOD_PATH=$(DESTDIR)$(INSTALL_MOD_PATH) \
-+		INSTALL_MOD_PATH=@prefix@/$(INSTALL_MOD_PATH) \
- 		INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) \
- 		KERNELRELEASE=@LINUX_VERSION@
- 	@# Remove extraneous build products when packaging
--	kmoddir=$(DESTDIR)$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@; \
--	if [ -n "$(DESTDIR)" ]; then \
-+	kmoddir=@prefix@/$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@; \
-+	if [ -n "@prefix@" ]; then \
- 		find $$kmoddir -name 'modules.*' | xargs $(RM); \
- 	fi
--	sysmap=$(DESTDIR)$(INSTALL_MOD_PATH)/boot/System.map-@LINUX_VERSION@; \
-+	sysmap=@prefix@/$(INSTALL_MOD_PATH)/boot/System.map-@LINUX_VERSION@; \
- 	if [ -f $$sysmap ]; then \
- 		depmod -ae -F $$sysmap @LINUX_VERSION@; \
- 	fi
- 
- modules_uninstall:
- 	@# Uninstall the kernel modules
--	kmoddir=$(DESTDIR)$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@
-+	kmoddir=@prefix@/$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@
- 	list='$(subdir-m)'; for subdir in $$list; do \
- 		$(RM) -R $$kmoddir/$(INSTALL_MOD_DIR)/$$subdir; \
- 	done
diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix
index c2d4d8645a4..5e20f112fee 100644
--- a/pkgs/os-specific/linux/zfs/default.nix
+++ b/pkgs/os-specific/linux/zfs/default.nix
@@ -9,7 +9,7 @@
 , gawk, gnugrep, gnused, systemd
 
 # Kernel dependencies
-, kernel ? null, spl ? null
+, kernel ? null
 }:
 
 with stdenv.lib;
@@ -20,10 +20,8 @@ let
   common = { version
     , sha256
     , extraPatches
-    , spl
     , rev ? "zfs-${version}"
     , isUnstable ? false
-    , isLegacyCrypto ? false
     , incompatibleKernelVersion ? null }:
     if buildKernel &&
       (incompatibleKernelVersion != null) &&
@@ -52,10 +50,8 @@ let
 
       nativeBuildInputs = [ autoreconfHook nukeReferences ]
         ++ optional buildKernel (kernel.moduleBuildDependencies ++ [ perl ]);
-      buildInputs =
-           optionals buildKernel [ spl ]
-        ++ optionals buildUser [ zlib libuuid python3 attr ]
-        ++ optionals (buildUser && (isUnstable || isLegacyCrypto)) [ openssl ]
+      buildInputs = optionals buildUser [ zlib libuuid python3 attr ]
+        ++ optionals (buildUser) [ openssl ]
         ++ optional stdenv.hostPlatform.isMusl [ libtirpc ];
 
       # for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work
@@ -107,8 +103,6 @@ let
       ] ++ optionals buildKernel [
         "--with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source"
         "--with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
-      ] ++ optionals (buildKernel && spl != null) [
-        "--with-spl=${spl}/libexec/spl"
       ];
 
       enableParallelBuilding = true;
@@ -162,19 +156,13 @@ in {
     # incompatibleKernelVersion = "4.20";
 
     # this package should point to the latest release.
-    version = "0.7.13";
+    version = "0.8.0";
 
-    sha256 = "1l77bq7pvc54vl15pnrjd0njgpf00qjzy0x85dpfh5jxng84x1fb";
+    sha256 = "1lqb9q2im5bbm4l8kfb31cb6rvy37h5ni6rnqlki127ynilymkj8";
 
     extraPatches = [
-      # in case this gets out of date, just send Mic92 a pull request!
-      (fetchpatch {
-        url = "https://github.com/Mic92/zfs/commit/cf23c1d38bfc698a8a729fc0c5f9ca41591f4d95.patch";
-        sha256 = "14v3x9ipvg2qd1vyf70nv909jd5zdxlsw5y8k60pfyvwm7g80wr5";
-      })
+      ./build-fixes-unstable.patch
     ];
-
-    inherit spl;
   };
 
   zfsUnstable = common rec {
@@ -189,10 +177,7 @@ in {
     isUnstable = true;
 
     extraPatches = [
-      # in case this gets out of date, just send Mic92 a pull request!
       ./build-fixes-unstable.patch
     ];
-
-    spl = null;
   };
 }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 7b0e1cf58d6..a1ad6615308 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -15424,8 +15424,6 @@ in
 
     sch_cake = callPackage ../os-specific/linux/sch_cake { };
 
-    spl = callPackage ../os-specific/linux/spl { };
-
     sysdig = callPackage ../os-specific/linux/sysdig {};
 
     systemtap = callPackage ../development/tools/profiling/systemtap { };
@@ -15454,7 +15452,7 @@ in
 
     inherit (callPackage ../os-specific/linux/zfs {
       configFile = "kernel";
-      inherit kernel spl;
+      inherit kernel;
      }) zfsStable zfsUnstable;
 
      zfs = zfsStable;