spl-0.6.1, zfs-0.6.1

This commit is contained in:
Jack Cummings
2013-04-06 00:01:02 -07:00
parent 98ba667094
commit d1cb67a629
6 changed files with 496 additions and 179 deletions
+5 -7
View File
@@ -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 = {
+214 -85
View File
@@ -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