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

Binary file not shown.

Binary file not shown.

View File

@ -1,18 +1,29 @@
Index: new/debian/control.in From 764866342a7b4090c0530953db2d9dc5ed6a3b0e Mon Sep 17 00:00:00 2001
=================================================================== From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com>
--- new.orig/debian/control.in Date: Wed, 12 Oct 2016 10:57:39 +0200
+++ new/debian/control.in Subject: [PATCH] remove DKMS and module build
@@ -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. 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 -Package: spl-dkms
-Architecture: all -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}) -Recommends: spl (>= ${source:Upstream-Version})
-Provides: spl-modules -Provides: spl-modules
-Conflicts: spl-modules-source
-Replaces: spl-modules-source
-Description: Solaris Porting Layer kernel modules for Linux -Description: Solaris Porting Layer kernel modules for Linux
- The Solaris Porting Layer (SPL) is a Linux kernel module which provides - 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 - many of the Solaris kernel APIs. This shim layer makes it possible to
@ -32,97 +43,100 @@ Index: new/debian/control.in
- -
Package: spl Package: spl
Architecture: linux-any Architecture: linux-any
Depends: ${shlibs:Depends}, ${misc:Depends} Conflicts: spl-dev, splat
Depends: ${misc:Depends}, ${shlibs:Depends}
-Recommends: spl-modules | spl-dkms -Recommends: spl-modules | spl-dkms
Description: Solaris Porting Layer user-space utilities for Linux Description: Solaris Porting Layer user-space utilities for Linux
The Solaris Porting Layer (SPL) is a Linux kernel module which provides 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 many of the Solaris kernel APIs. This shim layer makes it possible to
Index: new/debian/rules diff --git a/debian/rules b/debian/rules
=================================================================== index b2fc86c..a474ca4 100755
--- new.orig/debian/rules --- a/debian/rules
+++ new/debian/rules +++ b/debian/rules
@@ -22,9 +22,7 @@ ifndef KVERS @@ -14,12 +14,8 @@ ifndef KVERS
KVERS=$(shell uname -r | sed 's/-$(DEB_HOST_ARCH)//') KVERS=$(shell uname -r)
endif endif
-CFG_OPTS=--without-selinux \ -non_epoch_version=$(shell echo $(KVERS) | perl -pe 's/^\d+://')
- --with-linux=$(KSRC) \ -PACKAGE=spl
- --with-linux-obj=$(KOBJ) -pmodules = $(PACKAGE)-modules-$(non_epoch_version)
+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/.*: //')
%: %:
- dh $@ --with dkms --parallel - dh $@ --with dkms,autoreconf --parallel
+ dh $@ --parallel + dh $@ --with autoreconf --parallel
override_dh_prep-base-deb-files: override_dh_auto_configure:
sed -e 's/##SHLIB_MAJOR##/$(SHLIB_MAJOR)/g' < debian/control.in > debian/control @cp debian/control.in debian/control
@@ -70,64 +68,6 @@ override_dh_auto_install: @@ -45,69 +41,7 @@ override_dh_auto_install:
@# Install the utilities. @# This creates the $(CURDIR)/$(NAME)-$(VERSION)/ tree.
$(MAKE) install DESTDIR='$(CURDIR)/debian/tmp' $(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 - @# This shunt allows DKMS to install the Module.symvers and spl_config.h
- @# files to the ${dkms_tree} area through the POST_INSTALL directive. - @# files to the ${dkms_tree} area through the POST_INSTALL directive.
- echo '#!/bin/sh' >'$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/cp' - echo '#!/bin/sh' >'$(CURDIR)/$(NAME)-$(VERSION)/cp'
- echo 'cp "$$@"' >>'$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/cp' - echo 'cp "$$@"' >>'$(CURDIR)/$(NAME)-$(VERSION)/cp'
- chmod 755 '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/cp' - chmod 755 '$(CURDIR)/$(NAME)-$(VERSION)/cp'
- -
- @# Duplicate the dkms directory for module-assistant source package - # Install the DKMS source.
- install -d $(CURDIR)/debian/tmp/usr/src/modules - mkdir -p '$(CURDIR)/debian/tmp/usr/src/'
- cp -r $(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION) $(CURDIR)/debian/tmp/usr/src/modules/$(PACKAGE) - mv '$(CURDIR)/$(NAME)-$(VERSION)' '$(CURDIR)/debian/tmp/usr/src/'
- 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)
- -
override_dh_dkms: -override_dh_dkms:
dh_dkms -V $(VERSION) - 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 From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com>
=================================================================== Date: Wed, 12 Oct 2016 11:25:40 +0200
--- new.orig/debian/control.in Subject: [PATCH 1/2] remove DKMS, modules and dracut build
+++ 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 diff --git a/debian/control.in b/debian/control.in
suitable for use by module-assistant or kernel-package. 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 -Package: zfs-dkms
-Architecture: all -Architecture: all
-Pre-Depends: spl-dkms -Pre-Depends: spl-dkms (>= ${source:Upstream-Version})
-Depends: dkms (>> 2.1.1.2-5), lsb-release, ${misc:Depends}, file -Depends: dkms (>> 2.1.1.2-5), lsb-release, ${misc:Depends}
-Recommends: zfsutils -Recommends: zfsutils-linux, zfs-zed
-Replaces: lzfs, lzfs-dkms, zfs-modules-source -Provides: zfs-modules
-Provides: lustre-backend-fs, lzfs, lzfs-dkms, zfs-modules, zfs-modules-source -Description: OpenZFS filesystem kernel modules for Linux
-Conflicts: lzfs, lzfs-dkms, zfs-modules-source
-Description: Native ZFS filesystem kernel modules for Linux
- The Z file system is a pooled filesystem designed for maximum data - The Z file system is a pooled filesystem designed for maximum data
- integrity, supporting data snapshots, multiple copies, and data - integrity, supporting data snapshots, multiple copies, and data
- checksums. - checksums.
- . - .
- This DKMS package includes the SPA, DMU, ZVOL, and ZPL components of ZFS. - This DKMS package includes the SPA, DMU, ZVOL, and ZPL components of
- - OpenZFS.
-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.
- -
Package: zfs-initramfs Package: zfs-initramfs
Architecture: linux-any Architecture: all
Depends: initramfs-tools, busybox, Depends: initramfs-tools,
- zfs-modules | zfs-dkms | zfs-modules-source (>= ${source:Version}), busybox-initramfs | busybox-static | busybox,
zfsutils, ${misc:Depends} - zfs-modules | zfs-dkms, zfsutils-linux,
Description: Native ZFS root filesystem capabilities for 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 The Z file system is a pooled filesystem designed for maximum data
@@ -150,7 +120,6 @@ Package: zfsutils @@ -113,23 +98,12 @@ Description: OpenZFS root filesystem capabilities for Linux - initramfs
Section: admin 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 Architecture: linux-any
Depends: initscripts, lsb-base, python, ${misc:Depends}, ${shlibs:Depends} Depends: ${misc:Depends}, ${shlibs:Depends}, ${python:Depends}
-Recommends: zfs-modules | zfs-dkms | zfs-modules-source (>= ${source:Version}) -Recommends: lsb-base, zfs-modules | zfs-dkms, zfs-zed
Suggests: nfs-kernel-server, samba-common-bin (>= 3.0.23), zfs-initramfs -Suggests: nfs-kernel-server, samba-common-bin (>= 3.0.23), zfs-initramfs | zfs-dracut
Conflicts: zfs, zfs-fuse +Recommends: lsb-base, zfs-zed
Replaces: zfs +Suggests: nfs-kernel-server, samba-common-bin (>= 3.0.23), zfs-initramfs
Index: new/debian/rules Conflicts: zfs, zfs-fuse, zutils
=================================================================== Provides: zfsutils
--- new.orig/debian/rules Description: command-line tools to manage OpenZFS filesystems
+++ new/debian/rules @@ -143,7 +117,7 @@ Description: command-line tools to manage OpenZFS filesystems
@@ -25,12 +25,10 @@ KARCH=$(shell uname -r | sed "s/.*-\([a- 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 endif
ifndef SPL ifndef SPL
-SPLSRC=/usr/src/spl-$(VERSION) -SPL=/usr/src/spl-$(VERSION)
+SPLSRC=../pkg-spl -endif
-
-ifndef SPLOBJ
-SPLOBJ=/var/lib/dkms/spl/$(VERSION)/$(KVERS)/$(shell dpkg-architecture -qDEB_TARGET_GNU_CPU)
+SPL=../pkg-spl
endif 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+://') non_epoch_version=$(shell echo $(KVERS) | perl -pe 's/^\d+://')
PACKAGE=zfs PACKAGE=zfs
@@ -41,7 +39,7 @@ export DEB_BUILD_MAINT_OPTIONS = hardeni -pmodules = $(PACKAGE)-modules-$(non_epoch_version)
KIMGVER=$(shell dpkg -s linux-image-$(KVERS)-$(KARCH) | grep ^Version | sed 's/.*: //')
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
%: %:
- dh $@ --with dkms --parallel - dh $@ --with autoreconf,dkms,python2,systemd --parallel
+ dh $@ --parallel + dh $@ --with autoreconf,python2,systemd --parallel
override_dh_prep-base-deb-files: override_dh_auto_configure:
sed -e 's/##SHLIB_MAJOR##/$(SHLIB_MAJOR)/g' < debian/control.in > debian/control @cp debian/control.in debian/control
@@ -83,42 +81,6 @@ override_dh_auto_install: @@ -62,36 +54,6 @@ override_dh_auto_install:
@# Install the utilities. @# Install the utilities.
$(MAKE) install DESTDIR='$(CURDIR)/debian/tmp' $(MAKE) install DESTDIR='$(CURDIR)/debian/tmp'
@ -90,11 +127,6 @@ Index: new/debian/rules
- @# Install the DKMS source. - @# Install the DKMS source.
- @# We only want the files needed to build the modules - @# We only want the files needed to build the modules
- mkdir -p '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)' - 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;) - $(foreach file,$(DKMSFILES),mv '$(CURDIR)/$(NAME)-$(VERSION)/$(file)' '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)' || exit 1;)
- @# Hellish awk line: - @# Hellish awk line:
- @# * Deletes from configure.ac the parts not needed for building the kernel module - @# * 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 - @# This shunt allows DKMS to install the Module.symvers and zfs_config.h
- @# files to the ${dkms_tree} area through the POST_INSTALL directive. - @# files to the ${dkms_tree} area through the POST_INSTALL directive.
- echo '#!/bin/sh' >'$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/cp' - printf '#!/bin/sh\ncp "$$@"\n' > '$(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' - chmod 755 '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/cp'
- -
mkdir -p $(CURDIR)/debian/tmp/usr/lib mkdir -p $(CURDIR)/debian/tmp/usr/lib
for i in `ls $(CURDIR)/debian/tmp/lib/*.so`; do \ for i in `ls $(CURDIR)/debian/tmp/lib/*.so`; do \
ln -s /lib/`readlink $${i}` $(CURDIR)/debian/tmp/usr/lib/`basename $${i}`; \ ln -s /lib/`readlink $${i}` $(CURDIR)/debian/tmp/usr/lib/`basename $${i}`; \
@@ -137,28 +99,6 @@ override_dh_auto_install: @@ -101,9 +63,6 @@ override_dh_auto_install:
# Fix the includes according to https://github.com/zfsonlinux/zfs/issues/2903 chmod -x $(CURDIR)/debian/tmp/etc/zfs/zfs-functions
./debian/fix_includes-libspl.sh chmod -x $(CURDIR)/debian/tmp/etc/default/zfs
- @# Duplicate the dkms directory for module-assistant source package -override_dh_dkms:
- install -d $(CURDIR)/debian/tmp/usr/src/modules - dh_dkms -V $(VERSION)
- 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_installinit: override_dh_makeshlibs:
@# Install systemd files dh_makeshlibs -a
dh_systemd_enable -pzfsutils contrib/systemd/system/zfs.target 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-control.patch
fix-dh-installinit.patch add-zfsutils-preinst-postinst.patch
skip-unneeded-pull-requests.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