switch pkg source to Debian Jessie

update to 0.6.5.8
drop unneeded patches
refresh no-DKMS and no-dracut patches
This commit is contained in:
Fabian Grünbichler 2016-10-13 15:13:55 +02:00
parent d72bef5bd3
commit 23db36409e
9 changed files with 356 additions and 317 deletions

View File

@ -17,14 +17,15 @@ SPL_DEBS= \
spl_${SPLPKGVER}_amd64.deb
ZFS_DEBS= \
libnvpair1_${ZFSPKGVER}_amd64.deb \
libuutil1_${ZFSPKGVER}_amd64.deb \
libzfs2_${ZFSPKGVER}_amd64.deb \
libzfs-dev_${ZFSPKGVER}_amd64.deb \
libzpool2_${ZFSPKGVER}_amd64.deb \
libnvpair1linux_${ZFSPKGVER}_amd64.deb \
libuutil1linux_${ZFSPKGVER}_amd64.deb \
libzfs2linux_${ZFSPKGVER}_amd64.deb \
libzfslinux-dev_${ZFSPKGVER}_amd64.deb \
libzpool2linux_${ZFSPKGVER}_amd64.deb \
zfs-dbg_${ZFSPKGVER}_amd64.deb \
zfs-initramfs_${ZFSPKGVER}_amd64.deb \
zfsutils_${ZFSPKGVER}_amd64.deb
zfs-zed_${ZFSPKGVER}_amd64.deb \
zfs-initramfs_${ZFSPKGVER}_all.deb \
zfsutils-linux_${ZFSPKGVER}_amd64.deb
DEBS=${SPL_DEBS} ${ZFS_DEBS}
@ -43,7 +44,6 @@ spl ${SPL_DEBS}: ${SPLSRC}
cd ${SPLDIR}; ln -s ../spl-patches patches
cd ${SPLDIR}; quilt push -a
cd ${SPLDIR}; rm -rf .pc ./patches
cd ${SPLDIR}; ./debian/rules override_dh_prep-base-deb-files
cd ${SPLDIR}; dpkg-buildpackage -b -uc -us
.PHONY: zfs
@ -55,16 +55,15 @@ zfs ${ZFS_DEBS}: ${ZFSSRC}
cd ${ZFSDIR}; ln -s ../zfs-patches patches
cd ${ZFSDIR}; quilt push -a
cd ${ZFSDIR}; rm -rf .pc ./patches
cd ${ZFSDIR}; ./debian/rules override_dh_prep-base-deb-files
cd ${ZFSDIR}; dpkg-buildpackage -b -uc -us
.PHONY: download
download:
rm -rf pkg-spl pkg-zfs ${SPLSRC} ${ZFSSRC}
# clone pkg-spl and checkout 0.6.5.7-5
git clone -b master/debian/jessie/0.6.5.7-5-jessie https://github.com/zfsonlinux/pkg-spl.git
# clone pkg-zfs and checkout 0.6.5.7-8
git clone -b master/debian/jessie/0.6.5.7-8-jessie https://github.com/zfsonlinux/pkg-zfs.git
# clone pkg-zfsonlinux/spl and checkout 0.6.5.8-2
git clone -b debian/0.6.5.8-2 git://anonscm.debian.org/pkg-zfsonlinux/spl.git pkg-spl
# clone pkg-zfsonlinux/zfs and checkout 0.6.5.8-1
git clone -b debian/0.6.5.8-1 git://anonscm.debian.org/pkg-zfsonlinux/zfs.git pkg-zfs
tar czf ${SPLSRC} pkg-spl
tar czf ${ZFSSRC} pkg-zfs

Binary file not shown.

Binary file not shown.

View File

@ -1,18 +1,29 @@
Index: new/debian/control.in
===================================================================
--- new.orig/debian/control.in
+++ new/debian/control.in
@@ -35,34 +35,9 @@ Description: Native ZFS filesystem kerne
This package provides the source to the SPL kernel module in a form
suitable for use by module-assistant or kernel-package.
From 764866342a7b4090c0530953db2d9dc5ed6a3b0e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com>
Date: Wed, 12 Oct 2016 10:57:39 +0200
Subject: [PATCH] remove DKMS and module build
---
diff --git a/debian/control.in b/debian/control.in
index 6392ddc..dc6ee96 100644
--- a/debian/control.in
+++ b/debian/control.in
@@ -8,40 +8,16 @@ Build-Depends: autogen,
autotools-dev,
debhelper (>= 9),
dh-autoreconf,
- dkms (>> 2.2.0.2-1~),
libtool
Standards-Version: 3.9.8
Homepage: http://www.zfsonlinux.org/
Vcs-Git: git://anonscm.debian.org/pkg-zfsonlinux/spl.git
Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-zfsonlinux/spl.git
-Package: spl-dkms
-Architecture: all
-Depends: linux-headers-amd64, ${misc:Depends}, dkms (>> 2.1.1.2-5), lsb-release, file
-Depends: dkms (>> 2.1.1.2-5), file, libc-dev, lsb-release, ${misc:Depends}
-Recommends: spl (>= ${source:Upstream-Version})
-Provides: spl-modules
-Conflicts: spl-modules-source
-Replaces: spl-modules-source
-Description: Solaris Porting Layer kernel modules for Linux
- The Solaris Porting Layer (SPL) is a Linux kernel module which provides
- many of the Solaris kernel APIs. This shim layer makes it possible to
@ -32,97 +43,100 @@ Index: new/debian/control.in
-
Package: spl
Architecture: linux-any
Depends: ${shlibs:Depends}, ${misc:Depends}
Conflicts: spl-dev, splat
Depends: ${misc:Depends}, ${shlibs:Depends}
-Recommends: spl-modules | spl-dkms
Description: Solaris Porting Layer user-space utilities for Linux
The Solaris Porting Layer (SPL) is a Linux kernel module which provides
many of the Solaris kernel APIs. This shim layer makes it possible to
Index: new/debian/rules
===================================================================
--- new.orig/debian/rules
+++ new/debian/rules
@@ -22,9 +22,7 @@ ifndef KVERS
KVERS=$(shell uname -r | sed 's/-$(DEB_HOST_ARCH)//')
diff --git a/debian/rules b/debian/rules
index b2fc86c..a474ca4 100755
--- a/debian/rules
+++ b/debian/rules
@@ -14,12 +14,8 @@ ifndef KVERS
KVERS=$(shell uname -r)
endif
-CFG_OPTS=--without-selinux \
- --with-linux=$(KSRC) \
- --with-linux-obj=$(KOBJ)
+CFG_OPTS=--without-selinux
non_epoch_version=$(shell echo $(KVERS) | perl -pe 's/^\d+://')
PACKAGE=spl
@@ -33,7 +31,7 @@ pmodules = $(PACKAGE)-modules-$(non_epoc
KIMGVER=$(shell dpkg -s linux-image-$(KVERS)-$(DEB_HOST_ARCH) | grep ^Version | sed 's/.*: //')
-non_epoch_version=$(shell echo $(KVERS) | perl -pe 's/^\d+://')
-PACKAGE=spl
-pmodules = $(PACKAGE)-modules-$(non_epoch_version)
-
%:
- dh $@ --with dkms --parallel
+ dh $@ --parallel
- dh $@ --with dkms,autoreconf --parallel
+ dh $@ --with autoreconf --parallel
override_dh_prep-base-deb-files:
sed -e 's/##SHLIB_MAJOR##/$(SHLIB_MAJOR)/g' < debian/control.in > debian/control
@@ -70,64 +68,6 @@ override_dh_auto_install:
@# Install the utilities.
$(MAKE) install DESTDIR='$(CURDIR)/debian/tmp'
override_dh_auto_configure:
@cp debian/control.in debian/control
@@ -45,69 +41,7 @@ override_dh_auto_install:
@# This creates the $(CURDIR)/$(NAME)-$(VERSION)/ tree.
$(MAKE) distdir
- @# Get a bare copy of the source code for DKMS.
- @# This creates the $(CURDIR)/$(NAME)-$(VERSION)/ tree, which does not
- @# contain the userland sources. NB: Remove-userland-dist-rules.patch
- $(MAKE) distdir
-
- @# Install the DKMS source.
- @# We only want the files needed to build the modules
- mkdir -p '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)'
- touch '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/.nogitrelease'
- cp '$(CURDIR)/autogen.sh' '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/'
- ( for d in include module config; do \
- rm -Rf $(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/$$d; \
- done)
- $(foreach file,$(DKMSFILES),mv '$(CURDIR)/$(NAME)-$(VERSION)/$(file)' '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)' || exit 1;)
- @# Hellish awk line:
- @# * Deletes from configure.ac the parts not needed for building the kernel module
- @# * It deletes from inside AC_CONFIG_FILES([]) everything except:
- @# (Makefile$|include/|module/|*.release$)
- @# * Takes care of spaces and tabs
- awk '/^AC_CONFIG_FILES\(\[/,/^\]\)/ { if ($$0 !~ /^(AC_CONFIG_FILES\(\[([ \t]+)?$$|\]\)([ \t]+)?$$|([ \t]+)?(include\/|module\/|Makefile([ \t]+)?$$|spl\.release([ \t]+)?$$))/){next} } {print}' \
- '$(CURDIR)/$(NAME)-$(VERSION)/configure.ac' > '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/configure.ac'
- @# Set "SUBDIRS = module include" for CONFIG_KERNEL and remove SUBDIRS for all other configs.
- sed '1,/CONFIG_KERNEL/s/SUBDIRS.*=.*//g;s/SUBDIRS.*=.*/SUBDIRS = module include/g;' \
- '$(CURDIR)/$(NAME)-$(VERSION)/Makefile.am' > '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/Makefile.am'
- @# Sanity test
- grep -q 'SUBDIRS = module include' '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/Makefile.am'
- @# Run autogen on the stripped source tree
- cd '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)'; ./autogen.sh
- rm -fr '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/autom4te.cache'
-
- @# This shunt allows DKMS to install the Module.symvers and spl_config.h
- @# files to the ${dkms_tree} area through the POST_INSTALL directive.
- echo '#!/bin/sh' >'$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/cp'
- echo 'cp "$$@"' >>'$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/cp'
- chmod 755 '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/cp'
- echo '#!/bin/sh' >'$(CURDIR)/$(NAME)-$(VERSION)/cp'
- echo 'cp "$$@"' >>'$(CURDIR)/$(NAME)-$(VERSION)/cp'
- chmod 755 '$(CURDIR)/$(NAME)-$(VERSION)/cp'
-
- @# Duplicate the dkms directory for module-assistant source package
- install -d $(CURDIR)/debian/tmp/usr/src/modules
- cp -r $(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION) $(CURDIR)/debian/tmp/usr/src/modules/$(PACKAGE)
- mkdir -p $(CURDIR)/debian/tmp/usr/src/modules/$(PACKAGE)/debian
- cp debian/copyright debian/module/* \
- $(CURDIR)/debian/tmp/usr/src/modules/$(PACKAGE)/debian/
- sed 's/^spl-linux /spl-modules /' debian/changelog \
- > $(CURDIR)/debian/tmp/usr/src/modules/$(PACKAGE)/debian/changelog
- chmod 755 $(CURDIR)/debian/tmp/usr/src/modules/$(PACKAGE)/debian/rules
- chown -R root.src $(CURDIR)/debian/tmp
- find $(CURDIR)/debian/tmp/usr/src -type d | xargs chmod 755
- find $(CURDIR)/debian/tmp/usr/src -type f -perm -100 | xargs chmod 755
- find $(CURDIR)/debian/tmp/usr/src -type f -not -perm -100 | xargs chmod 644
- chmod 775 $(CURDIR)/debian/tmp/usr/src/modules
- cd $(CURDIR)/debian/tmp/usr/src && tar cf $(PACKAGE).tar modules
- rm -Rf $(CURDIR)/debian/tmp/usr/src/modules
- bzip2 $(CURDIR)/debian/tmp/usr/src/$(PACKAGE).tar
- chmod 644 $(CURDIR)/debian/tmp/usr/src/$(PACKAGE).tar.bz2
- install -d $(CURDIR)/debian/spl-modules-source/usr/src
- mv $(CURDIR)/debian/tmp/usr/src/$(PACKAGE).tar.bz2 $(CURDIR)/debian/spl-modules-source/usr/src/
- rm -Rf $(CURDIR)/debian/spl-modules-source/usr/src/$(NAME)-$(VERSION)
- # Install the DKMS source.
- mkdir -p '$(CURDIR)/debian/tmp/usr/src/'
- mv '$(CURDIR)/$(NAME)-$(VERSION)' '$(CURDIR)/debian/tmp/usr/src/'
-
override_dh_dkms:
dh_dkms -V $(VERSION)
-override_dh_dkms:
- dh_dkms -V $(VERSION)
-
override_dh_auto_clean:
dh_auto_clean
@if test -e META.orig; then mv META.orig META; fi
cp debian/control.in debian/control
-
-# ------------
-
-override_dh_prep-deb-files:
- for templ in $(wildcard $(CURDIR)/debian/*_KVERS_*.in); do \
- sed -e 's/##KVERS##/$(KVERS)/g ; s/#KVERS#/$(KVERS)/g ; s/_KVERS_/$(KVERS)/g ; s/##KDREV##/$(KDREV)/g ; s/#KDREV#/$(KDREV)/g ; s/_KDREV_/$(KDREV)/g ; s/_ARCH_/$(DEB_HOST_ARCH)/g' \
- < $$templ > `echo $$templ | sed -e 's/_KVERS_/$(KVERS)/g ; s/_ARCH_/$(DEB_HOST_ARCH)/g ; s/\.in$$//'` ; \
- done
- sed -e 's/##KVERS##/$(KVERS)/g ; s/#KVERS#/$(KVERS)/g ; s/_KVERS_/$(KVERS)/g ; s/##KDREV##/$(KDREV)/g ; s/#KDREV#/$(KDREV)/g ; s/_KDREV_/$(KDREV)/g ; s/_ARCH_/$(DEB_HOST_ARCH)/g' \
- < debian/control.modules.in > debian/control
-
-override_dh_configure_modules: override_dh_configure_modules_stamp
-override_dh_configure_modules_stamp:
- ./configure --with-config=kernel --with-linux=$(KSRC) \
- --with-linux-obj=$(KOBJ) \
- --disable-debug-kmem
- touch override_dh_configure_modules_stamp
-
-override_dh_binary-modules-udeb: override_dh_prep-deb-files override_dh_configure_modules
- dh_testdir
- dh_testroot
- dh_prep
-
- $(MAKE) -C $(CURDIR)/module modules
-
- dh_installdirs -p${pmodules}-di
- dh_install -p${pmodules}-di
- dh_gencontrol -p${pmodules}-di
-
- dh_builddeb -p${pmodules}-di
-
-override_dh_binary-modules: override_dh_prep-deb-files override_dh_configure_modules
- dh_testdir
- dh_testroot
- dh_prep
-
- $(MAKE) -C $(CURDIR)/module modules
-
- dh_installdocs -p${pmodules}
- dh_install -p${pmodules}
- dh_installchangelogs -p${pmodules}
- dh_compress -p${pmodules}
- dh_strip -p${pmodules}
- dh_fixperms -p${pmodules}
- dh_installdeb -p${pmodules}
- dh_gencontrol -p${pmodules}
- dh_md5sums -p${pmodules}
-
- dh_builddeb -p${pmodules}
--
2.1.4

View File

@ -0,0 +1,63 @@
From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com>
Date: Wed, 12 Oct 2016 11:32:17 +0200
Subject: [PATCH] add zfsutils.preinst/postinst for wheezy upgrade path
---
debian/zfsutils-linux.postinst | 20 ++++++++++++++++++++
debian/zfsutils-linux.preinst | 17 +++++++++++++++++
2 files changed, 37 insertions(+)
create mode 100755 debian/zfsutils-linux.postinst
create mode 100755 debian/zfsutils-linux.preinst
diff --git a/debian/zfsutils-linux.postinst b/debian/zfsutils-linux.postinst
new file mode 100755
index 0000000..7d57919
--- /dev/null
+++ b/debian/zfsutils-linux.postinst
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+set -e
+
+# Source debconf library
+. /usr/share/debconf/confmodule
+
+if dpkg-maintscript-helper supports rm_conffile 2>/dev/null
+then
+ dpkg-maintscript-helper rm_conffile /etc/default/zfsload -- "$@"
+ dpkg-maintscript-helper rm_conffile /etc/init.d/zfs -- "$@"
+ dpkg-maintscript-helper rm_conffile /etc/init.d/zed -- "$@"
+ dpkg-maintscript-helper rm_conffile /etc/init.d/zfs-zed -- "$@"
+ dpkg-maintscript-helper rm_conffile /etc/init.d/zfs-mount -- "$@"
+ dpkg-maintscript-helper rm_conffile /etc/init.d/zfs-share -- "$@"
+ dpkg-maintscript-helper rm_conffile /etc/init.d/zfs-import -- "$@"
+fi
+
+#DEBHELPER#
+
diff --git a/debian/zfsutils-linux.preinst b/debian/zfsutils-linux.preinst
new file mode 100755
index 0000000..9338a7c
--- /dev/null
+++ b/debian/zfsutils-linux.preinst
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+set -e
+
+if dpkg-maintscript-helper supports rm_conffile 2>/dev/null
+then
+ dpkg-maintscript-helper rm_conffile /etc/default/zfsload -- "$@"
+ dpkg-maintscript-helper rm_conffile /etc/init.d/zfs -- "$@"
+ dpkg-maintscript-helper rm_conffile /etc/init.d/zed -- "$@"
+ dpkg-maintscript-helper rm_conffile /etc/init.d/zfs-zed -- "$@"
+ dpkg-maintscript-helper rm_conffile /etc/init.d/zfs-mount -- "$@"
+ dpkg-maintscript-helper rm_conffile /etc/init.d/zfs-share -- "$@"
+ dpkg-maintscript-helper rm_conffile /etc/init.d/zfs-import -- "$@"
+fi
+
+#DEBHELPER#
+
--
2.1.4

View File

@ -1,84 +1,121 @@
Index: new/debian/control.in
===================================================================
--- new.orig/debian/control.in
+++ new/debian/control.in
@@ -104,39 +104,9 @@ Description: Native ZFS filesystem kerne
This package provides the source to the SPL kernel module in a form
suitable for use by module-assistant or kernel-package.
From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com>
Date: Wed, 12 Oct 2016 11:25:40 +0200
Subject: [PATCH 1/2] remove DKMS, modules and dracut build
---
diff --git a/debian/control.in b/debian/control.in
index db75496..22dd958 100644
--- a/debian/control.in
+++ b/debian/control.in
@@ -9,7 +9,6 @@ Build-Depends: dh-autoreconf,
dh-systemd,
autotools-dev,
debhelper (>= 9),
- dkms (>> 2.1.1.2-5),
libselinux1-dev,
libtool,
lsb-release,
@@ -85,25 +84,11 @@ Description: OpenZFS pool library for Linux
.
This zpool library provides support for managing zpools.
-Package: zfs-dkms
-Architecture: all
-Pre-Depends: spl-dkms
-Depends: dkms (>> 2.1.1.2-5), lsb-release, ${misc:Depends}, file
-Recommends: zfsutils
-Replaces: lzfs, lzfs-dkms, zfs-modules-source
-Provides: lustre-backend-fs, lzfs, lzfs-dkms, zfs-modules, zfs-modules-source
-Conflicts: lzfs, lzfs-dkms, zfs-modules-source
-Description: Native ZFS filesystem kernel modules for Linux
-Pre-Depends: spl-dkms (>= ${source:Upstream-Version})
-Depends: dkms (>> 2.1.1.2-5), lsb-release, ${misc:Depends}
-Recommends: zfsutils-linux, zfs-zed
-Provides: zfs-modules
-Description: OpenZFS filesystem kernel modules for Linux
- The Z file system is a pooled filesystem designed for maximum data
- integrity, supporting data snapshots, multiple copies, and data
- checksums.
- .
- This DKMS package includes the SPA, DMU, ZVOL, and ZPL components of ZFS.
-
-Package: zfs-dracut
-Section: utils
-Architecture: linux-any
-Depends: dracut,
- zfs-modules | zfs-dkms | zfs-modules-source (>= ${source:Version}),
- zfsutils, ${misc:Depends}
-Description: Native ZFS root filesystem capabilities for Linux
- The Z file system is a pooled filesystem designed for maximum data
- integrity, supporting data snapshots, multiple copies, and data
- checksums.
- .
- This package adds ZFS to the system initramfs with a hook
- for the dracut infrastructure.
- This DKMS package includes the SPA, DMU, ZVOL, and ZPL components of
- OpenZFS.
-
Package: zfs-initramfs
Architecture: linux-any
Depends: initramfs-tools, busybox,
- zfs-modules | zfs-dkms | zfs-modules-source (>= ${source:Version}),
zfsutils, ${misc:Depends}
Description: Native ZFS root filesystem capabilities for Linux
Architecture: all
Depends: initramfs-tools,
busybox-initramfs | busybox-static | busybox,
- zfs-modules | zfs-dkms, zfsutils-linux,
+ zfsutils-linux,
${misc:Depends}
Description: OpenZFS root filesystem capabilities for Linux - initramfs
The Z file system is a pooled filesystem designed for maximum data
@@ -150,7 +120,6 @@ Package: zfsutils
Section: admin
@@ -113,23 +98,12 @@ Description: OpenZFS root filesystem capabilities for Linux - initramfs
This package adds OpenZFS to the system initramfs with a hook
for the initramfs-tools infrastructure.
-Package: zfs-dracut
-Architecture: all
-Depends: dracut, zfs-modules | zfs-dkms, zfsutils-linux, ${misc:Depends}
-Description: OpenZFS root filesystem capabilities for Linux - dracut
- The Z file system is a pooled filesystem designed for maximum data
- integrity, supporting data snapshots, multiple copies, and data
- checksums.
- .
- This package adds OpenZFS to the system initramfs with a hook
- for the dracut infrastructure.
-
Package: zfsutils-linux
Section: contrib/admin
Architecture: linux-any
Depends: initscripts, lsb-base, python, ${misc:Depends}, ${shlibs:Depends}
-Recommends: zfs-modules | zfs-dkms | zfs-modules-source (>= ${source:Version})
Suggests: nfs-kernel-server, samba-common-bin (>= 3.0.23), zfs-initramfs
Conflicts: zfs, zfs-fuse
Replaces: zfs
Index: new/debian/rules
===================================================================
--- new.orig/debian/rules
+++ new/debian/rules
@@ -25,12 +25,10 @@ KARCH=$(shell uname -r | sed "s/.*-\([a-
Depends: ${misc:Depends}, ${shlibs:Depends}, ${python:Depends}
-Recommends: lsb-base, zfs-modules | zfs-dkms, zfs-zed
-Suggests: nfs-kernel-server, samba-common-bin (>= 3.0.23), zfs-initramfs | zfs-dracut
+Recommends: lsb-base, zfs-zed
+Suggests: nfs-kernel-server, samba-common-bin (>= 3.0.23), zfs-initramfs
Conflicts: zfs, zfs-fuse, zutils
Provides: zfsutils
Description: command-line tools to manage OpenZFS filesystems
@@ -143,7 +117,7 @@ Description: command-line tools to manage OpenZFS filesystems
Package: zfs-zed
Section: contrib/admin
Architecture: linux-any
-Depends: ${misc:Depends}, ${shlibs:Depends}, zfs-modules | zfs-dkms, zfsutils-linux
+Depends: ${misc:Depends}, ${shlibs:Depends}, zfsutils-linux
Description: OpenZFS Event Daemon
The Z file system is a pooled filesystem designed for maximum data
integrity, supporting data snapshots, multiple copies, and data
diff --git a/debian/rules b/debian/rules
index 5036f42..6fc3e39 100755
--- a/debian/rules
+++ b/debian/rules
@@ -5,9 +5,6 @@ NAME := $(shell awk '$$1 == "Name:" { print $$2; }' META)
VERSION := $(shell dpkg-parsechangelog \
| awk '$$1 == "Version:" { print $$2; }' | cut -d- -f1)
-DKMSFILES := module include config zfs.release.in autogen.sh META AUTHORS \
- DISCLAIMER COPYRIGHT OPENSOLARIS.LICENSE README.markdown
-
ifndef BUILD_UDEB
BUILD_UDEB=false
endif
@@ -21,21 +18,16 @@ KVERS=$(shell uname -r)
endif
ifndef SPL
-SPLSRC=/usr/src/spl-$(VERSION)
+SPLSRC=../pkg-spl
-SPL=/usr/src/spl-$(VERSION)
-endif
-
-ifndef SPLOBJ
-SPLOBJ=/var/lib/dkms/spl/$(VERSION)/$(KVERS)/$(shell dpkg-architecture -qDEB_TARGET_GNU_CPU)
+SPL=../pkg-spl
endif
-CFG_OPTS=--with-linux=$(KSRC) \
- --with-linux-obj=$(KOBJ) \
- --with-spl=$(SPLSRC)
+CFG_OPTS=--with-spl=$(SPLSRC)
non_epoch_version=$(shell echo $(KVERS) | perl -pe 's/^\d+://')
PACKAGE=zfs
@@ -41,7 +39,7 @@ export DEB_BUILD_MAINT_OPTIONS = hardeni
KIMGVER=$(shell dpkg -s linux-image-$(KVERS)-$(KARCH) | grep ^Version | sed 's/.*: //')
-pmodules = $(PACKAGE)-modules-$(non_epoch_version)
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
%:
- dh $@ --with dkms --parallel
+ dh $@ --parallel
- dh $@ --with autoreconf,dkms,python2,systemd --parallel
+ dh $@ --with autoreconf,python2,systemd --parallel
override_dh_prep-base-deb-files:
sed -e 's/##SHLIB_MAJOR##/$(SHLIB_MAJOR)/g' < debian/control.in > debian/control
@@ -83,42 +81,6 @@ override_dh_auto_install:
override_dh_auto_configure:
@cp debian/control.in debian/control
@@ -62,36 +54,6 @@ override_dh_auto_install:
@# Install the utilities.
$(MAKE) install DESTDIR='$(CURDIR)/debian/tmp'
@ -90,11 +127,6 @@ Index: new/debian/rules
- @# Install the DKMS source.
- @# We only want the files needed to build the modules
- mkdir -p '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)'
- touch '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/.nogitrelease'
- cp '$(CURDIR)/autogen.sh' '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/'
- ( for d in include module config; do \
- rm -Rf $(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/$$d; \
- done)
- $(foreach file,$(DKMSFILES),mv '$(CURDIR)/$(NAME)-$(VERSION)/$(file)' '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)' || exit 1;)
- @# Hellish awk line:
- @# * Deletes from configure.ac the parts not needed for building the kernel module
@ -114,39 +146,88 @@ Index: new/debian/rules
-
- @# This shunt allows DKMS to install the Module.symvers and zfs_config.h
- @# files to the ${dkms_tree} area through the POST_INSTALL directive.
- echo '#!/bin/sh' >'$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/cp'
- echo 'cp "$$@"' >>'$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/cp'
- printf '#!/bin/sh\ncp "$$@"\n' > '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/cp'
- chmod 755 '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/cp'
-
mkdir -p $(CURDIR)/debian/tmp/usr/lib
for i in `ls $(CURDIR)/debian/tmp/lib/*.so`; do \
ln -s /lib/`readlink $${i}` $(CURDIR)/debian/tmp/usr/lib/`basename $${i}`; \
@@ -137,28 +99,6 @@ override_dh_auto_install:
# Fix the includes according to https://github.com/zfsonlinux/zfs/issues/2903
./debian/fix_includes-libspl.sh
@@ -101,9 +63,6 @@ override_dh_auto_install:
chmod -x $(CURDIR)/debian/tmp/etc/zfs/zfs-functions
chmod -x $(CURDIR)/debian/tmp/etc/default/zfs
- @# Duplicate the dkms directory for module-assistant source package
- install -d $(CURDIR)/debian/tmp/usr/src/modules
- cp -r $(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION) $(CURDIR)/debian/tmp/usr/src/modules/$(PACKAGE)
- mkdir -p $(CURDIR)/debian/tmp/usr/src/modules/$(PACKAGE)/debian
- cp debian/copyright debian/module/* \
- $(CURDIR)/debian/tmp/usr/src/modules/$(PACKAGE)/debian/
- sed 's/^zfs-linux /zfs-modules /' debian/changelog \
- > $(CURDIR)/debian/tmp/usr/src/modules/$(PACKAGE)/debian/changelog
- chmod 755 $(CURDIR)/debian/tmp/usr/src/modules/$(PACKAGE)/debian/rules
- chown -R root.src $(CURDIR)/debian/tmp
- find $(CURDIR)/debian/tmp/usr/src -type d | xargs chmod 755
- find $(CURDIR)/debian/tmp/usr/src -type f -perm -100 | xargs chmod 755
- find $(CURDIR)/debian/tmp/usr/src -type f -not -perm -100 | xargs chmod 644
- chmod 775 $(CURDIR)/debian/tmp/usr/src/modules
- cd $(CURDIR)/debian/tmp/usr/src && tar cf $(PACKAGE).tar modules
- rm -Rf $(CURDIR)/debian/tmp/usr/src/modules
- bzip2 $(CURDIR)/debian/tmp/usr/src/$(PACKAGE).tar
- chmod 644 $(CURDIR)/debian/tmp/usr/src/$(PACKAGE).tar.bz2
- install -d $(CURDIR)/debian/zfs-modules-source/usr/src
- mv $(CURDIR)/debian/tmp/usr/src/$(PACKAGE).tar.bz2 $(CURDIR)/debian/zfs-modules-source/usr/src/
- rm -Rf $(CURDIR)/debian/zfs-modules-source/usr/src/$(NAME)-$(VERSION)
-override_dh_dkms:
- dh_dkms -V $(VERSION)
-
override_dh_installinit:
@# Install systemd files
dh_systemd_enable -pzfsutils contrib/systemd/system/zfs.target
override_dh_makeshlibs:
dh_makeshlibs -a
ifeq ($(BUILD_UDEB), true)
@@ -141,65 +100,5 @@ override_dh_install:
# ------------
-override_dh_prep-deb-files:
- for templ in $(wildcard $(CURDIR)/debian/*_KVERS_*.in); do \
- sed -e 's/##KVERS##/$(KVERS)/g ; s/#KVERS#/$(KVERS)/g ; s/_KVERS_/$(KVERS)/g ; s/##KDREV##/$(KDREV)/g ; s/#KDREV#/$(KDREV)/g ; s/_KDREV_/$(KDREV)/g ; s/_ARCH_/$(DEB_HOST_ARCH)/' \
- < $$templ > `echo $$templ | sed -e 's/_KVERS_/$(KVERS)/g ; s/_ARCH_/$(DEB_HOST_ARCH)/g ; s/\.in$$//'` ; \
- done
- sed -e 's/##KVERS##/$(KVERS)/g ; s/#KVERS#/$(KVERS)/g ; s/_KVERS_/$(KVERS)/g ; s/##KDREV##/$(KDREV)/g ; s/#KDREV#/$(KDREV)/g ; s/_KDREV_/$(KDREV)/g ; s/_ARCH_/$(DEB_HOST_ARCH)/g' \
- < debian/control.modules.in > debian/control
-
-override_dh_configure_modules_udeb: override_dh_configure_modules_udeb_stamp
-override_dh_configure_modules_udeb_stamp:
- ./configure \
- --without-selinux \
- --with-config=kernel \
- --with-linux=$(KSRC) \
- --with-linux-obj=$(KOBJ) \
- --with-spl=$(SPL) \
- --with-spl-obj=$(SPLOBJ)
- touch override_dh_configure_modules_udeb_stamp
-
-override_dh_configure_modules: override_dh_configure_modules_stamp
-override_dh_configure_modules_stamp:
- ./configure \
- --with-config=kernel \
- --with-linux=$(KSRC) \
- --with-linux-obj=$(KOBJ) \
- --with-spl=$(SPL) \
- --with-spl-obj=$(SPLOBJ)
- touch override_dh_configure_modules_stamp
-
-override_dh_binary-modules-udeb: override_dh_prep-deb-files override_dh_configure_modules_udeb
- dh_testdir
- dh_testroot
- dh_prep
-
- $(MAKE) -C $(CURDIR)/module modules
-
- dh_installdirs -p${pmodules}-di
- dh_install -p${pmodules}-di
- dh_gencontrol -p${pmodules}-di
-
- dh_builddeb -p${pmodules}-di
-
-override_dh_binary-modules: override_dh_prep-deb-files override_dh_configure_modules
- dh_testdir
- dh_testroot
- dh_prep
-
- $(MAKE) -C $(CURDIR)/module modules
-
- dh_install -p${pmodules}
- dh_installdocs -p${pmodules}
- dh_installchangelogs -p${pmodules}
- dh_compress -p${pmodules}
- dh_strip -p${pmodules}
- dh_fixperms -p${pmodules}
- dh_installdeb -p${pmodules}
- dh_gencontrol -p${pmodules}
- dh_md5sums -p${pmodules}
- dh_builddeb -p${pmodules}
-
debian-copyright:
cme update dpkg-copyright -file debian/copyright.cme
--
2.1.4

View File

@ -1,96 +0,0 @@
Do not install sysv init scripts
We use systemd on PVE, so there is no need to install old sysv init scripts.
Also, provided scripts are buggy, because they do not
include /lib/lsb/init-functions, thus do not call systemctl to start
services.
Adittionally, service names differ, so some services are started
twice (zed => zfs-zed).
Index: new/debian/rules
===================================================================
--- new.orig/debian/rules
+++ new/debian/rules
@@ -113,7 +113,7 @@ override_dh_installinit:
@# Install the /etc/init.d/zfs-import script.
ifeq ($(LSB_DISTRIBUTOR),Debian)
dh_installinit -pzfsutils --onlyscripts --name=zfs-import \
- --no-restart-on-upgrade --no-start -- start 07 S . stop 07 0 1 6 .
+ --no-restart-on-upgrade --no-start
else
dh_installinit -pzfsutils --onlyscripts --name=zfs-import \
--no-restart-on-upgrade --no-start
@@ -123,21 +123,23 @@ endif
ifeq ($(LSB_DISTRIBUTOR),Debian)
@# Debian runs local mounts at sysv sequences [10..12] [08..09].
dh_installinit -pzfsutils --onlyscripts --name=zfs-mount \
- --no-restart-on-upgrade --no-start -- start 02 2 3 4 5 . stop 06 0 1 6 .
+ --no-restart-on-upgrade --no-start
else
dh_installinit -pzfsutils --onlyscripts --name=zfs-mount \
--no-restart-on-upgrade --no-start
endif
- @# Install the ZED init file.
- dh_installinit -pzfsutils --onlyscripts --name=zfs-zed \
- --no-restart-on-upgrade --no-start -- start 07 2 3 4 5 . stop 08 0 1 6 .
+ # zed is started with systemd zed.service
+ # so do not install zfs-zed init script
+ #@# Install the ZED init file.
+ #dh_installinit -pzfsutils --onlyscripts --name=zfs-zed \
+ # --no-restart-on-upgrade --no-start
@# Install the /etc/init.d/zfs-share script.
ifeq ($(LSB_DISTRIBUTOR),Debian)
@# Debian runs nfs-kernel-server at sysv sequence 17 01.
dh_installinit -pzfsutils --onlyscripts --name=zfs-share \
- --no-restart-on-upgrade --no-start -- start 27 2 3 4 5 . stop 05 0 1 6 .
+ --no-restart-on-upgrade --no-start
else ifeq ($(LSB_DISTRIBUTOR),Ubuntu)
@# Ubuntu runs nfs-kernel-server at sysv sequence 20 80.
@# iscsitarget at 20 20, and samba through upstart.
Index: new/debian/zfsutils.install
===================================================================
--- new.orig/debian/zfsutils.install
+++ new/debian/zfsutils.install
@@ -1,9 +1,5 @@
../tree/zfsutils/* /
contrib/bash_completion.d/zfs /etc/bash_completion.d/
-contrib/sysv-init/zfs-import /etc/init.d/
-contrib/sysv-init/zfs-mount /etc/init.d/
-contrib/sysv-init/zfs-share /etc/init.d/
-contrib/sysv-init/zfs-zed /etc/init.d/
lib/udev
sbin
usr/share/man
Index: new/debian/zfsutils.postinst
===================================================================
--- new.orig/debian/zfsutils.postinst
+++ new/debian/zfsutils.postinst
@@ -10,6 +10,10 @@ then
dpkg-maintscript-helper rm_conffile /etc/default/zfsload -- "$@"
dpkg-maintscript-helper rm_conffile /etc/init.d/zfs -- "$@"
dpkg-maintscript-helper rm_conffile /etc/init.d/zed -- "$@"
+ dpkg-maintscript-helper rm_conffile /etc/init.d/zfs-zed -- "$@"
+ dpkg-maintscript-helper rm_conffile /etc/init.d/zfs-mount -- "$@"
+ dpkg-maintscript-helper rm_conffile /etc/init.d/zfs-share -- "$@"
+ dpkg-maintscript-helper rm_conffile /etc/init.d/zfs-import -- "$@"
fi
#DEBHELPER#
Index: new/debian/zfsutils.preinst
===================================================================
--- new.orig/debian/zfsutils.preinst
+++ new/debian/zfsutils.preinst
@@ -6,6 +6,10 @@ then
dpkg-maintscript-helper rm_conffile /etc/default/zfsload -- "$@"
dpkg-maintscript-helper rm_conffile /etc/init.d/zfs -- "$@"
dpkg-maintscript-helper rm_conffile /etc/init.d/zed -- "$@"
+ dpkg-maintscript-helper rm_conffile /etc/init.d/zfs-zed -- "$@"
+ dpkg-maintscript-helper rm_conffile /etc/init.d/zfs-mount -- "$@"
+ dpkg-maintscript-helper rm_conffile /etc/init.d/zfs-share -- "$@"
+ dpkg-maintscript-helper rm_conffile /etc/init.d/zfs-import -- "$@"
fi
#DEBHELPER#

View File

@ -1,3 +1,2 @@
fix-control.patch
fix-dh-installinit.patch
skip-unneeded-pull-requests.patch
add-zfsutils-preinst-postinst.patch

View File

@ -1,21 +0,0 @@
diff --git a/debian/patches/series b/debian/patches/series
index ffafe6c..9823273 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,12 +1,12 @@
0002-Prevent-manual-builds-in-the-DKMS-source.patch
0005-Remove-userland-dist-rules.patch
libzfs-dependencies
-PR1099.patch
-PR1476.patch
+#PR1099.patch
+#PR1476.patch
PR1867.patch
PR2668.patch
-PR2790.patch
-PR3238.patch
+#PR2790.patch
+#PR3238.patch
PR3465.patch
PR3559.patch
PR3560.patch