]> git.proxmox.com Git - zfsonlinux.git/commitdiff
spl/debian: add packaging files
authorFabian Grünbichler <f.gruenbichler@proxmox.com>
Tue, 5 Feb 2019 15:55:32 +0000 (16:55 +0100)
committerFabian Grünbichler <f.gruenbichler@proxmox.com>
Wed, 27 Feb 2019 12:46:26 +0000 (13:46 +0100)
based on Debian's packaging work, but simplified:
- no DKMS

and remove old patches which were based on top of Debian's packaging.

Reviewed-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Tested-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
19 files changed:
spl-changelog.Debian [deleted file]
spl-patches/0001-remove-DKMS-and-module-build.patch [deleted file]
spl-patches/0002-deadlock-between-mm_sem-and-tx-assign-in-zfs_write-a.patch [deleted file]
spl-patches/series [deleted file]
spl/debian/changelog [new file with mode: 0644]
spl/debian/compat [new file with mode: 0644]
spl/debian/control [new file with mode: 0644]
spl/debian/copyright [new file with mode: 0644]
spl/debian/patches/0001-deadlock-between-mm_sem-and-tx-assign-in-zfs_write-a.patch [new file with mode: 0644]
spl/debian/patches/series [new file with mode: 0644]
spl/debian/rules [new file with mode: 0755]
spl/debian/source/format [new file with mode: 0644]
spl/debian/source/options [new file with mode: 0644]
spl/debian/spl.install [new file with mode: 0644]
spl/debian/spl.lintian-overrides [new file with mode: 0644]
spl/debian/spl.postinst [new file with mode: 0644]
spl/debian/spl.postrm [new file with mode: 0644]
spl/debian/spl.preinst [new file with mode: 0644]
spl/debian/watch [new file with mode: 0644]

diff --git a/spl-changelog.Debian b/spl-changelog.Debian
deleted file mode 100644 (file)
index f862240..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-spl-linux (0.7.12-pve1~bpo1) unstable; urgency=medium
-
-  * update SPL to 0.7.12
-
- -- Proxmox Support Team <support@proxmox.com>  Wed, 14 Nov 2018 17:51:59 +0100
-
-spl-linux (0.7.11-pve2~bpo1) unstable; urgency=medium
-
-  * update SPL to debian/0.7.11
-
-  * Backport deadlock fix between mm_sem and tx assign in zfs_write() and page
-    fault
-
- -- Proxmox Support Team <support@proxmox.com>  Mon, 29 Oct 2018 13:47:39 +0100
-
-spl-linux (0.7.11-pve1~bpo1) unstable; urgency=medium
-
-  * update SPL to 0.7.11
-
- -- Proxmox Support Team <support@proxmox.com>  Mon, 10 Sep 2018 15:47:06 +0200
-
-spl-linux (0.7.9-pve1~bpo9) unstable; urgency=medium
-
-  * update SPL to 0.7.9
-
- -- Proxmox Support Team <support@proxmox.com>  Fri, 18 May 2018 13:49:09 +0200
-
-spl-linux (0.7.8-pve1~bpo9) unstable; urgency=medium
-
-  * update SPL to 0.7.8 (no changes)
-
- -- Proxmox Support Team <support@proxmox.com>  Mon, 30 Apr 2018 13:47:22 +0200
-
-spl-linux (0.7.7-pve1~bpo9) unstable; urgency=medium
-
-  * update SPL to 0.7.7
-
- -- Proxmox Support Team <support@proxmox.com>  Tue, 3 Apr 2018 14:28:35 +0200
-
-spl-linux (0.7.6-pve1~bpo9) unstable; urgency=medium
-
-  * update SPL to 0.7.6
-
- -- Proxmox Support Team <support@proxmox.com>  Wed, 21 Feb 2018 09:47:54 +0100
-
-spl-linux (0.7.4-pve1~bpo9) unstable; urgency=medium
-
-  * update SPL to 0.7.4
-
- -- Proxmox Support Team <support@proxmox.com>  Tue, 19 Dec 2017 12:52:42 +0100
-
-spl-linux (0.7.3-pve1~bpo9) unstable; urgency=medium
-
-  * update spl to 0.7.3
-
- -- Proxmox Support Team <support@proxmox.com>  Mon, 6 Nov 2017 09:14:19 +0100
-
-spl-linux (0.7.2-pve1~bpo90) unstable; urgency=medium
-
-  * update spl to 0.7.2
-
-  * clean up man pages
-
- -- Proxmox Support Team <support@proxmox.com>  Thu, 12 Oct 2017 13:33:04 +0200
-
-spl-linux (0.6.5.11-pve10~bpo90) unstable; urgency=medium
-
-  * update spl to debian/0.6.5.11-1
-
- -- Proxmox Support Team <support@proxmox.com>  Thu, 27 Jul 2017 13:11:45 +0200
-
-spl-linux (0.6.5.9-pve9~bpo90) unstable; urgency=medium
-
-  * rebuild for PVE 5.0 / Debian Stretch
-
- -- Proxmox Support Team <support@proxmox.com>  Fri, 10 Mar 2017 09:45:52 +0100
-
-spl-linux (0.6.5.9-pve8~bpo80) unstable; urgency=medium
-
-  * update spl to debian/0.6.5.9-1
-
- -- Proxmox Support Team <support@proxmox.com>  Mon, 6 Feb 2017 12:39:35 +0100
-
-spl-linux (0.6.5.8-pve7~bpo80) unstable; urgency=medium
-
-  * update spl to debian/0.6.5.8-2
-
-  * switch package upstream sources to Debian (Jessie)
-
- -- Proxmox Support Team <support@proxmox.com>  Wed, 12 Oct 2016 11:16:02 +0200
-
-spl-linux (0.6.5.7-pve6~bpo80) unstable; urgency=medium
-
-  * update pkg-spl to jessie/0.6.5.7-5
-
-  * change package versioning to allow upgrades from PVE3/wheezy
-
- -- Proxmox Support Team <support@proxmox.com>  Tue, 28 Jun 2016 09:50:00 +0200
-
-spl-linux (0.6.5-pve5~jessie) unstable; urgency=medium
-
-  * Update pkg-spl to jessie/0.6.5.6-3
-
- -- Proxmox Support Team <support@proxmox.com>  Fri, 15 Apr 2016 11:11:59 +0200
-
-spl-linux (0.6.5-pve4~jessie) unstable; urgency=medium
-
-  * update to 0.6.5.6
-
- -- Proxmox Support Team <support@proxmox.com>  Wed, 30 Mar 2016 10:49:49 +0200
-
-spl-linux (0.6.5-pve3~jessie) unstable; urgency=medium
-
-  * update to 0.6.5.4
-
- -- Proxmox Support Team <support@proxmox.com>  Thu, 14 Jan 2016 11:00:40 +0100
-
-spl-linux (0.6.5-pve2~jessie) unstable; urgency=medium
-
-  * update to 0.6.5.3
-
- -- Proxmox Support Team <support@proxmox.com>  Wed, 04 Nov 2015 17:40:58 +0100
-
-spl-linux (0.6.5-pve1~jessie) unstable; urgency=medium
-
-  * update to master/debian/jessie/0.6.5-1
-
- -- Proxmox Support Team <support@proxmox.com>  Mon, 21 Sep 2015 10:04:23 +0200
-
-spl-linux (0.6.4-pve3~jessie) unstable; urgency=medium
-
-  * update to snapshot/debian/jessie/0.6.4-8-8ac6ff
-
- -- Proxmox Support Team <support@proxmox.com>  Mon, 24 Aug 2015 06:14:12 +0200
-
-spl-linux (0.6.4-pve2~jessie) unstable; urgency=medium
-
-  * update to 0.6.4.2 (snapshot/debian/jessie/0.6.4-6-37d7cd)
-
- -- Proxmox Support Team <support@proxmox.com>  Tue, 21 Jul 2015 11:02:31 +0200
-
-spl-linux (0.6.4-pve1~jessie) unstable; urgency=medium
-
-  * update to 0.6.4 (use upstream zol package definitions)
-
- -- Proxmox Support Team <support@proxmox.com>  Tue, 14 Apr 2015 10:17:26 +0200
-
-spl-linux (0.6.3-pve1~jessie) unstable; urgency=medium
-
-  * recompile for jessie
-
- -- Proxmox Support Team <support@proxmox.com>  Sat, 28 Feb 2015 16:03:01 +0100
-
-spl-linux (0.6.3-pve1~wheezy) unstable; urgency=low
-
-  * first version for Proxmox VE
-
- -- Proxmox Support Team <support@proxmox.com>  Sat, 10 Jan 2015 14:06:34 +0100
-
diff --git a/spl-patches/0001-remove-DKMS-and-module-build.patch b/spl-patches/0001-remove-DKMS-and-module-build.patch
deleted file mode 100644 (file)
index 4923ac1..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-From 0000000000000000000000000000000000000000 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
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
-Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
----
- debian/control.in | 31 ----------------------
- debian/control    |  1 -
- debian/rules      | 67 +----------------------------------------------
- 3 files changed, 1 insertion(+), 98 deletions(-)
-
-diff --git a/debian/control.in b/debian/control.in
-index 0e6c3fc..c8fe170 100644
---- a/debian/control.in
-+++ b/debian/control.in
-@@ -9,47 +9,16 @@ Build-Depends: autogen,
-                autotools-dev,
-                debhelper (>= 9),
-                dh-autoreconf,
--               dkms (>> 2.2.0.2-1~),
-                libtool
- Standards-Version: 4.1.2
- Homepage: http://www.zfsonlinux.org/
- Vcs-Git: https://salsa.debian.org/zfsonlinux-team/spl.git
- Vcs-Browser: https://salsa.debian.org/zfsonlinux-team/spl
--Package: spl-dkms
--Architecture: all
--Depends: dkms (>> 2.2.1.0),
--         file,
--         libc-dev,
--         libelf-dev,
--         lsb-release,
--         ${misc:Depends}
--Suggests: spl (>= ${source:Upstream-Version}),
--         @LINUX_COMPAT@
--Conflicts: spl (<< 0.7.9~)
--Provides: spl-modules
--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
-- run Solaris kernel code in the Linux kernel with relatively minimal
-- modification. The Solaris Porting LAyer Tests (SPLAT) is a Linux kernel
-- module which provides a testing harness for the SPL module.
-- .
-- SPL can be particularly useful when you want to track upstream Illumos
-- (or any other OpenSolaris fork) development closely and don't want the
-- overhead of maintaining a large patch which converts Solaris primitives
-- to Linux primitives.
-- .
-- This package contains the source code for the SPL and SPLAT Linux kernel
-- modules, which can be used with DKMS, so that local kernel modules are
-- automatically built and installed every time the kernel packages are
-- upgraded.
--
- Package: spl
- Architecture: linux-any
- 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
-diff --git a/debian/control b/debian/control
-index d83f962..f780c80 100644
---- a/debian/control
-+++ b/debian/control
-@@ -9,7 +9,6 @@ Build-Depends: autogen,
-                autotools-dev,
-                debhelper (>= 9),
-                dh-autoreconf,
--               dkms (>> 2.2.0.2-1~),
-                libtool
- Standards-Version: 4.1.2
- Homepage: http://www.zfsonlinux.org/
-diff --git a/debian/rules b/debian/rules
-index 72ded49..5abeebb 100755
---- a/debian/rules
-+++ b/debian/rules
-@@ -14,11 +14,8 @@ ifndef KVERS
- KVERS=$(shell uname -r)
- endif
--non_epoch_version=$(shell echo $(KVERS) | perl -pe 's/^\d+://')
--pmodules = $(NAME)-modules-$(non_epoch_version)
--
- %:
--      dh $@ --with dkms,autoreconf --parallel
-+      dh $@ --with autoreconf --parallel
- override_dh_auto_configure:
-       sed "s/@LINUX_COMPAT@/linux-libc-dev \(<< $(LINUX_NEXT)~\)/" debian/control.in > debian/control
-@@ -44,69 +41,7 @@ override_dh_auto_install:
-       @# This creates the $(CURDIR)/$(NAME)-$(VERSION)/ tree.
-       $(MAKE) distdir
--      @# 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)/$(NAME)-$(VERSION)/cp'
--      echo 'cp "$$@"'  >>'$(CURDIR)/$(NAME)-$(VERSION)/cp'
--      chmod 755 '$(CURDIR)/$(NAME)-$(VERSION)/cp'
--
--      # 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_auto_clean:
-       dh_auto_clean
-       @if test -e META.orig; then mv META.orig META; fi
-       sed "s/@LINUX_COMPAT@/linux-libc-dev \(<< $(LINUX_NEXT)~\)/" 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}
diff --git a/spl-patches/0002-deadlock-between-mm_sem-and-tx-assign-in-zfs_write-a.patch b/spl-patches/0002-deadlock-between-mm_sem-and-tx-assign-in-zfs_write-a.patch
deleted file mode 100644 (file)
index 2906ef8..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: ilbsmart <wgqimut@gmail.com>
-Date: Wed, 17 Oct 2018 02:11:24 +0800
-Subject: [PATCH] deadlock between mm_sem and tx assign in zfs_write() and page
- fault
-
-The bug time sequence:
-1. thread #1, `zfs_write` assign a txg "n".
-2. In a same process, thread #2, mmap page fault (which means the
-   `mm_sem` is hold) occurred, `zfs_dirty_inode` open a txg failed,
-   and wait previous txg "n" completed.
-3. thread #1 call `uiomove` to write, however page fault is occurred
-   in `uiomove`, which means it need `mm_sem`, but `mm_sem` is hold by
-   thread #2, so it stuck and can't complete,  then txg "n" will
-   not complete.
-
-So thread #1 and thread #2 are deadlocked.
-
-Reviewed-by: Chunwei Chen <tuxoko@gmail.com>
-Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
-Reviewed-by: Matthew Ahrens <mahrens@delphix.com>
-Signed-off-by: Grady Wong <grady.w@xtaotech.com>
-Closes #7939
-
-(backported from: zfs-upstream 779a6c0bf6df76e0dd92c1ccf81f48512b835bb0)
-Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
----
- include/sys/uio.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/include/sys/uio.h b/include/sys/uio.h
-index 764beb9..2895690 100644
---- a/include/sys/uio.h
-+++ b/include/sys/uio.h
-@@ -53,6 +53,7 @@ typedef struct uio {
-       int             uio_iovcnt;
-       offset_t        uio_loffset;
-       uio_seg_t       uio_segflg;
-+      boolean_t       uio_fault_disable;
-       uint16_t        uio_fmode;
-       uint16_t        uio_extflg;
-       offset_t        uio_limit;
diff --git a/spl-patches/series b/spl-patches/series
deleted file mode 100644 (file)
index 5bcfa6a..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-0001-remove-DKMS-and-module-build.patch
-0002-deadlock-between-mm_sem-and-tx-assign-in-zfs_write-a.patch
diff --git a/spl/debian/changelog b/spl/debian/changelog
new file mode 100644 (file)
index 0000000..56a88ec
--- /dev/null
@@ -0,0 +1,372 @@
+spl-linux (0.7.12-pve1~bpo1) unstable; urgency=medium
+
+  * update SPL to 0.7.12
+
+ -- Proxmox Support Team <support@proxmox.com>  Wed, 14 Nov 2018 17:51:59 +0100
+
+spl-linux (0.7.11-pve2~bpo1) unstable; urgency=medium
+
+  * update SPL to debian/0.7.11
+
+  * Backport deadlock fix between mm_sem and tx assign in zfs_write() and page
+    fault
+
+ -- Proxmox Support Team <support@proxmox.com>  Mon, 29 Oct 2018 13:47:39 +0100
+
+spl-linux (0.7.11-pve1~bpo1) unstable; urgency=medium
+
+  * update SPL to 0.7.11
+
+ -- Proxmox Support Team <support@proxmox.com>  Mon, 10 Sep 2018 15:47:06 +0200
+
+spl-linux (0.7.9-pve1~bpo9) unstable; urgency=medium
+
+  * update SPL to 0.7.9
+
+ -- Proxmox Support Team <support@proxmox.com>  Fri, 18 May 2018 13:49:09 +0200
+
+spl-linux (0.7.8-pve1~bpo9) unstable; urgency=medium
+
+  * update SPL to 0.7.8 (no changes)
+
+ -- Proxmox Support Team <support@proxmox.com>  Mon, 30 Apr 2018 13:47:22 +0200
+
+spl-linux (0.7.7-pve1~bpo9) unstable; urgency=medium
+
+  * update SPL to 0.7.7
+
+ -- Proxmox Support Team <support@proxmox.com>  Tue, 3 Apr 2018 14:28:35 +0200
+
+spl-linux (0.7.6-pve1~bpo9) unstable; urgency=medium
+
+  * update SPL to 0.7.6
+
+ -- Proxmox Support Team <support@proxmox.com>  Wed, 21 Feb 2018 09:47:54 +0100
+
+spl-linux (0.7.4-pve1~bpo9) unstable; urgency=medium
+
+  * update SPL to 0.7.4
+
+ -- Proxmox Support Team <support@proxmox.com>  Tue, 19 Dec 2017 12:52:42 +0100
+
+spl-linux (0.7.3-pve1~bpo9) unstable; urgency=medium
+
+  * update spl to 0.7.3
+
+ -- Proxmox Support Team <support@proxmox.com>  Mon, 6 Nov 2017 09:14:19 +0100
+
+spl-linux (0.7.2-pve1~bpo90) unstable; urgency=medium
+
+  * update spl to 0.7.2
+
+  * clean up man pages
+
+ -- Proxmox Support Team <support@proxmox.com>  Thu, 12 Oct 2017 13:33:04 +0200
+
+spl-linux (0.6.5.11-pve10~bpo90) unstable; urgency=medium
+
+  * update spl to debian/0.6.5.11-1
+
+ -- Proxmox Support Team <support@proxmox.com>  Thu, 27 Jul 2017 13:11:45 +0200
+
+spl-linux (0.6.5.9-pve9~bpo90) unstable; urgency=medium
+
+  * rebuild for PVE 5.0 / Debian Stretch
+
+ -- Proxmox Support Team <support@proxmox.com>  Fri, 10 Mar 2017 09:45:52 +0100
+
+spl-linux (0.6.5.9-pve8~bpo80) unstable; urgency=medium
+
+  * update spl to debian/0.6.5.9-1
+
+ -- Proxmox Support Team <support@proxmox.com>  Mon, 6 Feb 2017 12:39:35 +0100
+
+spl-linux (0.6.5.8-pve7~bpo80) unstable; urgency=medium
+
+  * update spl to debian/0.6.5.8-2
+
+  * switch package upstream sources to Debian (Jessie)
+
+ -- Proxmox Support Team <support@proxmox.com>  Wed, 12 Oct 2016 11:16:02 +0200
+
+spl-linux (0.6.5.7-pve6~bpo80) unstable; urgency=medium
+
+  * update pkg-spl to jessie/0.6.5.7-5
+
+  * change package versioning to allow upgrades from PVE3/wheezy
+
+ -- Proxmox Support Team <support@proxmox.com>  Tue, 28 Jun 2016 09:50:00 +0200
+
+spl-linux (0.6.5-pve5~jessie) unstable; urgency=medium
+
+  * Update pkg-spl to jessie/0.6.5.6-3
+
+ -- Proxmox Support Team <support@proxmox.com>  Fri, 15 Apr 2016 11:11:59 +0200
+
+spl-linux (0.6.5-pve4~jessie) unstable; urgency=medium
+
+  * update to 0.6.5.6
+
+ -- Proxmox Support Team <support@proxmox.com>  Wed, 30 Mar 2016 10:49:49 +0200
+
+spl-linux (0.6.5-pve3~jessie) unstable; urgency=medium
+
+  * update to 0.6.5.4
+
+ -- Proxmox Support Team <support@proxmox.com>  Thu, 14 Jan 2016 11:00:40 +0100
+
+spl-linux (0.6.5-pve2~jessie) unstable; urgency=medium
+
+  * update to 0.6.5.3
+
+ -- Proxmox Support Team <support@proxmox.com>  Wed, 04 Nov 2015 17:40:58 +0100
+
+spl-linux (0.6.5-pve1~jessie) unstable; urgency=medium
+
+  * update to master/debian/jessie/0.6.5-1
+
+ -- Proxmox Support Team <support@proxmox.com>  Mon, 21 Sep 2015 10:04:23 +0200
+
+spl-linux (0.6.4-pve3~jessie) unstable; urgency=medium
+
+  * update to snapshot/debian/jessie/0.6.4-8-8ac6ff
+
+ -- Proxmox Support Team <support@proxmox.com>  Mon, 24 Aug 2015 06:14:12 +0200
+
+spl-linux (0.6.4-pve2~jessie) unstable; urgency=medium
+
+  * update to 0.6.4.2 (snapshot/debian/jessie/0.6.4-6-37d7cd)
+
+ -- Proxmox Support Team <support@proxmox.com>  Tue, 21 Jul 2015 11:02:31 +0200
+
+spl-linux (0.6.4-pve1~jessie) unstable; urgency=medium
+
+  * update to 0.6.4 (use upstream zol package definitions)
+
+ -- Proxmox Support Team <support@proxmox.com>  Tue, 14 Apr 2015 10:17:26 +0200
+
+spl-linux (0.6.3-pve1~jessie) unstable; urgency=medium
+
+  * recompile for jessie
+
+ -- Proxmox Support Team <support@proxmox.com>  Sat, 28 Feb 2015 16:03:01 +0100
+
+spl-linux (0.6.3-pve1~wheezy) unstable; urgency=low
+
+  * first version for Proxmox VE
+
+ -- Proxmox Support Team <support@proxmox.com>  Sat, 10 Jan 2015 14:06:34 +0100
+
+spl-linux (0.7.12-1) unstable; urgency=medium
+
+  * New upstream version 0.7.12
+  * Bump linux compatibility to 4.19 .
+
+ -- Mo Zhou <cdluminate@gmail.com>  Mon, 19 Nov 2018 11:25:53 +0000
+
+spl-linux (0.7.11-1) unstable; urgency=medium
+
+  [ Nicolas Braud-Santoni ]
+  * control: Use a canonical URI for Vcs-Git
+  * copyright: Use HTTPs Format URI in copyright
+  * debian/rules: Enable build hardening
+  * debian/rules: Use DEB_VERSION* instead of manually parsing.
+
+  [ Mo Zhou ]
+  * New upstream version 0.7.11 (Closes: #908483)
+  * Append myself to Uploaders.
+  * Suggests linux-libc-dev (<< LINUX_NEXT~) instead of (<< LINUX_NEXT).
+  * Replace get_next.sh with one-liner awk script in rules.
+  * Bump linux_compat to 4.18 .
+  * Fix debian-rules-sets-dpkg-architecture-variable.
+  * Fix debian-watch-uses-insecure-uri.
+
+ -- Mo Zhou <cdluminate@gmail.com>  Wed, 19 Sep 2018 04:13:01 +0000
+
+spl-linux (0.7.9-3) unstable; urgency=medium
+
+  * d/control: migrate to alioth-lists (Closes: #899692)
+
+ -- Aron Xu <aron@debian.org>  Mon, 28 May 2018 18:05:37 +0800
+
+spl-linux (0.7.9-2) unstable; urgency=medium
+
+  [ Aron Xu ]
+  * New upstream version 0.7.9
+  * Fix lintian obsolete-relation-form-in-source
+  * Bump supported linux version to 4.16
+
+  [ Antonio Russo ]
+  * Reduce dependency on spl, and move documentation (Closes: #894608)
+
+ -- Aron Xu <aron@debian.org>  Wed, 16 May 2018 21:36:17 +0800
+
+spl-linux (0.7.6-1) unstable; urgency=medium
+
+  * New upstream release (Closes: #891235)
+  * Update VCS-* URL to salsa.debian.org
+  * Apply wrap-and-sort to control*
+  * Recommends: linux-libc-dev (< ${LINUX_NEXT}):
+    Tries to prevent unexpected upgrades of kernel that is not known
+    to be supported by the packaged version of ZFS/SPL.
+
+ -- Aron Xu <aron@debian.org>  Mon, 26 Feb 2018 16:29:50 +0800
+
+spl-linux (0.7.5-1) unstable; urgency=medium
+
+  * Add libelf-dev to Depends (Closes: #886453)
+  * New upstream version 0.7.5 (Closes: #886453)
+
+ -- Aron Xu <aron@debian.org>  Fri, 19 Jan 2018 15:23:26 +0800
+
+spl-linux (0.7.4-1) unstable; urgency=medium
+
+  * New upstream version 0.7.4 (Closes: #883830)
+  * Update stdver to 4.1.2, no change required
+
+ -- Aron Xu <aron@debian.org>  Mon, 18 Dec 2017 22:05:32 +0800
+
+spl-linux (0.7.3-1) unstable; urgency=medium
+
+  * New upstream version 0.7.3
+
+ -- Aron Xu <aron@debian.org>  Tue, 31 Oct 2017 17:29:08 +0800
+
+spl-linux (0.6.5.11-1) unstable; urgency=medium
+
+  * Imported Upstream version 0.6.5.11
+
+ -- Aron Xu <aron@debian.org>  Fri, 14 Jul 2017 14:39:21 +0800
+
+spl-linux (0.6.5.10-1) unstable; urgency=medium
+
+  * New upstream version 0.6.5.10
+
+ -- Aron Xu <aron@debian.org>  Wed, 05 Jul 2017 18:00:58 +0800
+
+spl-linux (0.6.5.9-1) unstable; urgency=medium
+
+  * Imported Upstream version 0.6.5.9
+
+ -- Aron Xu <aron@debian.org>  Mon, 06 Feb 2017 15:52:47 +0800
+
+spl-linux (0.6.5.8-3) unstable; urgency=medium
+
+  * Fix Linux 4.9 compatibility (Closes: #851352)
+    Thanks to Fabian Grünbichler!
+
+ -- Aron Xu <aron@debian.org>  Tue, 17 Jan 2017 20:57:13 +0800
+
+spl-linux (0.6.5.8-2) unstable; urgency=medium
+
+  [ Petter Reinholdtsen ]
+  * Added d/gbp.conf to enforce the use of pristine-tar.
+  * Added extra autopkgtest script check.sh from the Ubuntu package.
+
+  [ Aron Xu ]
+  * Make use of dh-autoreconf
+  * Deal with /etc/hostid in postinst of spl package
+  * Add lintian-overrides: extra-license-file
+  * Simplify rules by merging Ubuntu one
+  * Handle the case /etc/hostid is being wrongly marked as conffile
+  * Install man pages for spl
+  * Move command-with-path-in-maintainer-script override to spl
+
+ -- Aron Xu <aron@debian.org>  Wed, 28 Sep 2016 05:02:06 +0800
+
+spl-linux (0.6.5.8-1) unstable; urgency=medium
+
+  [ Petter Reinholdtsen ]
+  * Fix invalid command in dkms (Closes: #836578)
+
+  [ Zhou Mo ]
+  * control: bump standards version to 3.9.8
+
+  [ Aron Xu ]
+  * Imported Upstream version 0.6.5.8 (Closes: #835992)
+  * rules: allow parallel building
+
+ -- Aron Xu <aron@debian.org>  Sun, 18 Sep 2016 01:06:04 +0800
+
+spl-linux (0.6.5.7-1) unstable; urgency=medium
+
+  * Imported Upstream version 0.6.5.7
+
+ -- Aron Xu <aron@debian.org>  Wed, 25 May 2016 12:17:05 +0800
+
+spl-linux (0.6.5.6-2) unstable; urgency=medium
+
+  * Add license names to entries missing it.
+  * Added autopkgtest using code from Ubuntu using dkms >= 2.2.0.3-3~.
+
+ -- Petter Reinholdtsen <pere@hungry.com>  Thu, 28 Apr 2016 20:21:29 +0800
+
+spl-linux (0.6.5.6-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- Aron Xu <aron@debian.org>  Thu, 24 Mar 2016 07:14:47 +0800
+
+spl-linux (0.6.5.5-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- Aron Xu <aron@debian.org>  Sun, 20 Mar 2016 22:50:26 +0800
+
+spl-linux (0.6.5.4-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- Aron Xu <aron@debian.org>  Sun, 10 Jan 2016 20:13:15 +0800
+
+spl-linux (0.6.5.3-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- Aron Xu <aron@debian.org>  Thu, 05 Nov 2015 21:08:25 +0800
+
+spl-linux (0.6.5.2-1) unstable; urgency=medium
+
+  * Imported Upstream version 0.6.5.2
+  * Add conflicts to splat (Closes: #769147)
+
+ -- Aron Xu <aron@debian.org>  Tue, 13 Oct 2015 15:26:33 +0100
+
+spl-linux (0.6.4.2-1) experimental; urgency=medium
+
+  * New upstream release.
+
+ -- Aron Xu <aron@debian.org>  Thu, 13 Aug 2015 19:58:26 +0800
+
+spl-linux (0.6.4.1-1) experimental; urgency=medium
+
+  * New upstream release.
+
+ -- Aron Xu <aron@debian.org>  Sun, 17 May 2015 05:47:51 +0800
+
+spl-linux (0.6.2-2) experimental; urgency=low
+
+  * Add file and libc-dev to Depends of spl-dkms (Closes: #717565).
+
+ -- Aron Xu <aron@debian.org>  Sun, 25 Aug 2013 02:02:15 +0800
+
+spl-linux (0.6.2-1) experimental; urgency=low
+
+  * New upstream release.
+
+ -- Aron Xu <aron@debian.org>  Sat, 24 Aug 2013 14:30:25 +0800
+
+spl-linux (0.6.1-2) experimental; urgency=low
+
+  * Add license info for scripts/kmodtool
+  * Add linux 3.10 compatibility patch from upstream. (Closes: #717565)
+  * Add facility to build udeb and binary modules, thanks Turbo Fredriksson
+    for the work.
+
+ -- Aron Xu <aron@debian.org>  Mon, 29 Jul 2013 16:04:24 +0800
+
+spl-linux (0.6.1-1) experimental; urgency=low
+
+  * Initial Release (Closes: #686453)
+
+ -- Aron Xu <aron@debian.org>  Tue, 02 Apr 2013 01:03:05 +0200
diff --git a/spl/debian/compat b/spl/debian/compat
new file mode 100644 (file)
index 0000000..ec63514
--- /dev/null
@@ -0,0 +1 @@
+9
diff --git a/spl/debian/control b/spl/debian/control
new file mode 100644 (file)
index 0000000..4fabc93
--- /dev/null
@@ -0,0 +1,32 @@
+Source: spl-linux
+Section: kernel
+Priority: optional
+Maintainer: Proxmox Support Team <support@proxmox.com>
+Build-Depends: autogen,
+               autotools-dev,
+               debhelper (>= 9),
+               dh-autoreconf,
+               libtool
+Standards-Version: 4.1.2
+Homepage: http://www.zfsonlinux.org/
+Vcs-Git: https://git.proxmox.com/git/zfsonlinux.git
+Vcs-Browser: https://git.proxmox.com/?p=zfsonlinux.git;a=summary
+
+Package: spl
+Architecture: linux-any
+Conflicts: spl-dev, splat
+Depends: ${misc:Depends}, ${shlibs:Depends}
+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
+ run Solaris kernel code in the Linux kernel with relatively minimal
+ modification. The Solaris Porting LAyer Tests (SPLAT) is a Linux kernel
+ module which provides a testing harness for the SPL module.
+ .
+ SPL can be particularly useful when you want to track upstream Illumos
+ (or any other OpenSolaris fork) development closely and don't want the
+ overhead of maintaining a large patch which converts Solaris primitives
+ to Linux primitives.
+ .
+ This package includes the user space utilities needed to test and debug
+ the SPL and SPLAT kernel modules.
diff --git a/spl/debian/copyright b/spl/debian/copyright
new file mode 100644 (file)
index 0000000..8f6153b
--- /dev/null
@@ -0,0 +1,189 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: Solaris Porting Layer for Linux
+Upstream-Contact: Brian Behlendorf <behlendorf1@llnl.gov>
+Source: https://github.com/zfsonlinux/spl/
+Disclaimer:
+ This work was produced at the Lawrence Livermore National Laboratory
+ (LLNL) under Contract No. DE-AC52-07NA27344 (Contract 44) between
+ the U.S. Department of Energy (DOE) and Lawrence Livermore National
+ Security, LLC (LLNS) for the operation of LLNL.
+ .
+ This work was prepared as an account of work sponsored by an agency of
+ the United States Government.  Neither the United States Government nor
+ Lawrence Livermore National Security, LLC nor any of their employees,
+ makes any warranty, express or implied, or assumes any liability or
+ responsibility for the accuracy, completeness, or usefulness of any
+ information, apparatus, product, or process disclosed, or represents
+ that its use would not infringe privately-owned rights.
+ .
+ Reference herein to any specific commercial products, process, or
+ services by trade name, trademark, manufacturer or otherwise does
+ not necessarily constitute or imply its endorsement, recommendation,
+ or favoring by the United States Government or Lawrence Livermore
+ National Security, LLC.  The views and opinions of authors expressed
+ herein do not necessarily state or reflect those of the Untied States
+ Government or Lawrence Livermore National Security, LLC, and shall
+ not be used for advertising or product endorsement purposes.
+
+Files: *
+Copyright: Lawrence Livermore National Security, LLC.
+ The Regents of the University of California
+License: GPL-2+
+
+Files: config/config.guess
+Copyright: Free Software Foundation, Inc.
+License: GPL-2+
+
+Files: config/config.sub
+Copyright: Free Software Foundation, Inc.
+License: GPL-2+
+
+Files: config/deb.am
+Copyright: Lawrence Livermore National Security, LLC.
+License: GPL-2+
+
+Files: config/depcomp
+Copyright: Free Software Foundation, Inc.
+License: GPL-2+
+
+Files: config/install-sh
+Copyright: 1994 X Consortium
+License: X11-install-sh
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to
+ deal in the Software without restriction, including without limitation the
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ .
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+ X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+ TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ .
+ Except as contained in this notice, the name of the X Consortium shall not
+ be used in advertising or otherwise to promote the sale, use or other deal-
+ ings in this Software without prior written authorization from the X Consor-
+ tium.
+
+Files: config/ltmain.sh
+Copyright: Free Software Foundation, Inc.
+License: GPL-2+
+
+Files: config/missing
+Copyright: Free Software Foundation, Inc.
+License: GPL-2+
+
+Files: config/tgz.am
+Copyright: Lawrence Livermore National Security, LLC.
+License: GPL-2+
+
+Files: debian/*
+Copyright: Darik Horn <dajhorn@vanadac.com>
+ Carlos Alberto Lopez Perez <clopez@igalia.com>
+ Aron Xu <aron@debian.org>
+License: GPL-2+
+
+Files: include/linux/zlib_compat.h
+Copyright: Lawrence Livermore National Security, LLC.
+License: GPL-2+
+
+Files: include/rpc/xdr.h
+Copyright: Sun Microsystems, Inc.
+License: GPL-2+
+
+Files: include/sys/extdirent.h
+Copyright: Lawrence Livermore National Security, LLC.
+License: GPL-2+
+
+Files: include/sys/fcntl.h
+Copyright: Lawrence Livermore National Security, LLC.
+License: GPL-2+
+
+Files: include/sys/idmap.h
+Copyright: Lawrence Livermore National Security, LLC.
+License: GPL-2+
+
+Files: include/sys/tsd.h
+Copyright: Lawrence Livermore National Security, LLC.
+License: GPL-2+
+
+Files: include/sys/zmod.h
+Copyright: Jean-loup Gailly
+ Mark Adler
+License: zmod
+ This software is provided 'as-is', without any express or implied
+ warranty.  In no event will the authors be held liable for any damages
+ arising from the use of this software.
+ .
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+ .
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ .
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ .
+ 3. This notice may not be removed or altered from any source distribution.
+
+Files: module/spl/spl-tsd.c
+Copyright: Lawrence Livermore National Security, LLC.
+License: GPL-2+
+
+Files: module/spl/spl-xdr.c
+Copyright: Sun Microsystems, Inc.
+License: GPL-2+
+
+Files: module/splat/splat-linux.c
+Copyright: Lawrence Livermore National Security, LLC.
+License: GPL-2+
+
+Files: scripts/kmodtool
+Copyright: 2003-2012 Ville Skyttä <ville.skytta@iki.fi>
+ Thorsten Leemhuis <fedora@leemhuis.info>
+ Nicolas Chauvet <kwizart@gmail.com>
+License: BSD-like
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+ .
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License: GPL-2+
+ This program is free software; you can redistribute it and/or modify it under
+ the terms of the GNU General Public License as published by the Free Software
+ Foundation; either version 2 of the License, or (at your option) any later
+ version.
+ .
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License along with
+ this package; if not, write to the Free Software Foundation, Inc., 51 Franklin
+ St, Fifth Floor, Boston, MA  02110-1301 USA
+ .
+ On Debian systems, the full text of the GNU General Public License version 2
+ can be found in the file /usr/share/common-licenses/GPL-2.
diff --git a/spl/debian/patches/0001-deadlock-between-mm_sem-and-tx-assign-in-zfs_write-a.patch b/spl/debian/patches/0001-deadlock-between-mm_sem-and-tx-assign-in-zfs_write-a.patch
new file mode 100644 (file)
index 0000000..2906ef8
--- /dev/null
@@ -0,0 +1,42 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: ilbsmart <wgqimut@gmail.com>
+Date: Wed, 17 Oct 2018 02:11:24 +0800
+Subject: [PATCH] deadlock between mm_sem and tx assign in zfs_write() and page
+ fault
+
+The bug time sequence:
+1. thread #1, `zfs_write` assign a txg "n".
+2. In a same process, thread #2, mmap page fault (which means the
+   `mm_sem` is hold) occurred, `zfs_dirty_inode` open a txg failed,
+   and wait previous txg "n" completed.
+3. thread #1 call `uiomove` to write, however page fault is occurred
+   in `uiomove`, which means it need `mm_sem`, but `mm_sem` is hold by
+   thread #2, so it stuck and can't complete,  then txg "n" will
+   not complete.
+
+So thread #1 and thread #2 are deadlocked.
+
+Reviewed-by: Chunwei Chen <tuxoko@gmail.com>
+Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
+Reviewed-by: Matthew Ahrens <mahrens@delphix.com>
+Signed-off-by: Grady Wong <grady.w@xtaotech.com>
+Closes #7939
+
+(backported from: zfs-upstream 779a6c0bf6df76e0dd92c1ccf81f48512b835bb0)
+Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
+---
+ include/sys/uio.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/include/sys/uio.h b/include/sys/uio.h
+index 764beb9..2895690 100644
+--- a/include/sys/uio.h
++++ b/include/sys/uio.h
+@@ -53,6 +53,7 @@ typedef struct uio {
+       int             uio_iovcnt;
+       offset_t        uio_loffset;
+       uio_seg_t       uio_segflg;
++      boolean_t       uio_fault_disable;
+       uint16_t        uio_fmode;
+       uint16_t        uio_extflg;
+       offset_t        uio_limit;
diff --git a/spl/debian/patches/series b/spl/debian/patches/series
new file mode 100644 (file)
index 0000000..9b4596f
--- /dev/null
@@ -0,0 +1 @@
+0001-deadlock-between-mm_sem-and-tx-assign-in-zfs_write-a.patch
diff --git a/spl/debian/rules b/spl/debian/rules
new file mode 100755 (executable)
index 0000000..55e3568
--- /dev/null
@@ -0,0 +1,33 @@
+#!/usr/bin/make -f
+
+include /usr/share/dpkg/pkg-info.mk
+
+VERSION := $(DEB_VERSION_UPSTREAM)
+REVISION := $(shell echo $(DEB_VERSION) | cut -d- -f2)
+
+export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+
+%:
+       dh $@ --with autoreconf --parallel
+
+override_dh_auto_configure:
+       @# Embed the downstream version in the module.
+       @sed \
+         -e 's/^Version:.*/Version:      $(VERSION)/' \
+         -e 's/^Release:.*/Release:      $(REVISION)/' \
+         -i.orig META
+
+       @# Build the userland, but don't build the kernel modules.
+       dh_auto_configure -- --with-config=user --disable-debug-kmem
+
+override_dh_auto_test:
+       # scripts/check.sh tries insmod and rmmod, so it cannot
+       # run in an unprivileged build environment.
+
+override_dh_auto_install:
+       @# Install the utilities.
+       $(MAKE) install DESTDIR='$(CURDIR)/debian/tmp'
+
+override_dh_auto_clean:
+       dh_auto_clean
+       @if test -e META.orig; then mv META.orig META; fi
diff --git a/spl/debian/source/format b/spl/debian/source/format
new file mode 100644 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/spl/debian/source/options b/spl/debian/source/options
new file mode 100644 (file)
index 0000000..707e48b
--- /dev/null
@@ -0,0 +1 @@
+extend-diff-ignore='.*'
diff --git a/spl/debian/spl.install b/spl/debian/spl.install
new file mode 100644 (file)
index 0000000..4b75c78
--- /dev/null
@@ -0,0 +1,2 @@
+usr/sbin
+usr/share/man/man1/splat.1
diff --git a/spl/debian/spl.lintian-overrides b/spl/debian/spl.lintian-overrides
new file mode 100644 (file)
index 0000000..0170bbe
--- /dev/null
@@ -0,0 +1 @@
+spl: command-with-path-in-maintainer-script
diff --git a/spl/debian/spl.postinst b/spl/debian/spl.postinst
new file mode 100644 (file)
index 0000000..a0bb353
--- /dev/null
@@ -0,0 +1,49 @@
+#!/bin/sh
+set -e
+# The hostname and hostid of the last system to access a ZFS pool are stored in
+# the ZFS pool itself.  A pool is foreign if, during `zpool import`, the
+# current hostname and hostid are different than the stored values thereof.
+#
+# The hostid on Solaris is intrinsic, but is not on Linux (see #595790), so the
+# spl kernel module invokes /usr/bin/hostid from the userland in its initialization
+# routine.
+#
+# /usr/bin/hostid will return the 4 first bytes of the file /etc/hostid.
+# If this file is not present or contains less than 4 bytes, then /usr/bin/hostid
+# will return the bytes of the IP address of $(hostname) flipped, or zero if
+# such IP couldn't be obtained
+#
+# This means that things like a DHCP lease change can affect the hostid.
+#
+# Therefore the only way of having a stable hostid is to define it on /etc/hostid.
+# This postinst helper will check if we already have the hostid stabilized by
+# checking the existence of the file /etc/hostid to be 4 bytes at least.
+# If this file don't already exists on our system or has less than 4 bytes, then
+# we will stabilize our current hostid by writing its value to /etc/hostid
+
+# Detect if /etc/hostid is a conffile of previous spl package, migrate if yes
+# hostid file should preserve even when package is purged
+if $(dpkg-query --showformat='${Conffiles}\n' --show spl >/dev/null 2>&1); then
+       dpkg-maintscript-helper rm_conffile /etc/hostid -- "$@"
+fi
+
+if [ ! -f /etc/hostid ] || [ $(stat -c %s /etc/hostid) -lt 4 ] ; then
+
+       # Write our current hostid to /etc/hostid
+       HOSTID=$(hostid)
+       AA=$(echo $HOSTID | cut -b 1,2)
+       BB=$(echo $HOSTID | cut -b 3,4)
+       CC=$(echo $HOSTID | cut -b 5,6)
+       DD=$(echo $HOSTID | cut -b 7,8)
+
+       # Big Endian
+       if [ $(echo -n I | od -to2 | awk 'FNR==1{ print substr($2,6,1)}' 2>/dev/null) = 0 ]; then
+               # Invoke the printf from coreutils. shell builtin lacks the byte format.
+               /usr/bin/printf "\x$AA\x$BB\x$CC\x$DD" >/etc/hostid
+       else
+       # Little Endian
+               /usr/bin/printf "\x$DD\x$CC\x$BB\x$AA" >/etc/hostid
+       fi
+fi
+
+#DEBHELPER#
diff --git a/spl/debian/spl.postrm b/spl/debian/spl.postrm
new file mode 100644 (file)
index 0000000..2b6dc7b
--- /dev/null
@@ -0,0 +1,10 @@
+#!/bin/sh
+set -e
+
+# Detect if /etc/hostid is a conffile of previous spl package, migrate if yes
+# hostid file should preserve even when package is purged
+if $(dpkg-query --showformat='${Conffiles}\n' --show spl >/dev/null 2>&1); then
+        dpkg-maintscript-helper rm_conffile /etc/hostid -- "$@"
+fi
+
+#DEBHELPER#
diff --git a/spl/debian/spl.preinst b/spl/debian/spl.preinst
new file mode 100644 (file)
index 0000000..2b6dc7b
--- /dev/null
@@ -0,0 +1,10 @@
+#!/bin/sh
+set -e
+
+# Detect if /etc/hostid is a conffile of previous spl package, migrate if yes
+# hostid file should preserve even when package is purged
+if $(dpkg-query --showformat='${Conffiles}\n' --show spl >/dev/null 2>&1); then
+        dpkg-maintscript-helper rm_conffile /etc/hostid -- "$@"
+fi
+
+#DEBHELPER#
diff --git a/spl/debian/watch b/spl/debian/watch
new file mode 100644 (file)
index 0000000..8b8681e
--- /dev/null
@@ -0,0 +1,2 @@
+version=3
+https://zfsonlinux.org/ .*spl-([\d\.]+)\.tar\.gz$