From 11b8a5f20e6cb7c3609638ac94a0a446e8d67aee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Thu, 6 Jun 2019 09:24:11 +0100 Subject: [PATCH] zfs: 0.7.13 -> 0.8.0 Same as zfsUnstable for the moment. We still keep the zfsUnstable expression as we likely need it in the near future again. Also remove spl since it is no longer needed. --- nixos/modules/tasks/filesystems/zfs.nix | 6 +- pkgs/os-specific/linux/spl/default.nix | 61 ------- .../linux/spl/install_prefix.patch | 168 ------------------ pkgs/os-specific/linux/zfs/default.nix | 27 +-- pkgs/top-level/all-packages.nix | 4 +- 5 files changed, 9 insertions(+), 257 deletions(-) delete mode 100644 pkgs/os-specific/linux/spl/default.nix delete mode 100644 pkgs/os-specific/linux/spl/install_prefix.patch 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;