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.
wip/yesman
Jörg Thalheim 5 years ago
parent 2cca7180c1
commit 11b8a5f20e
No known key found for this signature in database
GPG Key ID: B3F5D81B0C6967C4
  1. 6
      nixos/modules/tasks/filesystems/zfs.nix
  2. 61
      pkgs/os-specific/linux/spl/default.nix
  3. 168
      pkgs/os-specific/linux/spl/install_prefix.patch
  4. 27
      pkgs/os-specific/linux/zfs/default.nix
  5. 4
      pkgs/top-level/all-packages.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 {

@ -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 ];
};
}

@ -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

@ -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;
};
}

@ -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;

Loading…
Cancel
Save