summary refs log tree commit diff
path: root/pkgs/os-specific/linux/zfs
diff options
context:
space:
mode:
authorJack Cummings <jack@mudshark.org>2013-04-06 00:01:02 -0700
committerJack Cummings <jack@mudshark.org>2013-04-06 00:01:02 -0700
commitd1cb67a6291598bc34fc1c8f7af77f859804429a (patch)
tree9e29d7c73dbda58cc707480438ee7829d25d5565 /pkgs/os-specific/linux/zfs
parent98ba667094f3395cd0e4999693541285ed5e0478 (diff)
downloadnixlib-d1cb67a6291598bc34fc1c8f7af77f859804429a.tar
nixlib-d1cb67a6291598bc34fc1c8f7af77f859804429a.tar.gz
nixlib-d1cb67a6291598bc34fc1c8f7af77f859804429a.tar.bz2
nixlib-d1cb67a6291598bc34fc1c8f7af77f859804429a.tar.lz
nixlib-d1cb67a6291598bc34fc1c8f7af77f859804429a.tar.xz
nixlib-d1cb67a6291598bc34fc1c8f7af77f859804429a.tar.zst
nixlib-d1cb67a6291598bc34fc1c8f7af77f859804429a.zip
spl-0.6.1, zfs-0.6.1
Diffstat (limited to 'pkgs/os-specific/linux/zfs')
-rw-r--r--pkgs/os-specific/linux/zfs/default.nix12
-rw-r--r--pkgs/os-specific/linux/zfs/kerneldir_path.patch299
2 files changed, 219 insertions, 92 deletions
diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix
index 8da4906f8fe1..b330ddab8fcf 100644
--- a/pkgs/os-specific/linux/zfs/default.nix
+++ b/pkgs/os-specific/linux/zfs/default.nix
@@ -1,20 +1,19 @@
 { stdenv, fetchurl, kernelDev, spl, perl, autoconf, automake, libtool, zlib, libuuid, coreutils, utillinux }:
 
 stdenv.mkDerivation {
-  name = "zfs-0.6.0-rc14-${kernelDev.version}";
+  name = "zfs-0.6.1-${kernelDev.version}";
 
   src = fetchurl {
-    url = http://archive.zfsonlinux.org/downloads/zfsonlinux/zfs/zfs-0.6.0-rc14.tar.gz;
-    sha256 = "0ny2lbhyfsfwfcasa1iv2hz12hzcskx9mv641955d844dh32z9fg";
+    url = http://archive.zfsonlinux.org/downloads/zfsonlinux/zfs/zfs-0.6.1.tar.gz;
+    sha256 = "1ykph9d4p70mam6lvcx0zld6d34gch15dsilds5ncbxh0m52knl0";
   };
 
-  patches = [ ./module_perm_prefix.patch ./mount_zfs_prefix.patch ./kerneldir_path.patch ./no_absolute_paths_to_coreutils.patch ];
+  patches = [ ./mount_zfs_prefix.patch ./kerneldir_path.patch ];
 
   buildInputs = [ kernelDev spl perl autoconf automake libtool zlib libuuid coreutils ];
 
   # for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work
   NIX_CFLAGS_LINK = "-lgcc_s";
-  NIX_CFLAGS_COMPILE = "-I${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build/include/generated";
 
   preConfigure = ''
     ./autogen.sh
@@ -31,8 +30,7 @@ stdenv.mkDerivation {
   configureFlags = ''
     --with-linux=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build 
     --with-linux-obj=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build 
-    --with-spl=${spl}/libexec/spl/${kernelDev.modDirVersion}
-    ${if stdenv.system == "i686-linux"  then "--enable-atomic-spinlocks" else ""}
+    --with-spl=${spl}/libexec/spl
   '';
 
   meta = {
diff --git a/pkgs/os-specific/linux/zfs/kerneldir_path.patch b/pkgs/os-specific/linux/zfs/kerneldir_path.patch
index 4503ac4ca48b..af4b94e355d7 100644
--- a/pkgs/os-specific/linux/zfs/kerneldir_path.patch
+++ b/pkgs/os-specific/linux/zfs/kerneldir_path.patch
@@ -1,85 +1,214 @@
-diff --git a/Makefile.am b/Makefile.am
-index 9ffd6be..8e51412 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -34,7 +34,7 @@ distclean-local::
- if CONFIG_KERNEL
- install-data-local:
- 	release=$(ZFS_META_VERSION)-$(ZFS_META_RELEASE); \
--	instdest=$(DESTDIR)/usr/src/zfs-$$release/$(LINUX_VERSION); \
-+	instdest=$(DESTDIR)/$(libexecdir)/zfs/$(LINUX_VERSION); \
- 	for instfile in $(noinst_HEADERS) module/$(LINUX_SYMBOLS); do \
- 		$(INSTALL) -D $$instfile $$instdest/$$instfile; \
- 	done
-diff --git a/include/Makefile.am b/include/Makefile.am
-index 8f9c8d7..5fc44d5 100644
---- a/include/Makefile.am
-+++ b/include/Makefile.am
-@@ -27,6 +27,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
- endif
- 
- if CONFIG_KERNEL
--kerneldir = /usr/src/zfs-$(ZFS_META_VERSION)-$(ZFS_META_RELEASE)/$(LINUX_VERSION)
-+kerneldir = $(DESTDIR)/$(libexecdir)/zfs/$(LINUX_VERSION)
- kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
- endif
-diff --git a/include/linux/Makefile.am b/include/linux/Makefile.am
-index 6e481a1..1107809 100644
---- a/include/linux/Makefile.am
-+++ b/include/linux/Makefile.am
-@@ -16,6 +16,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
- endif
- 
- if CONFIG_KERNEL
--kerneldir = /usr/src/zfs-$(ZFS_META_VERSION)-$(ZFS_META_RELEASE)/$(LINUX_VERSION)/linux
-+kerneldir = $(DESTDIR)/$(libexecdir)/zfs/$(LINUX_VERSION)
- kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
- endif
-diff --git a/include/sys/Makefile.am b/include/sys/Makefile.am
-index 651e68b..b80bb55 100644
---- a/include/sys/Makefile.am
-+++ b/include/sys/Makefile.am
-@@ -89,6 +89,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
- endif
- 
- if CONFIG_KERNEL
--kerneldir = /usr/src/zfs-$(ZFS_META_VERSION)-$(ZFS_META_RELEASE)/$(LINUX_VERSION)/sys
-+kerneldir = $(DESTDIR)/$(libexecdir)/zfs/$(LINUX_VERSION)
- kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
- endif
-diff --git a/include/sys/fm/Makefile.am b/include/sys/fm/Makefile.am
-index 900ed93..8d9bed2 100644
---- a/include/sys/fm/Makefile.am
-+++ b/include/sys/fm/Makefile.am
-@@ -16,6 +16,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
- endif
- 
- if CONFIG_KERNEL
--kerneldir = /usr/src/zfs-$(ZFS_META_VERSION)-$(ZFS_META_RELEASE)/$(LINUX_VERSION)/sys/fm
-+kerneldir = $(DESTDIR)/$(libexecdir)/zfs/$(LINUX_VERSION)
- kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
- endif
-diff --git a/include/sys/fm/fs/Makefile.am b/include/sys/fm/fs/Makefile.am
-index d82d076..b4ae3ee 100644
---- a/include/sys/fm/fs/Makefile.am
-+++ b/include/sys/fm/fs/Makefile.am
-@@ -13,6 +13,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
- endif
- 
- if CONFIG_KERNEL
--kerneldir = /usr/src/zfs-$(ZFS_META_VERSION)-$(ZFS_META_RELEASE)/$(LINUX_VERSION)/sys/fm/fs
-+kerneldir = $(DESTDIR)/$(libexecdir)/zfs/$(LINUX_VERSION)
- kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
- endif
-diff --git a/include/sys/fs/Makefile.am b/include/sys/fs/Makefile.am
-index b702679..3c747f4 100644
---- a/include/sys/fs/Makefile.am
-+++ b/include/sys/fs/Makefile.am
-@@ -13,6 +13,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
- endif
- 
- if CONFIG_KERNEL
--kerneldir = /usr/src/zfs-$(ZFS_META_VERSION)-$(ZFS_META_RELEASE)/$(LINUX_VERSION)/sys/fs
-+kerneldir = $(DESTDIR)/$(libexecdir)/zfs/$(LINUX_VERSION)
- kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
- endif
+diff -rc zfs-0.6.1.orig/include/linux/Makefile.am zfs-0.6.1/include/linux/Makefile.am
+*** zfs-0.6.1.orig/include/linux/Makefile.am	2013-03-26 09:37:47.000000000 -0700
+--- zfs-0.6.1/include/linux/Makefile.am	2013-03-28 11:07:10.099129000 -0700
+***************
+*** 16,21 ****
+  endif
+  
+  if CONFIG_KERNEL
+! kerneldir = /usr/src/zfs-$(VERSION)/include/linux
+  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
+  endif
+--- 16,21 ----
+  endif
+  
+  if CONFIG_KERNEL
+! kerneldir = @prefix@/include/linux
+  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
+  endif
+diff -rc zfs-0.6.1.orig/include/Makefile.am zfs-0.6.1/include/Makefile.am
+*** zfs-0.6.1.orig/include/Makefile.am	2013-03-26 09:37:47.000000000 -0700
+--- zfs-0.6.1/include/Makefile.am	2013-03-28 11:07:38.810870000 -0700
+***************
+*** 28,33 ****
+  endif
+  
+  if CONFIG_KERNEL
+! kerneldir = /usr/src/zfs-$(VERSION)/include
+  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
+  endif
+--- 28,33 ----
+  endif
+  
+  if CONFIG_KERNEL
+! kerneldir = @prefix@/include
+  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
+  endif
+diff -rc zfs-0.6.1.orig/include/sys/fm/fs/Makefile.am zfs-0.6.1/include/sys/fm/fs/Makefile.am
+*** zfs-0.6.1.orig/include/sys/fm/fs/Makefile.am	2013-03-26 09:37:47.000000000 -0700
+--- zfs-0.6.1/include/sys/fm/fs/Makefile.am	2013-03-28 11:07:36.074756000 -0700
+***************
+*** 13,18 ****
+  endif
+  
+  if CONFIG_KERNEL
+! kerneldir = /usr/src/zfs-$(VERSION)/include/sys/fm/fs
+  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
+  endif
+--- 13,18 ----
+  endif
+  
+  if CONFIG_KERNEL
+! kerneldir = @prefix@/include/sys/fm/fs
+  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
+  endif
+diff -rc zfs-0.6.1.orig/include/sys/fm/Makefile.am zfs-0.6.1/include/sys/fm/Makefile.am
+*** zfs-0.6.1.orig/include/sys/fm/Makefile.am	2013-03-26 09:37:47.000000000 -0700
+--- zfs-0.6.1/include/sys/fm/Makefile.am	2013-03-28 11:07:32.265896000 -0700
+***************
+*** 16,21 ****
+  endif
+  
+  if CONFIG_KERNEL
+! kerneldir = /usr/src/zfs-$(VERSION)/include/sys/fm
+  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
+  endif
+--- 16,21 ----
+  endif
+  
+  if CONFIG_KERNEL
+! kerneldir = @prefix@/include/sys/fm
+  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
+  endif
+diff -rc zfs-0.6.1.orig/include/sys/fs/Makefile.am zfs-0.6.1/include/sys/fs/Makefile.am
+*** zfs-0.6.1.orig/include/sys/fs/Makefile.am	2013-03-26 09:37:47.000000000 -0700
+--- zfs-0.6.1/include/sys/fs/Makefile.am	2013-03-28 11:07:27.592339000 -0700
+***************
+*** 13,18 ****
+  endif
+  
+  if CONFIG_KERNEL
+! kerneldir = /usr/src/zfs-$(VERSION)/include/sys/fs
+  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
+  endif
+--- 13,18 ----
+  endif
+  
+  if CONFIG_KERNEL
+! kerneldir = @prefix@/include/sys/fs
+  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
+  endif
+diff -rc zfs-0.6.1.orig/include/sys/Makefile.am zfs-0.6.1/include/sys/Makefile.am
+*** zfs-0.6.1.orig/include/sys/Makefile.am	2013-03-26 09:37:47.000000000 -0700
+--- zfs-0.6.1/include/sys/Makefile.am	2013-03-28 11:07:19.045717000 -0700
+***************
+*** 91,96 ****
+  endif
+  
+  if CONFIG_KERNEL
+! kerneldir = /usr/src/zfs-$(VERSION)/include/sys
+  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
+  endif
+--- 91,96 ----
+  endif
+  
+  if CONFIG_KERNEL
+! kerneldir = @prefix@/include/sys
+  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
+  endif
+diff -rc zfs-0.6.1.orig/Makefile.am zfs-0.6.1/Makefile.am
+*** zfs-0.6.1.orig/Makefile.am	2013-03-26 09:37:47.000000000 -0700
+--- zfs-0.6.1/Makefile.am	2013-04-05 23:49:39.763623000 -0700
+***************
+*** 9,18 ****
+  if CONFIG_KERNEL
+  SUBDIRS += module
+  
+! extradir = /usr/src/zfs-$(VERSION)
+  extra_HEADERS = zfs.release.in zfs_config.h.in
+  
+! kerneldir = /usr/src/zfs-$(VERSION)/$(LINUX_VERSION)
+  nodist_kernel_HEADERS = zfs.release zfs_config.h module/$(LINUX_SYMBOLS)
+  endif
+  
+--- 9,18 ----
+  if CONFIG_KERNEL
+  SUBDIRS += module
+  
+! extradir = @prefix@/libexec/zfs-$(VERSION)
+  extra_HEADERS = zfs.release.in zfs_config.h.in
+  
+! kerneldir = @prefix@/zfs-$(VERSION)/$(LINUX_VERSION)
+  nodist_kernel_HEADERS = zfs.release zfs_config.h module/$(LINUX_SYMBOLS)
+  endif
+  
+diff -rc zfs-0.6.1.orig/module/Makefile.in zfs-0.6.1/module/Makefile.in
+*** zfs-0.6.1.orig/module/Makefile.in	2013-03-26 09:37:47.000000000 -0700
+--- zfs-0.6.1/module/Makefile.in	2013-04-05 23:50:41.497876000 -0700
+***************
+*** 18,26 ****
+  	@# installed devel headers, or they may be in the module
+  	@# subdirectory when building against the spl source tree.
+  	@if [ -f @SPL_OBJ@/@SPL_SYMBOLS@ ]; then \
+! 		/bin/cp @SPL_OBJ@/@SPL_SYMBOLS@ .; \
+  	elif [ -f @SPL_OBJ@/module/@SPL_SYMBOLS@ ]; then \
+! 		/bin/cp @SPL_OBJ@/module/@SPL_SYMBOLS@ .; \
+  	else \
+  		echo -e "\n" \
+  		"*** Missing spl symbols ensure you have built the spl:\n" \
+--- 18,26 ----
+  	@# installed devel headers, or they may be in the module
+  	@# subdirectory when building against the spl source tree.
+  	@if [ -f @SPL_OBJ@/@SPL_SYMBOLS@ ]; then \
+! 		cp @SPL_OBJ@/@SPL_SYMBOLS@ .; \
+  	elif [ -f @SPL_OBJ@/module/@SPL_SYMBOLS@ ]; then \
+! 		cp @SPL_OBJ@/module/@SPL_SYMBOLS@ .; \
+  	else \
+  		echo -e "\n" \
+  		"*** Missing spl symbols ensure you have built the spl:\n" \
+***************
+*** 28,33 ****
+--- 28,35 ----
+  		"*** - @SPL_OBJ@/module/@SPL_SYMBOLS@\n"; \
+  		exit 1; \
+  	fi
++ 	@# when copying a file out of the nix store, we need to make it writable again. 
++ 	chmod +w @SPL_SYMBOLS@
+  	$(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` @KERNELMAKE_PARAMS@ CONFIG_ZFS=m $@
+  
+  clean:
+***************
+*** 42,62 ****
+  modules_install:
+  	@# Install the kernel modules
+  	$(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` $@ \
+! 		INSTALL_MOD_PATH=$(DESTDIR)$(INSTALL_MOD_PATH) \
+  		INSTALL_MOD_DIR=$(INSTALL_MOD_DIR)
+  	@# Remove extraneous build products when packaging
+! 	kmoddir=$(DESTDIR)$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@; \
+  	if [ -n $$kmoddir ]; then \
+  		find $$kmoddir -name 'modules.*' | xargs $(RM); \
+  	fi
+! 	sysmap=$(DESTDIR)$(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@
+  	list='$(subdir-m)'; for subdir in $$list; do \
+  		$(RM) -R $$kmoddir/$(INSTALL_MOD_DIR)/$$subdir; \
+  	done
+--- 44,64 ----
+  modules_install:
+  	@# Install the kernel modules
+  	$(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` $@ \
+! 		INSTALL_MOD_PATH=@prefix@/$(INSTALL_MOD_PATH) \
+  		INSTALL_MOD_DIR=$(INSTALL_MOD_DIR)
+  	@# Remove extraneous build products when packaging
+! 	kmoddir=@prefix@/$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@; \
+  	if [ -n $$kmoddir ]; then \
+  		find $$kmoddir -name 'modules.*' | xargs $(RM); \
+  	fi
+! 	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=@prefix@/$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@
+  	list='$(subdir-m)'; for subdir in $$list; do \
+  		$(RM) -R $$kmoddir/$(INSTALL_MOD_DIR)/$$subdir; \
+  	done