]> git.proxmox.com Git - mirror_zfs-debian.git/commitdiff
Merge branch 'upstream'
authorDarik Horn <dajhorn@vanadac.com>
Tue, 18 Sep 2012 04:42:22 +0000 (23:42 -0500)
committerDarik Horn <dajhorn@vanadac.com>
Tue, 18 Sep 2012 04:42:22 +0000 (23:42 -0500)
64 files changed:
.pc/.quilt_patches [new file with mode: 0644]
.pc/.quilt_series [new file with mode: 0644]
.pc/.version [new file with mode: 0644]
README.markdown
debian/NEWS [new file with mode: 0644]
debian/changelog [new file with mode: 0644]
debian/compat [new file with mode: 0644]
debian/control [new file with mode: 0644]
debian/copyright [new file with mode: 0644]
debian/debuild-ppa.sh [new file with mode: 0755]
debian/libnvpair1.docs [new file with mode: 0644]
debian/libnvpair1.install [new file with mode: 0644]
debian/libnvpair1.lintian-overrides [new file with mode: 0644]
debian/libuutil1.docs [new file with mode: 0644]
debian/libuutil1.install [new file with mode: 0644]
debian/libuutil1.lintian-overrides [new file with mode: 0644]
debian/libzfs-dev.docs [new file with mode: 0644]
debian/libzfs-dev.install [new file with mode: 0644]
debian/libzfs-dev.lintian-overrides [new file with mode: 0644]
debian/libzfs1.docs [new file with mode: 0644]
debian/libzfs1.install [new file with mode: 0644]
debian/libzfs1.lintian-overrides [new file with mode: 0644]
debian/libzpool1.docs [new file with mode: 0644]
debian/libzpool1.install [new file with mode: 0644]
debian/libzpool1.lintian-overrides [new file with mode: 0644]
debian/patches/0001-Prevent-manual-builds-in-the-DKMS-source.patch [new file with mode: 0644]
debian/patches/0002-Remove-the-COPYING-file.patch [new file with mode: 0644]
debian/patches/0003-Remove-all-upstream-init.d-components.patch [new file with mode: 0644]
debian/patches/0004-Remove-the-upstream-dracut-component.patch [new file with mode: 0644]
debian/patches/0005-Remove-userland-dist-rules.patch [new file with mode: 0644]
debian/patches/0006-Improve-the-with-spl-error-for-DKMS-systems.patch [new file with mode: 0644]
debian/patches/0007-Improve-the-SPL-version-error-for-DKMS-systems.patch [new file with mode: 0644]
debian/patches/README [new file with mode: 0644]
debian/patches/series [new file with mode: 0644]
debian/rules [new file with mode: 0755]
debian/source/format [new file with mode: 0644]
debian/source/options [new file with mode: 0644]
debian/tree/zfs-initramfs/usr/share/initramfs-tools/conf-hooks.d/zfs [new file with mode: 0644]
debian/tree/zfs-initramfs/usr/share/initramfs-tools/hooks/zfs [new file with mode: 0755]
debian/tree/zfs-initramfs/usr/share/initramfs-tools/scripts/zfs [new file with mode: 0644]
debian/tree/zfsutils/etc/bash_completion.d/zfs [new file with mode: 0644]
debian/tree/zfsutils/etc/sudoers.d/zfs [new file with mode: 0644]
debian/watch [new file with mode: 0644]
debian/zfs-dkms.dkms [new file with mode: 0644]
debian/zfs-dkms.docs [new file with mode: 0644]
debian/zfs-dkms.install [new file with mode: 0644]
debian/zfs-dkms.lintian-overrides [new file with mode: 0644]
debian/zfs-dkms.postinst [new file with mode: 0644]
debian/zfs-dkms.prerm [new file with mode: 0644]
debian/zfs-dracut.install [new file with mode: 0644]
debian/zfs-initramfs.install [new file with mode: 0644]
debian/zfs-initramfs.preinst [new file with mode: 0644]
debian/zfs-initramfs.triggers [new file with mode: 0644]
debian/zfsutils.docs [new file with mode: 0644]
debian/zfsutils.examples [new file with mode: 0644]
debian/zfsutils.install [new file with mode: 0644]
debian/zfsutils.lintian-overrides [new file with mode: 0644]
debian/zfsutils.postinst [new file with mode: 0644]
debian/zfsutils.postrm [new file with mode: 0644]
debian/zfsutils.preinst [new file with mode: 0644]
debian/zfsutils.prerm [new file with mode: 0644]
debian/zfsutils.zfs-mount.init [new file with mode: 0644]
debian/zfsutils.zfs-share.init [new file with mode: 0644]
debian/zfsutils.zfs.default [new file with mode: 0644]

diff --git a/.pc/.quilt_patches b/.pc/.quilt_patches
new file mode 100644 (file)
index 0000000..6857a8d
--- /dev/null
@@ -0,0 +1 @@
+debian/patches
diff --git a/.pc/.quilt_series b/.pc/.quilt_series
new file mode 100644 (file)
index 0000000..c206706
--- /dev/null
@@ -0,0 +1 @@
+series
diff --git a/.pc/.version b/.pc/.version
new file mode 100644 (file)
index 0000000..0cfbf08
--- /dev/null
@@ -0,0 +1 @@
+2
index a8abb00d348480be771d799ea7a44f18ea7575f7..55123eb3956a618a3d528daff561e9402f244b92 100644 (file)
@@ -1,17 +1,7 @@
-Native ZFS for Linux! ZFS is an advanced file system and volume manager
-which was originally developed for Solaris. It has been successfully 
-ported to FreeBSD and now there is a functional Linux ZFS kernel port
-too. The port currently includes a fully functional and stable SPA, DMU,
-and ZVOL with a ZFS Posix Layer (ZPL) on the way!
+Native ZFS for Debian and Ubuntu. Install the pkg-spl packages first,
+and then build packages from this source repository by running:
 
-    $ ./configure
-    $ make pkg
-
-To copy the kernel code inside your kernel source tree for builtin
-compilation:
-
-    $ ./configure --enable-linux-builtin --with-linux=/usr/src/linux-...
-    $ ./copy-builtin /usr/src/linux-...
+  $ dpkg-buildpackage -us -uc
 
 Full documentation for building, configuring, and using ZFS can be
 found at: <http://zfsonlinux.org>
diff --git a/debian/NEWS b/debian/NEWS
new file mode 100644 (file)
index 0000000..09cee0b
--- /dev/null
@@ -0,0 +1,24 @@
+zfs-linux (0.6.0.34-0ubuntu1) oneiric; urgency=low
+
+  * The PPA for ZFS is moving.
+  The ppa:dajhorn/zfs archive is deprecated because the ZFS project
+  now has a team account at Launchpad. Use the ppa:zfs-native/stable
+  archive instead.
+
+  Please visit: https://launchpad.net/~zfs-native/
+
+ -- Darik Horn <dajhorn@vanadac.com>  Tue, 11 Oct 2011 19:23:58 -0500
+
+zfs-linux (0.6.0.7-0ubuntu2) unstable; urgency=medium
+
+  NOTE:  The removal of the zfs or zfs-lib package by this
+         upgrade, either now or later, is expected and safe.
+
+  Please ensure that the ubuntu-zfs package is installed so
+  that the upgrade happens automatically.
+
+  This is happening so that the ZFS packages for Linux are
+  more like the packages already in Debian kFreeBSD.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Thu, 07 Apr 2011 13:51:23 -0500
diff --git a/debian/changelog b/debian/changelog
new file mode 100644 (file)
index 0000000..571f68f
--- /dev/null
@@ -0,0 +1,1627 @@
+zfs-linux (0.6.0.78-0ubuntu1) unstable; urgency=low
+
+  [ Brian Behlendorf ]
+  * Revert "Improve AF hard disk detection"
+  * Move iput() after zfs_inode_update()
+
+  [ Cyril Plisko ]
+  * Fix zdb printf format string for ZIL data blocks
+
+  [ Darik Horn ]
+  * Refresh debian/patches after upstream merge.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Fri, 14 Sep 2012 13:07:59 -0500
+
+zfs-linux (0.6.0.77-0ubuntu1) unstable; urgency=low
+
+  [ Brian Behlendorf ]
+  * Remove zvol device node
+
+  [ Etienne Dechamps ]
+  * Silence "setting dataset to sync always" message in ztest.
+
+  [ Chris Dunlop ]
+  * Remove autotools products
+
+  [ Cyril Plisko ]
+  * Illumos #3064: usr/src/cmd/zpool/zpool_main.c misspells "successful"
+  * Avoid running exportfs on each zfs/zpool command invocation
+
+ -- Darik Horn <dajhorn@vanadac.com>  Tue, 11 Sep 2012 17:11:53 -0500
+
+zfs-linux (0.6.0.76-0ubuntu1) unstable; urgency=low
+
+  [ Brian Behlendorf ]
+  * Switch KM_SLEEP to KM_PUSHPAGE
+  * Disable page allocation warnings for ARC buffers
+  * Add zstreamdump .gitignore
+
+  [ Michael Martin ]
+  * Fix missing vdev names in zpool status output
+
+  [ Etienne Dechamps ]
+  * Increase the stack space in userspace.
+
+  [ Cyril Plisko ]
+  * Make ZFS filesystem id persistent across different machines
+
+ -- Darik Horn <dajhorn@vanadac.com>  Thu, 06 Sep 2012 20:14:04 -0500
+
+zfs-linux (0.6.0.75-0ubuntu1) unstable; urgency=low
+
+  [ Martin Matuska ]
+  * Add zstreamdump(8) command to examine ZFS send streams.
+
+  [ Etienne Dechamps ]
+  * Add libnvpair to mount_zfs dependencies
+
+  [ Brian Behlendorf ]
+  * Switch KM_SLEEP to KM_PUSHPAGE
+  * Improve AF hard disk detection
+  * Switch KM_SLEEP to KM_PUSHPAGE
+
+  [ Darik Horn ]
+  * Refresh debian/patches after upstream merge.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Wed, 05 Sep 2012 10:05:40 -0500
+
+zfs-linux (0.6.0.74-0ubuntu1) unstable; urgency=low
+
+  [ Brian Behlendorf ]
+  * Switch KM_SLEEP to KM_PUSHPAGE
+
+  [ Chris Dunlop ]
+  * Switch KM_SLEEP to KM_PUSHPAGE
+
+ -- Darik Horn <dajhorn@vanadac.com>  Sun, 02 Sep 2012 14:42:48 -0500
+
+zfs-linux (0.6.0.73-0ubuntu1) unstable; urgency=low
+
+  [ Richard Yao ]
+  * Check kernel source directory for SPL
+  * Consistent menuconfig name
+  * Switch KM_SLEEP to KM_PUSHPAGE
+
+  [ Brian Behlendorf ]
+  * rmdir(2) should return ENOTEMPTY
+  * Remove autotools products
+  * Pre-allocate vdev I/O buffers
+  * Annotate KM_PUSHPAGE call paths with PF_NOFS
+  * mzap_upgrade() must use kmem_alloc()
+  * Clear PG_writeback after zil_commit() for sync I/O
+
+  [ Prakash Surya ]
+  * Remove autoconf check for CONFIG_PREEMPT
+
+  [ Richard Yao ]
+  * Revert Fix ASSERTION(!dsl_pool_sync_context(tx->tx_pool))
+  * Revert Fix zpl_writepage() deadlock
+  * Revert Disable direct reclaim for z_wr_* threads
+
+  [ Etienne Dechamps ]
+  * Fix mount_zfs dependency on libzpool.
+
+  [ Darik Horn ]
+  * Refresh debian/patches after upstream merge.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Fri, 31 Aug 2012 15:39:03 -0500
+
+zfs-linux (0.6.0.72-0ubuntu1) unstable; urgency=low
+
+  [ Martin Matuska ]
+  * Properly initialize and free destroydata
+
+  [ Brian Behlendorf ]
+  * Add copy-builtin to EXTRA_DIST
+  * Revert "Use SA_HDL_PRIVATE for SA xattrs"
+
+  [ Alexander Eremin ]
+  * Illumos #1977: zfs allow arguments not parsed correctly after pyzfs removal
+  * Illumos #1726: Removal of pyzfs broke delegation for volumes
+
+  [ Andrew Stormont ]
+  * Illumos #1936: add support for "-t <datatype>" argument to zfs get
+
+  [ Eric Schrock ]
+  * Illumos #2635: 'zfs rename -f' to perform force unmount
+
+  [ Christopher Siden ]
+  * Illumos #1796, #2871, #2903, #2957
+  * Illumos #3085: zfs diff panics, then panics in a loop on booting
+
+  [ Garrett D'Amore ]
+  * Illumos #2803: zfs get guid pretty-prints the output
+
+  [ Massimo Maggi ]
+  * Fix snapshot automounting with GrSecurity constify plugin.
+
+  [ Prakash Surya ]
+  * Wrap smp_processor_id in kpreempt_[dis|en]able
+
+  [ Javen Wu ]
+  * Drop spill buffer reference
+
+  [ Simon Klinkert ]
+  * Illumos #2901: zfs receive fails for exabyte sparse files
+
+  [ Darik Horn ]
+  * Refresh debian/patches after upstream merge.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Sun, 26 Aug 2012 18:09:15 -0500
+
+zfs-linux (0.6.0.71-0ubuntu1) unstable; urgency=low
+
+  [ Brian Behlendorf ]
+  * Cleanly remove zfs-modules-devel headers
+  * Export dmu_buf_rele() symbol
+  * ZFS 0.6.0-rc10
+
+ -- Darik Horn <dajhorn@vanadac.com>  Tue, 14 Aug 2012 21:41:22 -0500
+
+zfs-linux (0.6.0.70-0ubuntu1) unstable; urgency=low
+
+  [ Richard Yao ]
+  * Add missing dependencies to ./copy-builtin
+
+  [ Etienne Dechamps ]
+  * Set zvol discard_granularity to the volblocksize.
+
+  [ Dan McDonald ]
+  * Illumos #1693: persistent 'comment' field for a zpool
+
+  [ Prakash Surya ]
+  * Add '--with-spl-timeout' option
+  * Support building a zfs-modules-dkms sub package
+
+  [ Brian Behlendorf ]
+  * Export dbuf_* symbols
+  * Illumos #1888:  zfs(8) should mention zfs recv -e
+  * Suppress 'zfs_sb_create' memory warning
+
+  [ Ned Bass ]
+  * Fix man page installation path
+
+  [ Darik Horn ]
+  * Refresh debian/patches after upstream merge.
+
+  [ Peter Fern ]
+  * Add debug packages for libs and tools
+
+ -- Darik Horn <dajhorn@vanadac.com>  Fri, 10 Aug 2012 20:35:15 -0500
+
+zfs-linux (0.6.0.69-0ubuntu3) unstable; urgency=low
+
+  [ Darik Horn ]
+  * Update the README file for deb packages.
+
+  [ Brian Behlendorf ]
+  * Allow '-o remount' for non-legacy datasets
+
+  [ Manuel Amador (Rudd-O) ]
+  * Adding grub2 mkconfig support patch
+
+  [ Matthew Ahrens ]
+  * Illumos #1644, #1645, #1646, #1647, #1708
+
+  [ Etienne Dechamps ]
+  * Limit the number of blocks to discard at once.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Mon, 06 Aug 2012 11:39:15 -0500
+
+zfs-linux (0.6.0.68-0ubuntu1) unstable; urgency=low
+
+  [ Brian Behlendorf ]
+  * Add 'inline' keyword
+  * Add ddt_object_load() error handling
+  * Disable .zfs directory on 32-bit systems
+
+  [ Richard Yao ]
+  * Fix build failures on PaX/GRSecurity patched kernels
+  * Fix NULL pointer dereference on PaX/GRSecurity patched Linux 3.3 and later kernels
+  * Linux 3.5 compat, eops->encode_fh() takes inodes
+  * Linux 3.5 compat, iops->truncate_range() removed
+  * Linux 3.5 compat, end_writeback() changed to clear_inode()
+
+  [ Etienne Dechamps ]
+  * Move partition scanning from userspace to module.
+  * Don't build packages that haven't been selected.
+  * Make configure builtin-aware.
+  * Fake modpost stage for LINUX_COMPILE.
+  * When checking for symbol exports, try compiling.
+  * Add script for builtin module building.
+  * Use /sys/module instead of /proc/modules.
+
+  [ Darik Horn ]
+  * Refresh debian/patches after upstream merge.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Fri, 27 Jul 2012 14:37:39 -0500
+
+zfs-linux (0.6.0.67-0ubuntu1) unstable; urgency=low
+
+  [ Richard Yao ]
+  * Use ULL suffix in constants
+  * Relicense zfs.gentoo.in from GPLv2 to 2-clause BSD
+
+  [ Garrett D'Amore ]
+  * Illumos #1748: desire support for reguid in zfs
+
+  [ George Wilson ]
+  * Illumos #1949, #1953
+
+  [ Etienne Dechamps ]
+  * Fix error handling for "zpool online -e".
+  * Use the right device path when relabeling.
+  * Fix efi_use_whole_disk() when efi_nparts == 128.
+
+  [ Brian Behlendorf ]
+  * Add PowerPC to supported VTOCs
+  * Move zfs.release generation to configure step
+
+  [ Darik Horn ]
+  * Refresh debian/patches after upstream merge.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Sun, 15 Jul 2012 23:11:46 -0500
+
+zfs-linux (0.6.0.66-0ubuntu1) unstable; urgency=low
+
+  [ Etienne Dechamps ]
+  * Add ZIL statistics.
+
+  [ Prakash Surya ]
+  * Support debug and debug-devel sub packages
+
+  [ Brian Behlendorf ]
+  * Remove Chaos 4.x RPM support
+  * Update incorrect ddt_zap_lookup() assertion
+
+ -- Darik Horn <dajhorn@vanadac.com>  Wed, 04 Jul 2012 00:16:38 -0500
+
+zfs-linux (0.6.0.65-0ubuntu2) unstable; urgency=high
+
+  * chmod 0440 /etc/sudoers.d/zfs
+
+ -- Darik Horn <dajhorn@vanadac.com>  Tue, 19 Jun 2012 10:54:09 -0500
+
+zfs-linux (0.6.0.65-0ubuntu1) unstable; urgency=low
+
+  [ Etienne Dechamps ]
+  * Make zil_slog_limit a tunable module parameter.
+
+  [ Richard Yao ]
+  * Make zvol_remove_link() print a more useful error message
+
+  [ Pawel Jakub Dawidek ]
+  * Speed up 'zfs list -t snapshot -o name -s name'
+
+  [ Darik Horn ]
+  * Add zvol_inhibit_dev module option.
+  * Refresh debian/patches after upstream merge.
+
+  [ Brian Behlendorf ]
+  * Workaround for failing zvol_id
+  * Mark zdev.conf as a config file
+  * ZFS 0.6.0-rc9
+
+ -- Darik Horn <dajhorn@vanadac.com>  Thu, 14 Jun 2012 15:18:54 -0500
+
+zfs-linux (0.6.0.64-0ubuntu1) unstable; urgency=low
+
+  [ Ned Bass ]
+  * Improve CONFIG_DEBUG_LOCK_ALLOC error message
+
+  [ Etienne Dechamps ]
+  * Honor logbias when writing to ZVOLs.
+
+  [ Richard Yao ]
+  * Linux 3.4 compat, d_make_root() replaces d_alloc_root()
+
+  [ Daniel Verite ]
+  * Include <locale.h> to avoid error: 'LC_ALL' undeclared.
+  * Retry removal of busy minors
+
+  [ Darik Horn ]
+  * Refresh debian/patches after upstream merge.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Mon, 11 Jun 2012 23:12:08 -0500
+
+zfs-linux (0.6.0.63-0ubuntu1) unstable; urgency=low
+
+  [ Jorgen Lundman ]
+  * Define the needed ISA types for ARM
+
+  [ Brian Behlendorf ]
+  * Extend CONFIG_DEBUG_LOCK_ALLOC check
+  * Add /dev/mapper/ to search path
+  * Improve 'zpool import' EBUSY error message
+
+  [ Ned A. Bass ]
+  * Add vdev_id for JBOD-friendly udev aliases
+
+  [ Darik Horn ]
+  * Refresh debian/patches after upstream merge.
+  * Disable Ubuntu 10.10 Maverick Meerkat builds.
+  * Add Add-zvol_inhibit_dev-module-option.patch
+  * Add /etc/sudoers.d/zfs file.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Fri, 01 Jun 2012 22:02:32 -0500
+
+zfs-linux (0.6.0.62-0ubuntu1) unstable; urgency=low
+
+  [ Mike Harsch ]
+  * Illumos #952: separate intent logs should be obvious in 'zpool iostat' output
+
+  [ Frederik Wessels ]
+  * Illumos #1946: incorrect formatting when listing output of multiple pools with zpool iostat -v
+
+  [ Richard Lowe ]
+  * Illumos #2067: uninitialized variables in zfs(1M) may make snapshots undestroyable
+
+  [ Richard Yao ]
+  * Update ARC memory limits to account for SLUB internal fragmentation
+  * Disable direct reclaim on zvols
+
+  [ Brian Behlendorf ]
+  * Add zfs_mdcomp_disable module option
+  * Integrate ARC more tightly with Linux
+  * Linux 3.3 compat, iops->create()/mkdir()/mknod()
+  * Add mdadm and bc dependencies
+  * Revert "Disable direct reclaim on zvols"
+
+  [ Darik Horn ]
+  * Refresh debian/patches after upstream merge.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Tue, 01 May 2012 14:44:11 -0500
+
+zfs-linux (0.6.0.61-0ubuntu1) unstable; urgency=low
+
+  [ Prakash Surya ]
+  * Use KM_PUSHPAGE in l2arc_write_buffers
+
+  [ Brian Behlendorf ]
+  * Illumos #1909: disk sync write perf regression when slog is used post oi_148
+
+ -- Darik Horn <dajhorn@vanadac.com>  Sun, 22 Apr 2012 08:13:33 -0500
+
+zfs-linux (0.6.0.60-0ubuntu1) unstable; urgency=low
+
+  [ Brian Behlendorf ]
+  * Export additional dsl symbols
+
+  [ Richard Laager ]
+  * Document the zle compression algorithm
+  * Improve error message consistency
+
+  [ Andriy Gapon ]
+  * Illumos #1680: zfs vdev_file_io_start: validate vdev before using vdev_tsd
+
+  [ Martin Matuska ]
+  * OS-926: zfs panic in zfs_fill_zplprops_impl()
+
+  [ George Wilson ]
+  * Illumos #1951: leaking a vdev when removing an l2cache device
+
+  [ Albert Lee ]
+  * Illumos #1475: zfs spill block hold can access invalid spill blkptr
+
+  [ Martin Matuska ]
+  * Illumos #1346: zfs incremental receive may leave behind temporary clones
+
+  [ P.SCH ]
+  * ZFS snapshot alias
+  * ZFS list snapshot property alias
+
+  [ Darik Horn ]
+  * Add Improve-the-SPL-version-error-for-DKMS-systems.patch
+
+ -- Darik Horn <dajhorn@vanadac.com>  Sat, 21 Apr 2012 10:38:51 -0500
+
+zfs-linux (0.6.0.58-0ubuntu1) unstable; urgency=low
+
+  [ Richard Yao ]
+  * Print human readable error message for ENOENT
+  * Make Gentoo initscript use modinfo
+
+  [ Gunnar Beutner ]
+  * Fixed a NULL pointer dereference bug in zfs_preumount
+
+  [ Darik Horn ]
+  * Refresh debian/patches after upstream merge.
+  * Add dkms kernel source exception for Proxmox 2.0
+
+ -- Darik Horn <dajhorn@vanadac.com>  Mon, 09 Apr 2012 09:49:36 -0500
+
+zfs-linux (0.6.0.57-0ubuntu2) unstable; urgency=low
+
+  [ Darik Horn ]
+  * Reorder zfs-dkms.postinst for dh_dkms glitch.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Mon, 02 Apr 2012 23:05:23 -0500
+
+zfs-linux (0.6.0.57-0ubuntu1) unstable; urgency=low
+
+  [ Craig Sanders ]
+  * Remove hard-coded 80 column output
+
+  [ Brian Behlendorf ]
+  * Properly expose the mfu ghost list kstats
+
+  [ Darik Horn ]
+  * Invoke notify-reboot-required for upgrades.
+  * Add libgcc_s.so.1 to the zfs-initramfs manifest.
+  * Add missing #DEBHELPER# macro to zfsutils.
+  * Refresh debian/patches after upstream merge.
+  * Enable 0007-Integrate-ARC-more-tightly-with-Linux.patch
+
+ -- Darik Horn <dajhorn@vanadac.com>  Fri, 30 Mar 2012 00:38:33 -0500
+
+zfs-linux (0.6.0.56-0ubuntu1) unstable; urgency=low
+
+  [ Brian Behlendorf ]
+  * Fix executable permissions
+  * ZFS 0.6.0-rc8
+
+  [ Darik Horn ]
+  * Disable 0007-Integrate-ARC-more-tightly-with-Linux.patch
+
+ -- Darik Horn <dajhorn@vanadac.com>  Mon, 26 Mar 2012 21:19:40 -0500
+
+zfs-linux (0.6.0.55-0ubuntu1) unstable; urgency=low
+
+  [ Brian Behlendorf ]
+  * Add .zfs control directory
+  * Account for .zfs ctldir inodes
+  * Add ZFS_META_RELEASE to module load/unload messages
+  * Enhance a dmu_tx_dirty_buf() assertion
+  * Add --enable-debug-dmu-tx configure option
+
+  [ Darik Horn ]
+  * Add 0007-Integrate-ARC-more-tightly-with-Linux.patch
+  * Add: Add-.zfs-control-directory.patch
+  * Refresh debian/patches after upstream merge.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Fri, 23 Mar 2012 20:37:43 -0500
+
+zfs-linux (0.6.0.54-1ubuntu1) unstable; urgency=low
+
+  [ Brian Behlendorf ]
+  * Revert "Add zio constructor/destructor"
+  * Add zio constructor/destructor
+
+ -- Darik Horn <dajhorn@vanadac.com>  Wed, 21 Mar 2012 17:42:33 -0500
+
+zfs-linux (0.6.0.54-0ubuntu1) unstable; urgency=low
+
+  [ Gregor Kopka ]
+  * Use stderr for 'no pools/datasets available' error
+
+  [ Brian Behlendorf ]
+  * Add missing NULL in zpl_xattr_handlers
+  * ZFS 0.6.0-rc7
+
+ -- Darik Horn <dajhorn@vanadac.com>  Fri, 16 Mar 2012 23:40:54 -0500
+
+zfs-linux (0.6.0.53-0ubuntu1) unstable; urgency=low
+
+  [ Darik Horn ]
+  * Add machine readable debian/copyright file.
+  * Split /etc/init.d/zfs into zfs-mount and zfs-share
+  * Remove the /etc/default/zfsload configuration file
+  * Use consistent branding in package descriptions.
+  * Remove the DISCLAIMER file from the docs list.
+
+  [ Brian Behlendorf ]
+  * Use SA_HDL_PRIVATE for SA xattrs
+  * Add zio constructor/destructor
+  * Add sa_spill_rele() interface
+
+  [ Ned Bass ]
+  * Align parition end on 1 MiB boundary
+
+  [ Richard Yao ]
+  * Fix distribution detection
+
+ -- Darik Horn <dajhorn@vanadac.com>  Fri, 09 Mar 2012 20:53:01 -0600
+
+zfs-linux (0.6.0.52-0ubuntu1) unstable; urgency=low
+
+  [ Turbo Fredriksson ]
+  * Add 'fsid' mount option to allowed options.
+
+  [ Richard Yao ]
+  * Support ashift=13 for 8KB SSD block sizes
+
+  [ Alex Zhuravlev ]
+  * Export symbols for zero-copy
+
+  [ Ned Bass ]
+  * Return success from check_slice() if device doesn't exist
+
+  [ Brian Behlendorf ]
+  * Add arc_state_t stats to arcstats
+  * Add 'dmu_tx' kstats entry
+  * Cleanly support debug packages
+
+  [ Darik Horn ]
+  * Change POST_INSTALL to POST_BUILD in dkms.conf
+  * Refresh debian/patches after upstream merge.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Mon, 27 Feb 2012 19:35:20 -0600
+
+zfs-linux (0.6.0.51-0ubuntu1) unstable; urgency=low
+
+  [ Etienne Dechamps ]
+  * Use 32 as the default number of zvol threads.
+  * Implement the truncate_range() inode operation.
+  * Check permissions in zfs_space().
+  * Support the fallocate() file operation.
+  * Add support for DISCARD to ZVOLs.
+
+  [ Brian Behlendorf ]
+  * Use spl_debug_* helpers
+  * Export symbols for zero-copy
+  * Fix zconfig.sh non-optimal alignment
+
+  [ Darik Horn ]
+  * Refresh debian/patches after upstream merge.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Sun, 12 Feb 2012 19:28:19 -0600
+
+zfs-linux (0.6.0.50-0ubuntu1) unstable; urgency=low
+
+  [ Etienne Dechamps ]
+  * Support "sync=always" for ZVOLs.
+  * Fix synchronicity for ZVOLs.
+  * Improve ZVOL queue behavior.
+
+  [ Darik Horn ]
+  * Let libnvpair be linked independently of libzfs. (Closes: #560)
+  * Refresh debian/patches after upstream merge.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Wed, 08 Feb 2012 17:56:45 -0600
+
+zfs-linux (0.6.0.49-0ubuntu1) unstable; urgency=low
+
+  [ Brian Behlendorf ]
+  * Export symbol zfs_attr_table
+  * Allow multiple values per directory entry
+  * Cleanup ZFS debug infrastructure
+  * Linux 3.3 compat, sops->show_options()
+
+  [ Darik Horn ]
+  * Revert lib/libspl/asm-generic/atomic.S deletion.
+  * Revert "Manually sync scripts/ with the upstream release."
+  * Refresh patches after upstream merge.
+  * Add patch: Improve the --with-spl error
+
+ -- Darik Horn <dajhorn@vanadac.com>  Fri, 03 Feb 2012 15:41:22 -0600
+
+zfs-linux (0.6.0.48-0ubuntu1) unstable; urgency=low
+
+  [ Prakash Surya ]
+  * Ignore dataset if the dds_type is DMU_OST_OTHER
+
+  [ Darik Horn ]
+  * Disable dh_autotools-dev_updateconfig.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Thu, 19 Jan 2012 20:24:51 -0600
+
+zfs-linux (0.6.0.47-0ubuntu1) unstable; urgency=low
+
+  [ Brian Behlendorf ]
+  * Add the release component to headers
+  * Fix rpm dependencies
+
+  [ Darik Horn ]
+  * Combine libraries: spl, avl, efi, share, unicode. (Closes: #430)
+  * Allow GPT+EFI vdev replacement in boot pools.
+  * Add libtool to Build-Depends.
+  * Refresh debian/patches after upstream merge.
+  * Remove distdir stubbing for DKMS module sources.
+  * Delete packaging for recomposed libraries.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Wed, 18 Jan 2012 20:40:27 -0600
+
+zfs-linux (0.6.0.46-0ubuntu1) unstable; urgency=low
+
+  [ Ned Bass ]
+  * Reduce number of zio free threads
+
+  [ Darik Horn ]
+  * Run autogen for packaged builds.
+  * Move debian/patches into a separate branch.
+  * Disable zfs-dracut packaging.
+
+  [ Richard Laager ]
+  * Allow setting bootfs on any pool
+
+ -- Darik Horn <dajhorn@vanadac.com>  Wed, 18 Jan 2012 14:01:23 -0600
+
+zfs-linux (0.6.0.45-0ubuntu1) unstable; urgency=low
+
+  [ Prakash Surya ]
+  * Run ZFS_AC_PACMAN only if $VENDOR is "arch"
+
+  [ Brian Behlendorf ]
+  * Increase link count limit to 2^31-1
+
+  [ Darik Horn ]
+  * Wrap long lines in the dkms.conf file.
+  * FHS conformance and DKMS multiarch, ZFS interface.
+  * Add Allow-setting-bootfs-on-any-pool.patch
+
+ -- Darik Horn <dajhorn@vanadac.com>  Sun, 15 Jan 2012 18:43:23 -0600
+
+zfs-linux (0.6.0.44-0ubuntu1) unstable; urgency=low
+
+  [ Darik Horn ]
+  * Remove the mountall dependency from zfs-initramfs.
+  * Add /sbin/blkid to the initramfs manifest.
+  * Avoid using awk in the zpool_id script. (Closes: #259)
+  * Apply the ZoL coding standard to zpl_xattr.c
+  * Revert "Add security_inode_init_security.patch"
+  * Refresh debian/patches after upstream merge.
+
+  [ Brian Behlendorf ]
+  * Linux 3.1 compat, super_block->s_shrink
+  * Linux 3.2 compat, security_inode_init_security()
+
+  [ Richard Laager ]
+  * Treat /dev/vd* as whole disks
+
+  [ Suman Chakravartula ]
+  * Add overlay(-O) mount option support
+
+ -- Darik Horn <dajhorn@vanadac.com>  Thu, 12 Jan 2012 19:35:47 -0600
+
+zfs-linux (0.6.0.43-0ubuntu1) unstable; urgency=low
+
+  [ Seth Heeren ]
+  * added contrib/zfs_completion.bash
+
+  [ Darik Horn ]
+  * Wrap long lines in the debian/control file.
+  * Add libselinux1-dev to build-depends.
+  * Add bash command completion to zfsutils.
+  * Add security_inode_init_security.patch
+  * Add precise to the PPA build list.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Sat, 07 Jan 2012 11:05:03 -0600
+
+zfs-linux (0.6.0.42-0ubuntu1) unstable; urgency=low
+
+  [ Prakash Surya ]
+  * Add make rule for building Arch Linux packages
+  * Move Arch Linux's VENDOR check above Ubuntu's
+
+  [ Darik Horn ]
+  * Update the character class in the zpool man page. (Closes: #438)
+  * Linux 3.2 compat: set_nlink() (Closes: #462)
+  * Add LIBSELINUX to mount_zfs_LDFLAGS.
+  * Refresh debian/patches after upstream merge.
+  * PPA 0.6.0.42-0ubuntu1 release.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Fri, 23 Dec 2011 09:09:59 -0600
+
+zfs-linux (0.6.0.41-0ubuntu1) unstable; urgency=low
+
+  [ Brian Behlendorf ]
+  * Set zvol_major/zvol_threads permissions
+
+  [ Garrett D'Amore ]
+  * Illumos #734: Use taskq_dispatch_ent() interface
+
+ -- Darik Horn <dajhorn@vanadac.com>  Thu, 15 Dec 2011 10:11:54 -0600
+
+zfs-linux (0.6.0.40-0ubuntu1) unstable; urgency=low
+
+  [ Prakash Surya ]
+  * In autoconf v2.68, AC_LANG_PROGRAM must be quoted
+  * Fix configure tests to play nice with GCC 4.6
+
+  [ Brian Behlendorf ]
+  * Implement SA based xattrs
+  * Allow xattrs on symlinks
+  * Update default ARC memory limits
+
+  [ Gunnar Beutner ]
+  * Added comments for libshare's NFS functions.
+
+  [ Darik Horn ]
+  * Support path_id changes in udev 174.
+  * Quote variables in the zpool_id script.
+  * Demote egrep to grep in the zpool_id script.
+  * Demote the whackbang in the zpool_id script.
+  * Source /etc/default/zfs after setting defaults.
+  * Quote variables in the zfs.lsb script.
+  * Revert "Depend on udev that provides stand-alone path_id."
+
+ -- Darik Horn <dajhorn@vanadac.com>  Mon, 05 Dec 2011 20:13:57 -0600
+
+zfs-linux (0.6.0.39-0ubuntu1) unstable; urgency=low
+
+  [ Brian Behlendorf ]
+  * Limit maximum ashift value to 12
+
+  [ Suman Chakravartula ]
+  * Allow leading digits in userquota/groupquota names
+
+ -- Darik Horn <dajhorn@vanadac.com>  Tue, 22 Nov 2011 08:35:47 -0600
+
+zfs-linux (0.6.0.38-0ubuntu1) unstable; urgency=low
+
+  [ Brian Behlendorf ]
+  * Disown dataset in zfs_sb_create()
+  * Simplify BDI integration
+  * Suppress packaging warning
+  * Linux 3.1 compat, fops->fsync()
+  * Fix depmod warning
+
+  [ Darik Horn ]
+  * Refresh debian/patches after upstream merge.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Fri, 11 Nov 2011 09:05:40 -0600
+
+zfs-linux (0.6.0.37-0ubuntu1) unstable; urgency=low
+
+  [ Gunnar Beutner ]
+  * Fix a race condition in zfs_getattr_fast()
+
+  [ Brian Behlendorf ]
+  * Fix NULL deref in balance_pgdat()
+  * Improve meta data performance
+
+ -- Darik Horn <dajhorn@vanadac.com>  Sat, 05 Nov 2011 10:27:54 -0500
+
+zfs-linux (0.6.0.36-0ubuntu1) unstable; urgency=low
+
+  [ Brian Behlendorf ]
+  * Include distribution in release
+
+  [ Darik Horn ]
+  * Change sun.com URLs to zfsonlinux.org
+  * Depend on udev that provides stand-alone path_id.
+
+  [ Xin Li ]
+  * Illumos #1661: Fix flaw in sa_find_sizes() calculation
+
+ -- Darik Horn <dajhorn@vanadac.com>  Fri, 28 Oct 2011 19:38:49 -0500
+
+zfs-linux (0.6.0.35-0ubuntu2) unstable; urgency=low
+
+  [ Ned Bass ]
+  * Use @ZFS_META LICENSE@ in spec.in files
+
+  [ Alexander Stetsenko ]
+  * Illumos #755: dmu_recv_stream builds incomplete guid_to_ds_map
+
+  [ Brian Behlendorf ]
+  * Set mtime on symbolic links
+
+ -- Darik Horn <dajhorn@vanadac.com>  Wed, 19 Oct 2011 15:26:00 -0500
+
+zfs-linux (0.6.0.34-0ubuntu1) unstable; urgency=low
+
+  [ Oleg Stepura ]
+  * Fix 'unexpected operator' bashism
+
+  [ Brian Behlendorf ]
+  * Synchronize initramfs and system hostid
+  * Export symbols for the full SA API
+  * Prep zfs-0.6.0-rc6 tag
+  * Add provides lustre-backend-fs to rpm
+  * Export symbols for the VFS API
+  * Disable 90-zfs.rules for test suite
+
+  [ Darik Horn ]
+  * Add "activate update-initramfs" dpkg trigger.
+  * Add news item: The PPA for ZFS is moving.
+  * Add patch: Use /bin/bash to invoke dracut scripts.
+  * Add provides lustre-backend-fs to deb
+
+ -- Darik Horn <dajhorn@vanadac.com>  Tue, 11 Oct 2011 21:16:47 -0500
+
+zfs-linux (0.6.0.33-0ubuntu1) unstable; urgency=low
+
+  [ Darik Horn ]
+  * Automatically set REMAKE_INITRD in the dkms.conf
+
+  [ Brian Behlendorf ]
+  * Install zfs-devel headers in /usr/include
+  * Suppress kmem_alloc() warning in zfs_prop_set_special()
+  * Export symbols for the full ZAP API
+  * Fix uninitialized varible in zfs_do_userspace()
+
+  [ Ned Bass ]
+  * Use automatic variable in Makefile
+
+  [ Zachary Bedell ]
+  * Fix boot failure in Dracut scripts.
+  * Make libefi-created GPT compatible with gptfdisk
+
+  [ Andreas Dilger ]
+  * zpl: Fix "df -i" to have better free inodes value
+
+ -- Darik Horn <dajhorn@vanadac.com>  Wed, 28 Sep 2011 22:38:56 -0500
+
+zfs-linux (0.6.0.32-0ubuntu1) unstable; urgency=low
+
+  [ Prakash Surya ]
+  * Fix minor autoconf error message inconsistencies
+  * Convert 'if' statements to AS_IF in kernel.m4
+  * Fix package URLs to use the github repository
+  * Fix zfs.spec.in to use @LICENSE@ variable
+
+  [ Jeremy Gill ]
+  * Ensure FC15 boots when zfs isn't used for boot partition
+
+  [ Brian Behlendorf ]
+  * Fix usage of zsb after free
+
+ -- Darik Horn <dajhorn@vanadac.com>  Fri, 09 Sep 2011 20:27:34 -0500
+
+zfs-linux (0.6.0.31-0ubuntu2) unstable; urgency=low
+
+  * Change $ZFS to `zfs` in the init script.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Wed, 24 Aug 2011 10:04:15 -0500
+
+zfs-linux (0.6.0.31-0ubuntu1) unstable; urgency=low
+
+  [ Brian Behlendorf ]
+  * Disable zfs /etc/mtab updates
+  * Fix incompatible pointer type warning
+  * Fix missing format arguments
+  * Fixed uninitialized variable
+  * Buildbot suppression rules
+  * Fix autoconf variable substitution in init scripts.
+  * Fix incorrect zpool_cache substitution
+
+  [ Kyle Fuller ]
+  * Move 90-zfs udev rule from dracut to udev/rules.d
+  * Make dracut module-setup.sh an autoconf config file
+
+  [ Darik Horn ]
+  * Add chkconfig and description lines to zfs init.
+  * Disable default start action in the init script.
+  * Implement the status command in the init script.
+  * Share filesystems in the init script.
+  * Remove ellipses from log lines in the init script.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Mon, 22 Aug 2011 21:26:25 -0500
+
+zfs-linux (0.6.0.30-0ubuntu2) unstable; urgency=low
+
+  * Remove zpool_layout from the initramfs manifest.
+  * Let mkinitramfs fail if the utilities are missing.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Tue, 09 Aug 2011 16:52:01 -0500
+
+zfs-linux (0.6.0.30-0ubuntu1) unstable; urgency=low
+
+  [ Brian Behlendorf ]
+  * Cleanup mmap(2) writes
+  * Add backing_device_info per-filesystem
+  * Correctly lock pages for .readpages()
+  * Autogen refresh for udev changes
+  * Improve HAVE_EVICT_INODE check
+
+  [ Kyle Fuller ]
+  * Move udev rules from /etc/udev to /lib/udev
+
+  [ Darik Horn ]
+  * Accomodate udev autotools changes in packaging.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Tue, 09 Aug 2011 01:17:20 -0500
+
+zfs-linux (0.6.0.29-0ubuntu1) unstable; urgency=low
+
+  [ Kyle Fuller ]
+  * Make autogen.sh executable
+  * Turn the init.d scripts into autoconf config files
+
+  [ Zachary Bedell ]
+  * Wrap dracut scripts to 79 chars
+
+  [ Brian Behlendorf ]
+  * Add .gitignore for zfs.<distro> init scripts
+
+  [ Tim Haley ]
+  * Illumos #xxx: zdb -vvv broken after zfs diff integration
+
+  [ Gordon Ross ]
+  * Illumos #764: panic in zfs:dbuf_sync_list
+
+  [ Garrett D'Amore ]
+  * Illumos #175: zfs vdev cache consumes excessive memory
+
+  [ Shampavman ]
+  * Illumos #510: 'zfs get' enhancement - mountpoint as an argument
+
+  [ George Wilson ]
+  * Illumos #1051: zfs should handle imbalanced luns
+
+  [ Matt Ahrens ]
+  * Illumos #1092: zfs refratio property
+
+  [ Eric Schrock ]
+  * Illumos #883: ZIL reuse during remount corruption
+
+  [ Martin Matuska ]
+  * Illumos #1043: Recursive zfs snapshot destroy fails
+  * Illumos #1313: Integer overflow in txg_delay()
+
+  [ Alexander Stetsenko ]
+  * Illumos #278: get rid zfs of python and pyzfs dependencies
+
+  [ James H ]
+  * Call exportfs -v once for NFS shares.
+
+  [ Gunnar Beutner ]
+  * Use /dev/null for stdout/stderr in libzfs_run_process().
+  * Use libzfs_run_process() in libshare.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Tue, 02 Aug 2011 10:18:10 -0500
+
+zfs-linux (0.6.0.28-0ubuntu2) unstable; urgency=low
+
+  * Update replacement controls for libzfs-dev.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Tue, 26 Jul 2011 00:03:19 -0500
+
+zfs-linux (0.6.0.28-0ubuntu1) unstable; urgency=low
+
+  [ Brian Behlendorf ]
+  * Fix the configure CONFIG_* option detection
+  * Add missing <pool> option
+  * Fix txg_sync_thread deadlock
+
+  [ Zachary Bedell ]
+  * Soft to hard tabs
+  * Catch return errors from zpool commands
+
+  [ Darik Horn ]
+  * Force root pool imports in the initramfs script.
+  * lintian: non-dev-pkg-with-shlib-symlink
+  * Override lintian extra-license-file warnings.
+  * Update the project Github link.
+  * Override dh_shlibdeps warnings.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Mon, 25 Jul 2011 23:39:10 -0500
+
+zfs-linux (0.6.0.27-0ubuntu1) unstable; urgency=low
+
+  [ Brian Behlendorf ]
+  * Use zfs_mknode() to create dataset root
+
+ -- Darik Horn <dajhorn@vanadac.com>  Fri, 22 Jul 2011 14:39:22 -0500
+
+zfs-linux (0.6.0.26-0ubuntu1) unstable; urgency=low
+
+  [ Brian Behlendorf ]
+  * Fix send/recv 'dataset is busy' errors
+  * Update 'zpool import' man page
+  * Fix mmap(2)/write(2)/read(2) deadlock
+  * Fix zio_execute() deadlock
+  * Fix zpl_writepage() deadlock
+  * Fix 'make install' overly broad 'rm'
+  * Honor setgit bit on directories
+
+ -- Darik Horn <dajhorn@vanadac.com>  Wed, 20 Jul 2011 18:27:15 -0500
+
+zfs-linux (0.6.0.25.rc5-0ubuntu4) unstable; urgency=low
+
+  * Add fix-issue-319 patch.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Fri, 15 Jul 2011 20:09:22 -0500
+
+zfs-linux (0.6.0.25.rc5-0ubuntu3) unstable; urgency=low
+
+  * Stub the Makefile.in files in scripts/.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Fri, 15 Jul 2011 08:45:00 -0500
+
+zfs-linux (0.6.0.25.rc5-0ubuntu1) unstable; urgency=low
+
+  [ Andrew Tselischev ]
+  * Fix 'rc_parallel="YES"' error
+
+  [ Prasad Joshi ]
+  * Use consistent error message in zpool sub-command
+
+  [ Gunnar Beutner ]
+  * Fixed indentation in the zfs.lunar init script.
+  * Removed erroneous backticks in the zfs.lunar init script.
+  * Implemented sharing datasets via NFS using libshare.
+  * Link libshare directly to libzfs
+  * Renamed HAVE_SHARE ifdefs to HAVE_SMB_SHARE.
+  * Updated init scripts to enable automatic sharing of ZFS datasets.
+
+  [ Zachary Bedell ]
+  * Update zfs.gentoo/zfs.lsb init script
+  * Update for Dracut-010
+  * Document initramfs process
+
+  [ Brian Behlendorf ]
+  * Add proper library versioning
+  * Update ztest paths
+  * Update 'zfs send' documentation
+  * Add L2ARC tunables
+  * Improve fstat(2) performance
+
+  [ Darik Horn ]
+  * Refresh patches.
+  * Set the configuration prefix to root.
+  * Remove /usr/bin/hostid from the initramfs image.
+  * Add zfs-dracut package.
+  * Add libshare0 package.
+  * Disable disable-dist-init.patch
+  * Add nfs-kernel-server suggestion.
+  * Demote spl-dkms to a regular dependency.
+  * lintian: package-name-doesnt-match-sonames
+  * lintian: incorrect-libdir-in-la-file
+  * Rename libavl1 to libzavl1.
+
+  [ Fajar A. Nugraha ]
+  * Check for "udevadm settle" vs "udevsettle"
+  * Remove zfs service only on uninstall, not on upgrade
+
+  [ Kyle Fuller ]
+  * Provide a rc.d script for archlinux
+
+ -- Darik Horn <dajhorn@vanadac.com>  Tue, 12 Jul 2011 19:49:02 -0500
+
+zfs-linux (0.6.0.22.rc5-0ubuntu1) unstable; urgency=low
+
+  [ Prasad Joshi ]
+  * MMAP Optimization
+
+  [ Brian Behlendorf ]
+  * Remove unused MMAP functions
+  * Add ZFS specific mmap() checks
+  * Avoid 'rpm -q' bug for 'make pkg'
+  * Linux compat 2.6.39: security_inode_init_security()
+  * Linux compat 2.6.39: mount_nodev()
+  * Fix implicit declaration of 'mkdirp'
+  * Always allow non-user xattrs
+  * Prep zfs-0.6.0-rc5 tag
+
+  [ Rohan Puri ]
+  * Support mandatory locks (nbmand)
+
+ -- Darik Horn <dajhorn@vanadac.com>  Sun, 03 Jul 2011 13:06:48 -0500
+
+zfs-linux (0.6.0.21-0ubuntu1) unstable; urgency=low
+
+  [ Prasad Joshi ]
+  * Tear down and flush the mmap region
+  * Use truncate_setsize in zfs_setattr
+
+  [ Brian Behlendorf ]
+  * Ensure all block devices are available
+
+ -- Darik Horn <dajhorn@vanadac.com>  Fri, 01 Jul 2011 11:41:40 -0500
+
+zfs-linux (0.6.0.20-0ubuntu1) unstable; urgency=low
+
+  [ Gunnar Beutner ]
+  * Removed erroneous zfs_inode_destroy() calls from zfs_rmnode().
+  * Fix unlink/xattr deadlock
+
+  [ Brian Behlendorf ]
+  * Linux 3.0 compat, shrinker compatibility
+
+  [ Ned A. Bass ]
+  * Multipath device manageability improvements
+
+ -- Darik Horn <dajhorn@vanadac.com>  Sat, 25 Jun 2011 22:14:26 -0500
+
+zfs-linux (0.6.0.19-0ubuntu1) unstable; urgency=low
+
+  [ Brian Behlendorf ]
+  * Use datadir not datarootdir for dracut
+  * Update rpm/deb packages to be FHS compliant
+  * Linux 2.6.37 compat, WRITE_FLUSH_FUA
+
+  [ Christian Kohlschütter ]
+  * Add "ashift" property to zpool create
+
+  [ Darik Horn ]
+  * Fix autoconf variable substitution in udev rules.
+  * Autogen refresh.
+  * Refresh patches.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Sun, 19 Jun 2011 13:06:43 -0500
+
+zfs-linux (0.6.0.18-0ubuntu1) unstable; urgency=low
+
+  [ Brian Behlendorf ]
+  * Fix 'zfs send -D' segfault
+  * Pass -f option for import
+  * Add default stack checking
+  * Check for -Wno-unused-but-set-variable gcc support
+  * Always check -Wno-unused-but-set-variable gcc support
+  * Handle /etc/mtab -> /proc/mounts symlink
+
+ -- Darik Horn <dajhorn@vanadac.com>  Thu, 16 Jun 2011 09:39:30 -0500
+
+zfs-linux (0.6.0.17-0ubuntu1) unstable; urgency=low
+
+  [ Brian Behlendorf ]
+  * Make tgx_sync_thread zio's async
+  * Revert "Fix stack traverse_visitbp()"
+  * Fix stack ddt_zap_lookup()
+  * Fix stack ddt_class_contains()
+  * Fix zpios-sanity.sh return code
+  * Always unload zpios.ko on exit
+  * Delay before destroying loopback devices
+  * Sanatize zpios-sanity.sh environment
+
+ -- Darik Horn <dajhorn@vanadac.com>  Sun, 05 Jun 2011 20:32:51 -0500
+
+zfs-linux (0.6.0.16-0ubuntu1) unstable; urgency=low
+
+  [ Brian Behlendorf ]
+  * Pass caller's credential in zfsdev_ioctl()
+  * Default to internal 'zfs userspace' implementation
+  * Use vmem_alloc() for zfs_ioc_userspace_many()
+  * Fix 4K sector support
+
+ -- Darik Horn <dajhorn@vanadac.com>  Sat, 28 May 2011 15:47:15 -0500
+
+zfs-linux (0.6.0.15-0ubuntu1) unstable; urgency=low
+
+  [ Alexey Shvetsov ]
+  * Make zfs.gentoo init script more gentoo style.
+  * Fix zfs.gentoo init script logic
+  * Remove root 'ls' after mount workaround
+  * Fix distribution detection for gentoo
+
+  [ Brian Behlendorf ]
+  * Update synchronous open zfs_close() comment
+  * Fix 'negative objects to delete' warning
+
+ -- Darik Horn <dajhorn@vanadac.com>  Mon, 23 May 2011 09:18:38 -0500
+
+zfs-linux (0.6.0.14-0ubuntu1) unstable; urgency=low
+
+  [ Brian Behlendorf ]
+  * Use vmem_alloc() for zfs_ioc_pool_get_history()
+  * Fix awk usage
+  * Handle NULL in nfsd .fsync() hook
+  * Disable direct reclaim for z_wr_* threads
+
+  [ Ned A. Bass ]
+  * Don't store rdev in SA for FIFOs and sockets
+
+ -- Darik Horn <dajhorn@vanadac.com>  Wed, 11 May 2011 20:28:21 -0500
+
+zfs-linux (0.6.0.13.rc4-0ubuntu1) unstable; urgency=low
+
+  [ Brian Behlendorf ]
+  * Add missing ZFS tunables
+  * Allow mounting of read-only snapshots
+
+ -- Darik Horn <dajhorn@vanadac.com>  Thu, 05 May 2011 20:48:14 -0500
+
+zfs-linux (0.6.0.12.rc4-0ubuntu2) unstable; urgency=low
+
+  * Add the debhelper token to zfs-initramfs.preinst
+  * Add the debehelper token to zfsutils.preinst
+  * Add extended package descriptions.
+  * Disable zpool-layout distribution.
+  * Add -e switch to the zfsutils.preinst whackbang.
+  * Add docs file for each package.
+  * Package libexec scripts as examples.
+  * Add -e switch to the zfs-initramfs.preinst whackbang.
+  * Flag autogen.sh as executable.
+  * Add -e switch to the zfs-dkms.postinst whackbang.
+  * Disable scripts distribution.
+  * Add whackbang to the ltmain.sh script.
+  * Remove unused zfs-dkms.preinst script.
+  * Add -e switch to the zfs-dkms.prerm whackbang.
+  * Remove unused zfs-dkms.postrm script.
+  * Specify a distro section for each package.
+  * Add snapshot-mount.patch
+
+ -- Darik Horn <dajhorn@vanadac.com>  Thu, 05 May 2011 19:51:35 -0500
+
+zfs-linux (0.6.0.12.rc4-0ubuntu1) unstable; urgency=low
+
+  [ Brian Behlendorf ]
+  * Add Gentoo/Lunar/Redhat Init Scripts
+  * Prep zfs-0.6.0-rc4 tag
+
+  [ Darik Horn ]
+  * Use 0.6.0.12.rc4 as the unofficial version.
+  * Quilt refresh.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Thu, 05 May 2011 10:18:40 -0500
+
+zfs-linux (0.6.0.11-0ubuntu1) unstable; urgency=low
+
+  [ Brian Behlendorf ]
+  * Suppress 'vdev_metaslab_init' memory warning
+  * Fix 'zfs set volsize=N pool/dataset'
+  * Fully update inode when created
+  * Correct MAXUID
+
+  [ Gunnar Beutner ]
+  * Implemented NFS export_operations.
+
+  [ Alejandro R. Sedeño ]
+  * Add zpl_export.c to the list of targets.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Mon, 02 May 2011 19:07:36 -0500
+
+zfs-linux (0.6.0.10-0ubuntu1) unstable; urgency=low
+
+  [ Brian Behlendorf ]
+  * Fix zvol deadlock
+  * Conserve stack in dsl_scan_visitbp()
+  * Conserve stack in dsl_scan_visitbp()
+  * Conserve stack in dsl_scan_visit()
+
+  [ Darik Horn ]
+  * Use gethostid in the Linux convention.
+  * Use 0.6.0.10 as the unofficial version.
+  * Use substvars versions in the debian/control.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Wed, 27 Apr 2011 11:23:52 -0500
+
+zfs-linux (0.6.0.9-0ubuntu1) unstable; urgency=low
+
+  [ Brian Behlendorf ]
+  * Update zconfig.sh to use new zvol names
+  * Suppress 'zfs receive' memory warning
+  * Enforce ARC meta-data limits
+  * Fix spurious -EFAULT when setting I/O scheduler
+  * Fix 32-bit MAXOFFSET_T definition
+
+  [ Aniruddha Shankar ]
+  * Added required runlevel info for init on Debian
+
+  [ Gunnar Beutner ]
+  * Fixed a use-after-free bug in zfs_zget().
+
+  [ Darik Horn ]
+  * Use 0.6.0.9 as the unofficial version.
+  * Remove the gawk packaging dependency.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Sat, 23 Apr 2011 11:21:36 -0500
+
+zfs-linux (0.6.0.8-0ubuntu1) unstable; urgency=low
+
+  [ Brian Behlendorf ]
+  * Linux 2.6.29 compat, credentials
+  * Fix rebuildable RPMs for el6/ch5
+  * Autogen refresh for kernel-insert-inode-locked.m4
+  * Linux 2.6.39 compat, invalidate_inodes()
+  * Fix gcc compiler warning, dsl_pool_create()
+  * Fix gcc compiler warning, parse_option()
+  * Fix gcc configure warnings
+  * Set -Wno-unused-but-set-variable globally
+  * Add Gunnar Beutner to AUTHORS for his contributions
+  * Add parted and lsscsi dependencies to zfs-test
+
+  [ Richard Laager ]
+  * Fix a couple comments
+  * Correct man page section numbers for Linux
+  * Change /dev/dsk -> /dev in the man pages
+  * More and correct an example in zpool.8
+  * Use Linux disk names in zpool.8
+  * Linux has "partitions", not "slices"
+  * Remove a stray tab
+  * Improve some quoting consistency
+  * Improve the wording about hot spares
+  * Normalize the deferred destruction language
+  * Update the version in the zpool upgrade example
+  * Cleanup various Sun/Solaris-isms
+  * Support IEC base-2 prefixes
+
+  [ Ned Bass ]
+  * Use consistent indentation in mount-zfs.sh
+  * Align closing fi in mount-zfs.sh
+
+  [ Gunnar Beutner ]
+  * Added missing initialization for va.va_dentry in zfs_get_xattrdir.
+  * Truncate the xattr znode when updating existing attributes.
+
+  [ Darik Horn ]
+  * Refresh debian/patches.
+  * Use zfs-0.6.0.8 as the unofficial upstream version.
+  * Set a version on the spl-dkms dependency.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Wed, 20 Apr 2011 08:21:51 -0500
+
+zfs-linux (0.6.0.7-0ubuntu2) unstable; urgency=low
+
+  [ Brian Behlendorf ]
+  * Call d_instantiate before unlocking inode
+  * Add missing arcstats
+  * Add direct+indirect ARC reclaim
+  * Fix ASSERTION(!dsl_pool_sync_context(tx->tx_pool))
+  * Prep zfs-0.6.0-rc3 tag
+
+  [ Manuel Amador (Rudd-O) ]
+  * Added .gitignore for mount.zfs and zvol_id
+  * Permit both mountpoint=legacy and mountpoint=/ in initrd
+  * Update zfs.fedora init script
+
+  [ Darik Horn ]
+  * Upstream zfs-0.6.0-rc3 tag. Use 0.6.0.7 instead.
+  * Add a zfs-grub dependency to zfs-initramfs.
+  * Add a NEWS entry for the decomposition and rename.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Thu, 07 Apr 2011 13:51:23 -0500
+
+zfs-linux (0.6.0.6-0ubuntu2) unstable; urgency=low
+
+  * Partial autogen updates to fix PPA builds.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Thu, 07 Apr 2011 10:52:30 -0500
+
+zfs-linux (0.6.0.6-0ubuntu1) unstable; urgency=low
+
+  [ Fajar A. Nugraha ]
+  * Fixes to enable zvol symlink creation
+  * Spec file compat, %{datadir}
+
+  [ Brian Behlendorf ]
+  * Set cmd paths in udev rules using --prefix
+  * Fix inflated load average
+  * Fix libzpool cv_* build error
+  * Update CHAOS 5 Packaging
+  * Fix `make distclean` for `./configure --with-config=user
+
+  [ Ned Bass ]
+  * Call udevadm trigger more safely
+
+  [ Darik Horn ]
+  * Remove `make distclean` kludge.
+  * Ignore `zfs unmount -a` errors in the init script.
+  * Rename /etc/default/zfsload during upgrades.
+  * Disable dracut instead of reverting it.
+  * Move udev rules from /etc to /lib.
+  * Add ${shlibs:Depends} to each control stanza.
+  * Remove volume and swap handling from the init script.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Tue, 05 Apr 2011 22:08:06 -0500
+
+zfs-linux (0.6.0.5-1ubuntu7) unstable; urgency=low
+
+  * Force the dkms.conf file into the zfs-dkms package.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Thu, 31 Mar 2011 11:03:56 -0500
+
+zfs-linux (0.6.0.5-1ubuntu6) unstable; urgency=low
+
+  * Link /proc/mounts to /etc/mtab.
+  * Add the /etc/default/zfs import to the init script.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Wed, 30 Mar 2011 16:12:41 -0500
+
+zfs-linux (0.6.0.5-1ubuntu5) unstable; urgency=low
+
+  * Use /sbin/mount.zfs for the root mount in the initramfs.
+  * Handle the GRUB zfs-bootfs parameter in the initramfs.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Wed, 30 Mar 2011 12:22:12 -0500
+
+zfs-linux (0.6.0.5-1ubuntu2) unstable; urgency=low
+
+  * Rename the zfs package to zfsutils.
+  * Rename the zfs-lib package to libzfs0.
+  * Decompose the zfs-lib package.
+  * Restrict the package architecture to linux-any.
+  * Remove the KQ init script that was imported from zfs-linux/lzfs.
+  * Import the zfsutils init script from Debian kFreeBSD.
+  * Check zvols for Linux swap areas instead of FreeBSD swap areas.
+  * Replace zfs by zfsutils in the debian/control file.
+  * Add libzfs-dev to the debian/control file.
+  * Change usr/lib/include to usr/include in the libzfs-dev.install file.
+  * Add a zfs-lib replacement to each constituent library.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Tue, 29 Mar 2011 09:17:38 -0500
+
+zfs-linux (0.6.0.5-0ubuntu2) unstable; urgency=low
+
+  * Include /sbin/mount.zfs in the zfs package.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Thu, 24 Mar 2011 12:37:40 -0500
+
+zfs-linux (0.6.0.5-0ubuntu1) unstable; urgency=low
+
+  [ Brian Behlendorf ]
+  * Check for trailing '/' in mount.zfs
+  * Don't set I/O Scheduler for Partitions
+  * Always allow '-o remount,ro'
+  * Strip 'zfsutil,remount' from /etc/mtab
+  * Register .sync_fs handler
+  * Register .remount_fs handler
+  * Add init scripts
+  * Fix getcwd() warning
+  * Fix 'LDFLAGS=-Wl,--as-needed' build error
+  * Use KM_PUSHPAGE instead of KM_SLEEP
+  * Fix evict() deadlock
+  * Linux compat, umount2(2) flags
+  * Linux 2.6.27 compat, blk_queue_stackable()
+  * Linux 2.6.28 compat, insert_inode_locked()
+  * Linux 2.6.29 compat, credentials
+  * Linux 2.6.29 compat, .freeze_fs/.unfreeze_fs
+
+  [ Darik Horn ]
+  * Full upstream merge. Use zfs-0.6.0.5 as the unofficial upstream version.
+  * Revert the dracut commit in debian/patches.
+  * Revert the init script commit in debian/patches.
+  * Quilt refresh.
+  * Properly strip the bootfs= and rpool= kernel command line parameters.
+  * Remove the whack-bang and execute bit from the initramfs boot script.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Tue, 22 Mar 2011 23:07:49 -0500
+
+zfs-linux (0.6.0.4.rc2-0ubuntu6) unstable; urgency=low
+
+  * Trivial typo correction in the debian/copyright file.
+  * Remove the init-top/hostname script and force BUSYBOX=y instead.
+  * Correct typos in the debian/debuild-ppa.sh helper.
+  * Add a debian/source/options file that disable the
+    implied --single-debian-patch build option.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Sun, 20 Mar 2011 19:11:12 -0500
+
+zfs-linux (0.6.0.4.rc2-0ubuntu5) unstable; urgency=low
+
+  * Add the debuild-ppa.sh script for Launchpad PPA build convenience.
+  * Add fix-getcwd-warning.patch from behlendorf/master.
+  * Add fix-gentoo-ldflags.patch from behlendorf/master.
+  * Add the pkg-zfs repository to the debian/copyright file.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Sun, 20 Mar 2011 15:27:49 -0500
+
+zfs-linux (0.6.0.4.rc2-0ubuntu4) unstable; urgency=low
+
+  * Add behlendorf/dracut patch for better dismount handling at shutdown.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Wed, 16 Mar 2011 09:16:00 -0500
+
+zfs-linux (0.6.0.4.rc2-0ubuntu3) unstable; urgency=low
+
+  * Add patches from behlendorf/master:
+    * check-for-trailing-slash-in-mount.patch
+    * do-not-set-io-scheduler-for-partitions.patch
+  * Add gawk dependency to the zfs-initramfs package.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Sun, 13 Mar 2011 21:32:32 -0500
+
+zfs-linux (0.6.0.4.rc2-0ubuntu2) unstable; urgency=low
+
+  * Initial zfs-initramfs packaging for root filesystem support.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Fri, 11 Mar 2011 15:39:37 -0600
+
+zfs-linux (0.6.0.4.rc2-0ubuntu1) unstable; urgency=low
+
+   * Upstream spl-0.6.0-rc2 release.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Thu, 10 Mar 2011 09:35:43 -0600
+
+zfs-linux (0.6.0.3.git-0ubuntu1) unstable; urgency=low
+
+  * Revert the '+' in the upstream version because it is not recognized by DKMS.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Wed, 09 Mar 2011 12:24:41 -0600
+
+zfs-linux (0.6.0.3+git-0ubuntu2) unstable; urgency=low
+
+  * Change spl-dkms to a pre-dependency in the control file.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Wed, 09 Mar 2011 10:54:07 -0600
+
+zfs-linux (0.6.0.3+git-0ubuntu1) unstable; urgency=low
+
+  * Begin using the +git upstream naming convention.
+  * Merge the behlendorf/mount and behlendorf/master branches.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Wed, 09 Mar 2011 10:09:24 -0600
+
+zfs-linux (0.6.0.2-0ubuntu1) unstable; urgency=low
+
+  * Merge the behlendorf/master branch for the xvattr changes
+    and tag it as 0.6.0.2 upstream.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Fri, 04 Mar 2011 19:24:42 -0600
+
+zfs-linux (0.6.0.1rc.1-0ubuntu6) unstable; urgency=low
+
+  * Check for a Debian host in PRE_BUILD and configure for split headers.
+    See https://github.com/behlendorf/spl/issues/closed/#issue/10
+
+ -- Darik Horn <dajhorn@vanadac.com>  Sun, 27 Feb 2011 17:51:17 -0600
+
+zfs-linux (0.6.0.1rc.1-0ubuntu5) unstable; urgency=low
+
+  * Remove the build dependency on linux-headers because it is unnecessary
+    for Ubuntu and prevents building on Debian Squeeze and Debian Sid.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Sun, 27 Feb 2011 13:20:03 -0600
+
+zfs-linux (0.6.0.1rc.1-0ubuntu4) unstable; urgency=low
+
+  * Add version numbers to the dkms dependencies.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Sat, 26 Feb 2011 01:13:40 -0600
+
+zfs-linux (0.6.0.1rc.1-0ubuntu3) unstable; urgency=low
+
+  * Add fix-set-block-scheduler-warnings.patch.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Fri, 25 Feb 2011 20:59:26 -0600
+
+zfs-linux (0.6.0.1rc.1-0ubuntu2) unstable; urgency=low
+
+  * Add udev-zvol.patch for udev to create zvol links.
+    (Commit: 4c0d8e50b99b4f3b4a9b7bc67ac7fc4e406f5755)
+
+ -- Darik Horn <dajhorn@vanadac.com>  Fri, 25 Feb 2011 15:20:41 -0600
+
+zfs-linux (0.6.0.1rc.1-0ubuntu1) unstable; urgency=low
+
+  * Merge behlendorf/linux-compat for Linux 2.6.38 compatibility.
+  * Add /etc/default/zfsload for the init script.
+  * Add dist-blkdev_compat.patch so that the new block device
+    compatibility header is included by the dist rules.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Thu, 24 Feb 2011 10:30:13 -0600
+
+zfs-linux (0.6.0.1rc-1~lucid.4) lucid; urgency=low
+
+  * Force all zfsload returns to 0.
+  * Initial master branch for git-buildpackage.
+  * Update Vcs-Git and Vcs-Browser fields in the control file.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Tue, 22 Feb 2011 11:23:31 -0600
+
+zfs-linux (0.6.0.1rc-1~lucid.3) lucid; urgency=low
+
+  * Move the zfsload init script from the zfs-dkms package
+    to the zfs package.
+  * Disable non-zero returns in the zfsload script because
+    `zfs umount -a` is unreliable and init errors cause dpkg
+    to block package updates and removals.
+  * Create zfs.examples for dh_installexamples and change the
+    install manifest for etc/zfs/*.example accordingly.
+  * Split zfs into zfs-lib to satisfy the dpkg-shlibdeps warnings.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Mon, 21 Feb 2011 11:27:11 -0600
+
+zfs-linux (0.6.0.1rc-1~lucid.2) lucid; urgency=low
+
+  * Reduce the dpkg scripts to #DEBHELPER# because dh_dkms
+    is automatically and correctly filling template.
+  * Set a versioned debhelper dependency to satisfy the
+    lintian warning.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Mon, 21 Feb 2011 10:27:29 -0600
+
+zfs-linux (0.6.0.1rc-1~lucid.1) lucid; urgency=low
+
+  * New upstream zfs-0.6.0-rc1.tar.gz release.
+  * Kludge the "rc1" version for the packaging convenience.
+  * Move the zfsload script to this package.
+  * Supercede the lzfs-dkms package.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Fri, 18 Feb 2011 19:46:36 -0600
+
+zfs-linux (0.5.2-1~lucid.6) lucid; urgency=low
+
+  * Do uupdate on kqzfs_0.5.2 tag.
+  * Remove disable-check_stack_overflow patch.
+  * Add kernel-bio-failfast.patch for `make distdir`.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Fri, 18 Feb 2011 12:52:07 -0600
+
+zfs-linux (0.5.1-1~lucid.5) lucid; urgency=low
+
+  * Initial DKMS packaging for Debian and Ubuntu.
+
+ -- Darik Horn <dajhorn@vanadac.com>  Wed, 16 Feb 2011 12:26:49 -0600
diff --git a/debian/compat b/debian/compat
new file mode 100644 (file)
index 0000000..7f8f011
--- /dev/null
@@ -0,0 +1 @@
+7
diff --git a/debian/control b/debian/control
new file mode 100644 (file)
index 0000000..99a277d
--- /dev/null
@@ -0,0 +1,176 @@
+Source: zfs-linux
+Section: kernel
+Priority: extra
+Maintainer: Darik Horn <dajhorn@vanadac.com>
+Build-Depends: autotools-dev,
+ autoconf,
+ autogen,
+ automake,
+ debhelper (>= 7.4),
+ dkms (>> 2.1.1.2-5ubuntu1),
+ libselinux1-dev,
+ libtool,
+ uuid-dev,
+ zlib1g-dev,
+Standards-Version: 3.9.3.1
+Vcs-Git: git://github.com/dajhorn/pkg-zfs.git
+Vcs-Browser: http://github.com/dajhorn/pkg-zfs
+
+Package: libnvpair1
+Section: libs
+Architecture: linux-any
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Replaces: libnvpair0
+Description: Solaris name-value library for Linux
+ This library provides routines for packing and unpacking nv pairs for
+ transporting data across process boundaries, transporting between
+ kernel and userland, and possibly saving onto disk files.
+
+Package: libnvpair1-dbg
+Section: debug
+Architecture: linux-any
+Depends: libnvpair1 (= ${binary:Version})
+Replaces: libnvpair0-dbg
+Description: Debugging symbols for libnvpair1
+ This library provides routines for packing and unpacking nv pairs for
+ transporting data across process boundaries, transporting between
+ kernel and userland, and possibly saving onto disk files.
+ .
+ This package contains the debugging symbols for libnvpair1.
+
+Package: libuutil1
+Section: libs
+Architecture: linux-any
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Replaces: libuutil0
+Description: Solaris userland utility library for Linux
+ This library provides a variety of glue functions for ZFS on Linux:
+ * libspl: The Solaris Porting Layer library, which provides APIs that make it
+   possible to run Solaris user code in a Linux environment with relatively
+   minimal modification.
+ * libavl: The Adelson-Velskii Landis balanced binary tree manipulation library.
+ * libefi: The Extensible Firmware Interface library for GUID disk partitioning.
+ * libshare: NFS and SMB service integration for ZFS.
+
+Package: libuutil1-dbg
+Section: debug
+Architecture: linux-any
+Depends: libuutil1 (= ${binary:Version})
+Replaces: libuutil0-dbg
+Description: Debugging symbols for libuutil1
+ This library provides a variety of glue functions for ZFS on Linux:
+ * libspl: The Solaris Porting Layer library, which provides APIs that make it
+   possible to run Solaris user code in a Linux environment with relatively
+   minimal modification.
+ * libavl: The Adelson-Velskii Landis balanced binary tree manipulation library.
+ * libefi: The Extensible Firmware Interface library for GUID disk partitioning.
+ * libshare: NFS and SMB service integration for ZFS.
+ .
+ This package contains the debugging symbols for libuutil1.
+
+Package: libzfs-dev
+Section: libdevel
+Architecture: linux-any
+Depends: ${misc:Depends}, libzfs1 (= ${binary:Version})
+Provides: libnvpair-dev, libuutil-dev
+Replaces: libefi1,
+ libnvpair1,
+ libshare1,
+ libspl1,
+ libunicode1,
+ libuutil1,
+ libzavl1,
+ libzfs1,
+ libzpool1,
+Description: Native ZFS filesystem development files for Linux
+ Header files and static libraries for compiling software
+ against libzfs.
+
+Package: libzfs1
+Section: libs
+Architecture: linux-any
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Replaces: libzfs0
+Description: Native ZFS filesystem library for Linux
+ The zfs management library.
+
+Package: libzfs1-dbg
+Section: debug
+Architecture: linux-any
+Depends: libzfs1 (= ${binary:Version})
+Replaces: libzfs0-dbg
+Description: Debugging symbols for libzfs1
+ The zfs management library.
+ .
+ This package contains the debugging symbols for libzfs1.
+
+Package: libzpool1
+Section: libs
+Architecture: linux-any
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Replaces: libzpool0
+Description: Native ZFS pool library for Linux
+ The zpool management library.
+
+Package: libzpool1-dbg
+Section: debug
+Architecture: linux-any
+Depends: libzpool1 (= ${binary:Version})
+Replaces: libzpool0-dbg
+Description: Debugging symbols for libzpool1
+ The zpool management library.
+ .
+ This package contains the debugging symbols for libzpool1.
+
+Package: zfs-dkms
+Section: kernel
+Architecture: linux-any
+Depends: ${misc:Depends}, dkms (>> 2.1.1.2-5ubuntu1), spl-dkms (>= ${source:Upstream-Version})
+Replaces: lzfs, lzfs-dkms
+Provides: lustre-backend-fs, lzfs, lzfs-dkms
+Conflicts: lzfs, lzfs-dkms
+Description: Native ZFS filesystem kernel modules for Linux
+ An advanced integrated volume manager and filesystem that is designed for
+ performance and data integrity. Snapshots, clones, checksums, deduplication,
+ compression, and RAID redundancy are built-in features..
+ .
+ Includes the SPA, DMU, ZVOL, and ZPL components of ZFS.
+
+#Package: zfs-dracut
+#Section: kernel
+#Architecture: linux-any
+#Depends: ${misc:Depends}, dracut, zfsutils
+#Description: Native ZFS root filesystem capabilities for Linux
+# This package adds ZFS to the system initramfs with a hook
+# for the dracut infrastructure.
+
+Package: zfs-initramfs
+Section: kernel
+Architecture: linux-any
+Depends: ${misc:Depends}, zfsutils, zfs-grub
+Description: Native ZFS root filesystem capabilities for Linux
+ This package adds ZFS to the system initramfs with a hook
+ for the initramfs-tools infrastructure.
+
+Package: zfsutils
+Section: admin
+Architecture: linux-any
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Recommends: zfs-dkms
+Suggests: nfs-kernel-server, zfs-initramfs
+Conflicts: zfs, zfs-fuse
+Replaces: zfs
+Description: Native ZFS management utilities for Linux
+ This package provides the zpool and zfs commands that are used to
+ manage ZFS filesystems.
+
+Package: zfsutils-dbg
+Section: debug
+Architecture: linux-any
+Depends: zfsutils (= ${binary:Version})
+Replaces: zfs-dbg
+Description: Debugging symbols for zfsutils
+ This package provides the zpool and zfs commands that are used to
+ manage ZFS filesystems.
+ .
+ This package contains the debugging symbols for zfsutils.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644 (file)
index 0000000..7f24bd4
--- /dev/null
@@ -0,0 +1,1606 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: Native ZFS for Linux
+Upstream-Contact: Brian Behlendorf <behlendorf1@llnl.gov>
+Source: https://github.com/zfsonlinux/zfs/
+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.
+License: CDDL-1.0
+
+Files: *
+Copyright: Lawrence Livermore National Security, LLC.
+License: CDDL-1.0
+
+Files: cmd/mount_zfs/*
+Copyright: Oracle
+ Lawrence Livermore National Security, LLC.
+License: CDDL-1.0
+
+Files: cmd/zdb/*
+Copyright: Oracle
+ Sun Microssystems, Inc.
+License: CDDL-1.0
+
+Files: cmd/zdb/zdb_il.c
+Copyright: Sun Microsystems, Inc.
+ Cyril Plisko
+License: CDDL-1.0
+
+Files: cmd/zfs/zfs_iter.c
+Copyright: Oracle
+ Pawel Jakub Dawidek
+License: CDDL-1.0
+
+Files: cmd/zfs/zfs_iter.h
+Copyright: Sun Microssystems, Inc.
+License: CDDL-1.0
+
+Files: cmd/zfs/zfs_main.c
+Copyright: Oracle
+ Nexenta Systems, Inc.
+ Delphix
+License: CDDL-1.0
+
+Files: cmd/zfs/zfs_main.h
+Copyright: Oracle
+ Nexenta Systems, Inc.
+License: CDDL-1.0
+
+Files: cmd/zfs/zfs_util.?
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: cmd/zinject/*
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: cmd/zpios/*
+Copyright: Cluster Filesystems, Inc.
+ Lawrence Livermore National Security, LLC.
+License: GPL-2+
+
+Files: cmd/zpool/zpool_iter.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: cmd/zpool/zpool_main.c
+Copyright: Oracle
+ Nexenta Systems, Inc.
+ Delphix
+ Frederik Wessels
+License: CDDL-1.0
+
+Files: cmd/zpool/zpool_util.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: cmd/zpool/zpool_util.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: cmd/zpool/zpool_vdev.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: cmd/zstreamdump/zstreamdump.c
+Copyright: Sun Microsystems, Inc.
+ Martin Matuska
+License: CDDL-1.0
+
+Files: cmd/ztest/ztest.c
+Copyright: Oracle
+ Delphix
+ Nexenta Systems, Inc.
+License: CDDL-1.0
+
+Files: cmd/zvol_id/*
+Copyright: Fajar A. Nugraha.
+License: CDDL-1.0
+
+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/depcomp
+Copyright: Free Software Foundation, Inc.
+License: GPL-2+
+
+Files: config/ltmain.sh
+Copyright: Free Software Foundation, Inc.
+License: GPL-2+
+
+Files: config/missing
+Copyright: Free Software Foundation, Inc.
+License: GPL-2+
+
+Files: debian/*
+Copyright: Darik Horn <dajhorn@vanadac.com>
+Source: https://github.com/dajhorn/pkg-spl/
+License: GPL-2+
+
+Files: etc/init.d/zfs.gentoo.in
+Copyright: Gentoo Foundation
+License: BSD-2-clause
+ Copyright (c) 2011, Gentoo Foundation
+ All rights reserved.
+ .
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+ .
+ Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+ .
+ Redistributions in binary form must reproduce the above copyright notice, this
+ list of conditions and the following disclaimer in the documentation and/or
+ other materials provided with the distribution.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Files: include/libnvpair.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/libuutil_common.h
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: include/libuutil.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/libuutil_impl.h
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: include/libzfs.h
+Copyright: Oracle
+ Nexenta Systems, Inc.
+ Delphix
+License: CDDL-1.0
+
+Files: include/libzfs_impl.h
+Copyright: Oracle
+ Delphix
+License: CDDL-1.0
+
+Files: include/sys/arc.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/avl.h
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: include/avl_impl.h
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: include/sys/bplist.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/sys/bpobj.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/sys/dbuf.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/sys/ddt.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/sys/dmu.h
+Copyright: Oracle
+ Delphix
+ Robert Milkowski
+License: CDDL-1.0
+
+Files: include/sys/dmu_impl.h
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: include/sys/dmu_objset.h
+Copyright: Oracle
+ Robert Milkowski
+License: CDDL-1.0
+
+Files: include/sys/dmu_traverse.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/sys/dmu_tx.h
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: include/sys/dmu_zfetch.h
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: include/sys/dnode.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/sys/dsl_*
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/sys/dsl_dataset.h
+Copyright: Oracle
+ Delphix
+License: CDDL-1.0
+
+Files: include/sys/dsl_deleg.h
+Copyright: Oracle
+ Delphix
+License: CDDL-1.0
+
+Files: include/sys/efi_partition.h
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: include/sys/fm/fs/zfs.h
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: include/sys/fm/protocol.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/sys/fm/util.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/sys/fs/zfs.h
+Copyright: Oracle
+ Delphix
+ Nexenta Systems, Inc.
+ Robert Milkowski
+License: CDDL-1.0
+
+Files: include/sys/metaslab.h
+Copyright: Oracle
+ Delphix
+License: CDDL-1.0
+
+Files: include/sys/metaslab_impl.h
+Copyright: Sun Microsystems, Inc.
+ Delphix
+License: CDDL-1.0
+
+Files: include/sys/nvpair.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/sys/nvpair_impl.h
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: include/sys/refcount.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/sys/rrwlock.h
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: include/sys/refcount.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/sys/sa.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/sys/sa_impl.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/sys/spa_boot.h
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: include/sys/space_map.h
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: include/sys/spa.h
+Copyright: Oracle
+ Delphix
+ Nexenta Systems, Inc.
+License: CDDL-1.0
+
+Files: include/sys/spa_impl.h
+Copyright: Oracle
+ Delphix
+ Nexenta Systems, Inc.
+License: CDDL-1.0
+
+Files: include/sys/txg.h
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: include/sys/txg_impl.h
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: include/sys/u8_textprep_data.h
+Copyright: Unicode, Inc.
+ Sun Microsystems, Inc.
+License:
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of the Unicode data files and any associated documentation (the
+ "Data Files") or Unicode software and any associated documentation (the
+ "Software") to deal in the Data Files or Software without restriction,
+ including without limitation the rights to use, copy, modify, merge,
+ publish, distribute, and/or sell copies of the Data Files or Software, and
+ to permit persons to whom the Data Files or Software are furnished to do so,
+ provided that (a) the above copyright notice(s) and this permission notice
+ appear with all copies of the Data Files or Software, (b) both the above
+ copyright notice(s) and this permission notice appear in associated
+ documentation, and (c) there is clear notice in each modified Data File or
+ in the Software as well as in the documentation associated with the Data
+ File(s) or Software that the data or software has been modified.
+ .
+ THE DATA FILES AND SOFTWARE ARE 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 OF
+ THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
+ INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
+ CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+ OF THE DATA FILES OR SOFTWARE.
+ .
+ Except as contained in this notice, the name of a copyright holder shall not
+ be used in advertising or otherwise to promote the sale, use or other
+ dealings in these Data Files or Software without prior written authorization
+ of the copyright holder.
+ .
+ Unicode and the Unicode logo are trademarks of Unicode, Inc., and may be
+ registered in some jurisdictions. All other trademarks and registered
+ trademarks mentioned herein are the property of their respective owners.
+
+Files: include/sys/u8_textprep.h
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: include/sys/uberblock.h
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: include/sys/uberblock_impl.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/sys/uio_impl.h
+Copyright: Sun Microsystems, Inc.
+ AT&T
+ The Regents of the University of California
+License: CDDL-1.0
+
+Files: include/sys/unique.h
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: include/sys/unique.h
+Copyright: Sun Microsystems, Inc.
+ Hewlett-Packard Company
+ Open Software Foundation, Inc.
+ Digital Equipment Corporation.
+ Microsoft
+License: CDDL-1.0
+
+Files: include/sys/vdev_file.h
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: include/sys/vdev.h
+Copyright: Oracle
+ Delphix
+License: CDDL-1.0
+
+Files: include/sys/vdev_impl.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/sys/xvattr.h
+Copyright: AT&T
+ Oracle
+ The Regents of the University of California
+License: CDDL-1.0
+
+Files: include/sys/vdev_impl.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/sys/zap.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/sys/zap_impl.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/sys/zap_leaf.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/sys/zfs_acl.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/sys/zfs_context.h
+Copyright: Sun Microsystems, Inc.
+ Nexenta Systems, Inc.
+License: CDDL-1.0
+
+Files: include/sys/zfs_ctldir.h
+Copyright: Oracle
+ Lawrence Livermore National Security, LLC.
+License: CDDL-1.0
+
+Files: include/sys/zfs_debug.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/sys/zfs_dir.h
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: include/sys/zfs_fuid.h
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: include/sys/zfs_ioctl.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/sys/zfs_onexit.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/sys/zfs_rlock.h
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: include/sys/zfs_sa.h
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: include/sys/zfs_stat.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/sys/zfs_vfsops.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/sys/zfs_vnops.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/sys/zfs_znode.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/sys/zil.h
+Copyright: Oracle
+ Robert Milkowski
+License: CDDL-1.0
+
+Files: include/sys/zil_impl.h
+Copyright: Oracle
+ Robert Milkowski
+License: CDDL-1.0
+
+Files: include/sys/zio_checksum.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/sys/zio_compress.h
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: include/sys/zio.h
+Copyright: Oracle
+ Nexenta Systems, Inc.
+License: CDDL-1.0
+
+Files: include/sys/zio_impl.h
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: include/sys/zrlock.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/sys/zvol.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/zfs_comutil.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: include/zfs_deleg.h
+Copyright: Oracle
+ Nexenta Systems, Inc.
+License: CDDL-1.0
+
+Files: include/zfs_fletcher.h
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: include/zfs_namecheck.h
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: include/zfs_prop.h
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: include/zpios-ctl.h
+Copyright: Cluster File Systems, Inc.
+ Lawrence Livermore National Security, LLC.
+License: GPL-2+
+
+Files: include/zpios-internal.h
+Copyright: Cluster File Systems, Inc.
+ Lawrence Livermore National Security, LLC.
+License: GPL-2+
+
+Files: lib/libefi/rdwr_efi.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: lib/libnvpair/libnvpair.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: lib/libnvpair/nvpair_alloc_system.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: lib/libshare/libshare.c
+Copyright: Oracle
+ Gunnar Beutner
+License: CDDL-1.0
+
+Files: lib/libshare/libshare_impl.h
+Copyright: Oracle
+ Gunnar Beutner
+License: CDDL-1.0
+
+Files: lib/libshare/nfs.c
+Copyright: Oracle
+ Gunnar Beutner
+ Cyril Plisko
+License: CDDL-1.0
+
+Files: lib/libshare/nfs.h
+Copyright: Oracle
+ Gunnar Beutner
+License: CDDL-1.0
+
+Files: lib/libspl/asm-generic/atomic.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: lib/libspl/asm-i386/atomic.S
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: lib/libspl/asm-x86_64/atomic.S
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: lib/libspl/getexecname.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: lib/libspl/gethrestime.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: lib/libspl/getmntany.c
+Copyright: Sun Microsystems, Inc.
+ Ricardo Correia
+ AT&T
+License: CDDL-1.0
+
+Files: lib/libspl/include/*
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: lib/libspl/include/byteorder.h
+Copyright: Sun Microsystems, Inc.
+ AT&T
+ The Regents of the University of California
+License: CDDL-1.0
+
+Files: lib/libspl/include/sys/dktp/fdisk.h
+Copyright: Sun Microsystems, Inc.
+ AT&T
+License: CDDL-1.0
+
+Files: lib/libspl/include/sys/mntent.h
+Copyright: Sun Microsystems, Inc.
+ AT&T
+License: CDDL-1.0
+
+Files: lib/libspl/include/sys/mnttab.h
+Copyright: Sun Microsystems, Inc.
+ Ricardo Correia
+ AT&T
+License: CDDL-1.0
+
+Files: lib/libspl/include/sys/stat.h
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: lib/libspl/include/sys/sysevent/eventdefs.h
+Copyright: Sun Microsystems, Inc.
+ Nexenta Systems, Inc.
+License: CDDL-1.0
+
+Files: lib/libspl/include/sys/uio.h
+Copyright: Sun Microsystems, Inc.
+ AT&T
+ The Regents of the University of California
+License: CDDL-1.0
+
+Files: lib/libspl/include/sys/vtoc.h
+Copyright: Sun Microsystems, Inc.
+ AT&T
+License: CDDL-1.0
+
+Files: lib/libspl/list.c
+Copyright: 2008 Sun Microsystems, Inc.  All rights reserved.
+License: CDDL-1.0
+
+Files: lib/libspl/mkdirp.c
+Copyright: Sun Microsystems, Inc.
+ AT&T
+License: CDDL-1.0
+
+Files: lib/libspl/strlcat.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: lib/libspl/strlcpy.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: lib/libspl/strnlen.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: lib/libspl/timestamp.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: lib/libspl/xdr.c
+Copyright: Sun Microsystems, Inc.
+ AT&T
+License: CDDL-1.0
+
+Files: lib/libspl/zone.c
+Copyright: 2006 Ricardo Correia
+License: CDDL-1.0
+
+Files: lib/libuutil/uu_alloc.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: lib/libuutil/uu_avl.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: lib/libuutil/uu_dprintf.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: lib/libuutil/uu_ident.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: lib/libuutil/uu_list.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: lib/libuutil/uu_misc.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: lib/libuutil/uu_open.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: lib/libuutil/uu_pname.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: lib/libuutil/uu_string.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: lib/libuutil/uu_strtoint.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: lib/libzfs/libzfs_changelist.c
+Copyright: Sun Microsystems, Inc.
+ Ramprakash Jelari
+License: CDDL-1.0
+
+Files: lib/libzfs/libzfs_config.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: lib/libzfs/libzfs_dataset.c
+Copyright: Oracle
+ Nexenta Systems, Inc.
+ Delphix
+ DEY Storage Systems, Inc.
+ Pawel Jakub Dawidek
+License: CDDL-1.0
+
+Files: lib/libzfs/libzfs_diff.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: lib/libzfs/libzfs_fru.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: lib/libzfs/libzfs_graph.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: lib/libzfs/libzfs_import.c
+Copyright: Oracle
+ Nexenta Systems, Inc.
+ Delphix
+License: CDDL-1.0
+
+Files: lib/libzfs/libzfs_iter.c
+Copyright: Oracle
+ Nexenta Systems, Inc.
+ Delphix
+License: CDDL-1.0
+
+Files: lib/libzfs/libzfs_mount.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: lib/libzfs/libzfs_pool.c
+Copyright: Oracle
+ Nexenta Systems, Inc.
+ Delphix
+License: CDDL-1.0
+
+Files: lib/libzfs/libzfs_sendrecv.c
+Copyright: Oracle
+ Delphix
+ Pawel Jakub Dawidek
+License: CDDL-1.0
+
+Files: lib/libzfs/libzfs_status.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: lib/libzfs/libzfs_util.c
+Copyright: Oracle
+ Delphix
+License: CDDL-1.0
+
+Files: lib/libzpool/kernel.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: lib/libzpool/taskq.c
+Copyright: Sun Microsystems, Inc.
+ Nexenta Systems, Inc.
+License: CDDL-1.0
+
+Files: lib/libzpool/util.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: man/man8/zdb.8
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: man/man8/zfs.8
+Copyright: Sun Microsystems, Inc.
+ Delphix
+ Nexenta Systems, Inc.
+ Joshua M. Clulow
+License: CDDL-1.0
+
+Files: man/man8/zpool.8
+Copyright: Sun Microsystems, Inc.
+ Nexenta Systems, Inc.
+License: CDDL-1.0
+
+Files: man/man8/zstreamdump.8
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: module/avl/avl.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: module/nvpair/nvpair_alloc_fixed.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: module/nvpair/nvpair_alloc_spl.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: module/nvpair/nvpair.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/unicode/u8_textprep.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: module/unicode/uconv.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: module/zcommon/zfs_comutil.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zcommon/zfs_deleg.c
+Copyright: Oracle
+ Nexenta Systems, Inc.
+License: CDDL-1.0
+
+Files: module/zcommon/zfs_fletcher.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: module/zcommon/zfs_namecheck.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: module/zcommon/zfs_prop.c
+Copyright: Oracle
+ Delphix
+ Robert Milkowski
+License: CDDL-1.0
+
+Files: module/zcommon/zfs_uio.c
+Copyright: Sun Microsystems, Inc.
+ AT&T
+ The Regents of the University of California
+License: CDDL-1.0
+
+Files: module/zcommon/zpool_prop.c
+Copyright: Oracle
+ Nexenta Systems, Inc.
+ Delphix
+License: CDDL-1.0
+
+Files: module/zcommon/zprop_common.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: module/zfs/arc.c
+Copyright: Oracle
+ Nexenta Systems, Inc.
+ Delphix
+License: CDDL-1.0
+
+Files: module/zfs/bplist.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zfs/bpobj.c
+Copyright: Oracle
+ Delphix
+License: CDDL-1.0
+
+Files: module/zfs/dbuf.c
+Copyright: Oracle
+ Nexenta Systems, Inc.
+License: CDDL-1.0
+
+Files: module/zfs/ddt.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zfs/ddt_zap.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zfs/dmu.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zfs/dmu_diff.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zfs/dmu_object.c
+Copyright: Oracle
+ Robert Milkowski
+License: CDDL-1.0
+
+Files: module/zfs/dmu_send.c
+Copyright: Oracle
+ Nexenta Systems, Inc.
+ Delphix
+License: CDDL-1.0
+
+Files: module/zfs/dmu_traverse.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zfs/dmu_tx.c
+Copyright: Oracle
+ Nexenta Systems, Inc.
+License: CDDL-1.0
+
+Files: module/zfs/dmu_zfetch.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: module/zfs/dnode.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zfs/dnode_sync.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zfs/dsl_dataset.c
+Copyright: Oracle
+ Delphix
+License: CDDL-1.0
+
+Files: module/zfs/dsl_deadlist.c
+Copyright: Oracle
+ Delphix
+License: CDDL-1.0
+
+Files: module/zfs/dsl_deleg.c
+Copyright: Oracle
+ Delphix
+License: CDDL-1.0
+
+Files: module/zfs/dsl_dir.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zfs/dsl_pool.c
+Copyright: Oracle
+ Delphix
+License: CDDL-1.0
+
+Files: module/zfs/dsl_prop.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zfs/dsl_scan.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zfs/dsl_synctask.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zfs/fm.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zfs/gzip.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: module/zfs/lzjb.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zfs/metaslab.c
+Copyright: Oracle
+ Delphix
+License: CDDL-1.0
+
+Files: module/zfs/refcount.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zfs/rrwlock.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: module/zfs/sa.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zfs/sha256.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: module/zfs/spa_boot.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: module/zfs/spa.c
+Copyright: Oracle
+ Nexenta Systems, Inc.
+ Delphix
+License: CDDL-1.0
+
+Files: module/zfs/space_map.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: module/zfs/spa_config.c
+Copyright: Oracle
+ Nexenta Systems, Inc.
+ Delphix
+License: CDDL-1.0
+
+Files: module/zfs/spa_errlog.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zfs/spa_history.c
+Copyright: Oracle
+ Delphix
+License: CDDL-1.0
+
+Files: module/zfs/spa_misc.c
+Copyright: Oracle
+ Delphix
+ Nexenta Systems, Inc.
+License: CDDL-1.0
+
+Files: module/zfs/txg.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zfs/uberblock.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zfs/unique.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: module/zfs/vdev_cache.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: module/zfs/vdev.c
+Copyright: Oracle
+ Nexenta Systems, Inc.
+ Delphix
+License: CDDL-1.0
+
+Files: module/zfs/vdev_file.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zfs/vdev_label.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zfs/vdev_mirror.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: module/zfs/vdev_missing.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: module/zfs/vdev_queue.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: module/zfs/vdev_raidz.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zfs/vdev_root.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: module/zfs/zap.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zfs/zap_leaf.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zfs/zap_micro.c
+Copyright: Oracle
+ Delphix
+License: CDDL-1.0
+
+Files: module/zfs/zfs_acl.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zfs/zfs_byteswap.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: module/zfs/zfs_ctldir.c
+Copyright: Oracle
+ Lawrence Livermore National Security, LLC.
+License: CDDL-1.0
+
+Files: module/zfs/zfs_debug.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zfs/zfs_dir.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zfs/zfs_fm.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: module/zfs/zfs_fuid.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zfs/zfs_ioctl.c
+Copyright: Oracle
+ Martin Matuska
+ Pawel Jakub Dawidek
+ Joyent, Inc.
+ Nexenta Systems, Inc.
+ Delphix
+License: CDDL-1.0
+
+Files: module/zfs/zfs_log.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zfs/zfs_onexit.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zfs/zfs_replay.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zfs/zfs_rlock.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: module/zfs/zfs_sa.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zfs/zfs_vfsops.c
+Copyright: Oracle
+ Robert Milkowski
+License: CDDL-1.0
+
+Files: module/zfs/zfs_vnops.c
+Copyright: Oracle
+ Jeremy Teo
+ Robert Milkowski
+License: CDDL-1.0
+
+Files: module/zfs/zfs_znode.c
+Copyright: Oracle
+ Jeremy Teo
+License: CDDL-1.0
+
+Files: module/zfs/zil.c
+Copyright: Oracle
+ Delphix
+ Robert Milkowski
+License: CDDL-1.0
+
+Files: module/zfs/zio.c
+Copyright: Oracle
+ Delphix
+ Nexenta Systems, Inc.
+License: CDDL-1.0
+
+Files: module/zfs/zio_checksum.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zfs/zio_compress.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: module/zfs/zio_inject.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zfs/zle.c
+Copyright: Sun Microsystems, Inc.
+License: CDDL-1.0
+
+Files: module/zfs/zpl_export.c
+Copyright: Gunnar Beutner
+License: CDDL-1.0
+
+Files: module/zfs/zrlock.c
+Copyright: Oracle
+License: CDDL-1.0
+
+Files: module/zpios/pios.c
+Copyright: Cluster File Systems, Inc.
+ Lawrence Livermore National Security, LLC.
+License: GPL-2+
+
+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.
+
+License: CDDL-1.0
+ COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL)
+ .
+ Version 1.0
+ .
+ 1. Definitions.
+ .
+ 1.1. “Contributor” means each individual or entity that creates or contributes
+ to the creation of Modifications.
+ .
+ 1.2. “Contributor Version” means the combination of the Original Software,
+ prior Modifications used by a Contributor (if any), and the Modifications made
+ by that particular Contributor.
+ .
+ 1.3. “Covered Software” means (a) the Original Software, or (b) Modifications,
+ or (c) the combination of files containing Original Software with files
+ containing Modifications, in each case including portions thereof.
+ .
+ 1.4. “Executable” means the Covered Software in any form other than Source
+ Code.
+ .
+ 1.5. “Initial Developer” means the individual or entity that first makes
+ Original Software available under this License.
+ .
+ 1.6. “Larger Work” means a work which combines Covered Software or portions
+ thereof with code not governed by the terms of this License.
+ .
+ 1.7. “License” means this document.
+ .
+ 1.8. “Licensable” means having the right to grant, to the maximum extent
+ possible, whether at the time of the initial grant or subsequently acquired,
+ any and all of the rights conveyed herein.
+ .
+ 1.9. “Modifications” means the Source Code and Executable form of any of the
+ following:
+ .
+ A. Any file that results from an addition to, deletion from or modification of
+ the contents of a file containing Original Software or previous Modifications;
+ .
+ B. Any new file that contains any part of the Original Software or previous
+ Modification; or
+ .
+ C. Any new file that is contributed or otherwise made available under the terms
+ of this License.
+ .
+ 1.10. “Original Software” means the Source Code and Executable form of computer
+ software code that is originally released under this License.
+ .
+ 1.11. “Patent Claims” means any patent claim(s), now owned or hereafter
+ acquired, including without limitation, method, process, and apparatus claims,
+ in any patent Licensable by grantor.
+ .
+ 1.12. “Source Code” means (a) the common form of computer software code in
+ which modifications are made and (b) associated documentation included in or
+ with such code.
+ .
+ 1.13. “You” (or “Your”) means an individual or a legal entity exercising rights
+ under, and complying with all of the terms of, this License. For legal
+ entities, “You” includes any entity which controls, is controlled by, or is
+ under common control with You. For purposes of this definition, “control” means
+ (a) the power, direct or indirect, to cause the direction or management of such
+ entity, whether by contract or otherwise, or (b) ownership of more than fifty
+ percent (50%) of the outstanding shares or beneficial ownership of such entity.
+ .
+ 2. License Grants.
+ .
+ 2.1. The Initial Developer Grant.
+ .
+ Conditioned upon Your compliance with Section 3.1 below and subject to third
+ party intellectual property claims, the Initial Developer hereby grants You a
+ world-wide, royalty-free, non-exclusive license:
+ .
+ (a) under intellectual property rights (other than patent or trademark)
+ Licensable by Initial Developer, to use, reproduce, modify, display, perform,
+ sublicense and distribute the Original Software (or portions thereof), with or
+ without Modifications, and/or as part of a Larger Work; and
+ .
+ (b) under Patent Claims infringed by the making, using or selling of Original
+ Software, to make, have made, use, practice, sell, and offer for sale, and/or
+ otherwise dispose of the Original Software (or portions thereof).
+ .
+ (c) The licenses granted in Sections 2.1(a) and (b) are effective on the date
+ Initial Developer first distributes or otherwise makes the Original Software
+ available to a third party under the terms of this License.
+ .
+ (d) Notwithstanding Section 2.1(b) above, no patent license is granted: (1) for
+ code that You delete from the Original Software, or (2) for infringements
+ caused by: (i) the modification of the Original Software, or (ii) the
+ combination of the Original Software with other software or devices.
+ .
+ 2.2. Contributor Grant.
+ .
+ Conditioned upon Your compliance with Section 3.1 below and subject to third
+ party intellectual property claims, each Contributor hereby grants You a
+ world-wide, royalty-free, non-exclusive license:
+ .
+ (a) under intellectual property rights (other than patent or trademark)
+ Licensable by Contributor to use, reproduce, modify, display, perform,
+ sublicense and distribute the Modifications created by such Contributor (or
+ portions thereof), either on an unmodified basis, with other Modifications, as
+ Covered Software and/or as part of a Larger Work; and
+ .
+ (b) under Patent Claims infringed by the making, using, or selling of
+ Modifications made by that Contributor either alone and/or in combination with
+ its Contributor Version (or portions of such combination), to make, use, sell,
+ offer for sale, have made, and/or otherwise dispose of: (1) Modifications made
+ by that Contributor (or portions thereof); and (2) the combination of
+ Modifications made by that Contributor with its Contributor Version (or
+ portions of such combination).
+ .
+ (c) The licenses granted in Sections 2.2(a) and 2.2(b) are effective on the
+ date Contributor first distributes or otherwise makes the Modifications
+ available to a third party.
+ .
+ (d) Notwithstanding Section 2.2(b) above, no patent license is granted: (1) for
+ any code that Contributor has deleted from the Contributor Version; (2) for
+ infringements caused by: (i) third party modifications of Contributor Version,
+ or (ii) the combination of Modifications made by that Contributor with other
+ software (except as part of the Contributor Version) or other devices; or (3)
+ under Patent Claims infringed by Covered Software in the absence of
+ Modifications made by that Contributor.
+ .
+ 3. Distribution Obligations.
+ .
+ 3.1. Availability of Source Code.
+ .
+ Any Covered Software that You distribute or otherwise make available in
+ Executable form must also be made available in Source Code form and that Source
+ Code form must be distributed only under the terms of this License. You must
+ include a copy of this License with every copy of the Source Code form of the
+ Covered Software You distribute or otherwise make available. You must inform
+ recipients of any such Covered Software in Executable form as to how they can
+ obtain such Covered Software in Source Code form in a reasonable manner on or
+ through a medium customarily used for software exchange.
+ .
+ 3.2. Modifications.
+ .
+ The Modifications that You create or to which You contribute are governed by
+ the terms of this License. You represent that You believe Your Modifications
+ are Your original creation(s) and/or You have sufficient rights to grant the
+ rights conveyed by this License.
+ .
+ 3.3. Required Notices.
+ .
+ You must include a notice in each of Your Modifications that identifies You as
+ the Contributor of the Modification. You may not remove or alter any copyright,
+ patent or trademark notices contained within the Covered Software, or any
+ notices of licensing or any descriptive text giving attribution to any
+ Contributor or the Initial Developer.
+ .
+ 3.4. Application of Additional Terms.
+ .
+ You may not offer or impose any terms on any Covered Software in Source Code
+ form that alters or restricts the applicable version of this License or the
+ recipients’ rights hereunder. You may choose to offer, and to charge a fee for,
+ warranty, support, indemnity or liability obligations to one or more recipients
+ of Covered Software. However, you may do so only on Your own behalf, and not on
+ behalf of the Initial Developer or any Contributor. You must make it absolutely
+ clear that any such warranty, support, indemnity or liability obligation is
+ offered by You alone, and You hereby agree to indemnify the Initial Developer
+ and every Contributor for any liability incurred by the Initial Developer or
+ such Contributor as a result of warranty, support, indemnity or liability terms
+ You offer.
+ .
+ 3.5. Distribution of Executable Versions.
+ .
+ You may distribute the Executable form of the Covered Software under the terms
+ of this License or under the terms of a license of Your choice, which may
+ contain terms different from this License, provided that You are in compliance
+ with the terms of this License and that the license for the Executable form
+ does not attempt to limit or alter the recipient’s rights in the Source Code
+ form from the rights set forth in this License. If You distribute the Covered
+ Software in Executable form under a different license, You must make it
+ absolutely clear that any terms which differ from this License are offered by
+ You alone, not by the Initial Developer or Contributor. You hereby agree to
+ indemnify the Initial Developer and every Contributor for any liability
+ incurred by the Initial Developer or such Contributor as a result of any such
+ terms You offer.
+ .
+ 3.6. Larger Works.
+ .
+ You may create a Larger Work by combining Covered Software with other code not
+ governed by the terms of this License and distribute the Larger Work as a
+ single product. In such a case, You must make sure the requirements of this
+ License are fulfilled for the Covered Software.
+ .
+ 4. Versions of the License.
+ .
+ 4.1. New Versions.
+ .
+ Sun Microsystems, Inc. is the initial license steward and may publish revised
+ and/or new versions of this License from time to time. Each version will be
+ given a distinguishing version number. Except as provided in Section 4.3, no
+ one other than the license steward has the right to modify this License.
+ .
+ 4.2. Effect of New Versions.
+ .
+ You may always continue to use, distribute or otherwise make the Covered
+ Software available under the terms of the version of the License under which
+ You originally received the Covered Software. If the Initial Developer includes
+ a notice in the Original Software prohibiting it from being distributed or
+ otherwise made available under any subsequent version of the License, You must
+ distribute and make the Covered Software available under the terms of the
+ version of the License under which You originally received the Covered
+ Software. Otherwise, You may also choose to use, distribute or otherwise make
+ the Covered Software available under the terms of any subsequent version of the
+ License published by the license steward.
+ .
+ 4.3. Modified Versions.
+ .
+ When You are an Initial Developer and You want to create a new license for Your
+ Original Software, You may create and use a modified version of this License if
+ You: (a) rename the license and remove any references to the name of the
+ license steward (except to note that the license differs from this License);
+ and (b) otherwise make it clear that the license contains terms which differ
+ from this License.
+ .
+ 5. DISCLAIMER OF WARRANTY.
+ .
+ COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN “AS IS” BASIS, WITHOUT
+ WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT
+ LIMITATION, WARRANTIES THAT THE COVERED SOFTWARE IS FREE OF DEFECTS,
+ MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK
+ AS TO THE QUALITY AND PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD
+ ANY COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL
+ DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING,
+ REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART
+ OF THIS LICENSE. NO USE OF ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT
+ UNDER THIS DISCLAIMER.
+ .
+ 6. TERMINATION.
+ .
+ 6.1. This License and the rights granted hereunder will terminate automatically
+ if You fail to comply with terms herein and fail to cure such breach within 30
+ days of becoming aware of the breach. Provisions which, by their nature, must
+ remain in effect beyond the termination of this License shall survive.
+ .
+ 6.2. If You assert a patent infringement claim (excluding declaratory judgment
+ actions) against Initial Developer or a Contributor (the Initial Developer or
+ Contributor against whom You assert such claim is referred to as “Participant”)
+ alleging that the Participant Software (meaning the Contributor Version where
+ the Participant is a Contributor or the Original Software where the Participant
+ is the Initial Developer) directly or indirectly infringes any patent, then any
+ and all rights granted directly or indirectly to You by such Participant, the
+ Initial Developer (if the Initial Developer is not the Participant) and all
+ Contributors under Sections 2.1 and/or 2.2 of this License shall, upon 60 days
+ notice from Participant terminate prospectively and automatically at the
+ expiration of such 60 day notice period, unless if within such 60 day period
+ You withdraw Your claim with respect to the Participant Software against such
+ Participant either unilaterally or pursuant to a written agreement with
+ Participant.
+ .
+ 6.3. In the event of termination under Sections 6.1 or 6.2 above, all end user
+ licenses that have been validly granted by You or any distributor hereunder
+ prior to termination (excluding licenses granted to You by any distributor)
+ shall survive termination.
+ .
+ 7. LIMITATION OF LIABILITY.
+ .
+ UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING
+ NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY
+ OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED SOFTWARE, OR ANY SUPPLIER OF
+ ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL,
+ INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT
+ LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER
+ FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN
+ IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS
+ LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL
+ INJURY RESULTING FROM SUCH PARTY’S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
+ PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR
+ LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND
+ LIMITATION MAY NOT APPLY TO YOU.
+ .
+ 8. U.S. GOVERNMENT END USERS.
+ .
+ The Covered Software is a “commercial item,” as that term is defined in 48
+ C.F.R. 2.101 (Oct. 1995), consisting of “commercial computer software” (as that
+ term is defined at 48 C.F.R. § 252.227-7014(a)(1)) and “commercial computer
+ software documentation” as such terms are used in 48 C.F.R. 12.212 (Sept.
+ 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through
+ 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Software
+ with only those rights set forth herein. This U.S. Government Rights clause is
+ in lieu of, and supersedes, any other FAR, DFAR, or other clause or provision
+ that addresses Government rights in computer software under this License.
+ .
+ 9. MISCELLANEOUS.
+ .
+ This License represents the complete agreement concerning subject matter
+ hereof. If any provision of this License is held to be unenforceable, such
+ provision shall be reformed only to the extent necessary to make it
+ enforceable. This License shall be governed by the law of the jurisdiction
+ specified in a notice contained within the Original Software (except to the
+ extent applicable law, if any, provides otherwise), excluding such
+ jurisdiction’s conflict-of-law provisions. Any litigation relating to this
+ License shall be subject to the jurisdiction of the courts located in the
+ jurisdiction and venue specified in a notice contained within the Original
+ Software, with the losing party responsible for costs, including, without
+ limitation, court costs and reasonable attorneys’ fees and expenses. The
+ application of the United Nations Convention on Contracts for the International
+ Sale of Goods is expressly excluded. Any law or regulation which provides that
+ the language of a contract shall be construed against the drafter shall not
+ apply to this License. You agree that You alone are responsible for compliance
+ with the United States export administration regulations (and the export
+ control laws and regulation of any other countries) when You use, distribute or
+ otherwise make available any Covered Software.
+
+ 10. RESPONSIBILITY FOR CLAIMS.
+ .
+ As between Initial Developer and the Contributors, each party is responsible
+ for claims and damages arising, directly or indirectly, out of its utilization
+ of rights under this License and You agree to work with Initial Developer and
+ Contributors to distribute such responsibility on an equitable basis. Nothing
+ herein is intended or shall be deemed to constitute any admission of liability.
diff --git a/debian/debuild-ppa.sh b/debian/debuild-ppa.sh
new file mode 100755 (executable)
index 0000000..fa68e72
--- /dev/null
@@ -0,0 +1,30 @@
+#!/bin/bash
+#
+# Launchpad PPA build helper.
+#
+
+PPA_USER=${PPA_USER:-$(whoami)}
+PPA_NAME='zfs'
+PPA_DISTRIBUTION_LIST='lucid natty oneiric precise'
+PPA_GENCHANGES='-sa'
+
+if [ ! -d debian/ ]
+then
+       echo 'Error: The debian/ directory is not in the current working path.'
+       exit 1
+fi
+
+for ii in $PPA_DISTRIBUTION_LIST
+do
+       # Change the first line of the debian/changelog file
+       # from: MyPackage (1.2.3-4) unstable; urgency=low
+       # to: MyPackage (1.2.3-4~distname) distname; urgency=low
+       debchange --local="~$ii" --distribution="$ii" dummy
+       sed -i -e '2,8d' debian/changelog
+
+       debuild -S "$PPA_GENCHANGES"
+       git checkout debian/changelog
+
+       # Only do a full upload on the first build.
+       PPA_GENCHANGES='-sd'
+done
diff --git a/debian/libnvpair1.docs b/debian/libnvpair1.docs
new file mode 100644 (file)
index 0000000..425a0e5
--- /dev/null
@@ -0,0 +1,2 @@
+COPYRIGHT
+OPENSOLARIS.LICENSE
diff --git a/debian/libnvpair1.install b/debian/libnvpair1.install
new file mode 100644 (file)
index 0000000..34a0f61
--- /dev/null
@@ -0,0 +1 @@
+lib/libnvpair.so.*
diff --git a/debian/libnvpair1.lintian-overrides b/debian/libnvpair1.lintian-overrides
new file mode 100644 (file)
index 0000000..dccb2e0
--- /dev/null
@@ -0,0 +1 @@
+libnvpair1: extra-license-file
diff --git a/debian/libuutil1.docs b/debian/libuutil1.docs
new file mode 100644 (file)
index 0000000..425a0e5
--- /dev/null
@@ -0,0 +1,2 @@
+COPYRIGHT
+OPENSOLARIS.LICENSE
diff --git a/debian/libuutil1.install b/debian/libuutil1.install
new file mode 100644 (file)
index 0000000..c7fa63e
--- /dev/null
@@ -0,0 +1 @@
+lib/libuutil.so.*
diff --git a/debian/libuutil1.lintian-overrides b/debian/libuutil1.lintian-overrides
new file mode 100644 (file)
index 0000000..4f49450
--- /dev/null
@@ -0,0 +1 @@
+libuutil1: extra-license-file
diff --git a/debian/libzfs-dev.docs b/debian/libzfs-dev.docs
new file mode 100644 (file)
index 0000000..425a0e5
--- /dev/null
@@ -0,0 +1,2 @@
+COPYRIGHT
+OPENSOLARIS.LICENSE
diff --git a/debian/libzfs-dev.install b/debian/libzfs-dev.install
new file mode 100644 (file)
index 0000000..d87813d
--- /dev/null
@@ -0,0 +1,4 @@
+lib/*.a
+lib/*.la
+lib/*.so
+usr/include
diff --git a/debian/libzfs-dev.lintian-overrides b/debian/libzfs-dev.lintian-overrides
new file mode 100644 (file)
index 0000000..887b72c
--- /dev/null
@@ -0,0 +1 @@
+libzfs-dev: extra-license-file
diff --git a/debian/libzfs1.docs b/debian/libzfs1.docs
new file mode 100644 (file)
index 0000000..425a0e5
--- /dev/null
@@ -0,0 +1,2 @@
+COPYRIGHT
+OPENSOLARIS.LICENSE
diff --git a/debian/libzfs1.install b/debian/libzfs1.install
new file mode 100644 (file)
index 0000000..ffd20dc
--- /dev/null
@@ -0,0 +1 @@
+lib/libzfs.so.*
diff --git a/debian/libzfs1.lintian-overrides b/debian/libzfs1.lintian-overrides
new file mode 100644 (file)
index 0000000..7d5d5e5
--- /dev/null
@@ -0,0 +1 @@
+libzfs1: extra-license-file
diff --git a/debian/libzpool1.docs b/debian/libzpool1.docs
new file mode 100644 (file)
index 0000000..425a0e5
--- /dev/null
@@ -0,0 +1,2 @@
+COPYRIGHT
+OPENSOLARIS.LICENSE
diff --git a/debian/libzpool1.install b/debian/libzpool1.install
new file mode 100644 (file)
index 0000000..d886d29
--- /dev/null
@@ -0,0 +1 @@
+lib/libzpool.so.*
diff --git a/debian/libzpool1.lintian-overrides b/debian/libzpool1.lintian-overrides
new file mode 100644 (file)
index 0000000..b7cd61d
--- /dev/null
@@ -0,0 +1 @@
+libzpool1: extra-license-file
diff --git a/debian/patches/0001-Prevent-manual-builds-in-the-DKMS-source.patch b/debian/patches/0001-Prevent-manual-builds-in-the-DKMS-source.patch
new file mode 100644 (file)
index 0000000..0a1efe8
--- /dev/null
@@ -0,0 +1,75 @@
+From 1b2393ffb11d74e9b1f3cc26d17a06f9f9877c4c Mon Sep 17 00:00:00 2001
+From: Darik Horn <dajhorn@vanadac.com>
+Date: Tue, 17 Jan 2012 19:45:07 -0600
+Subject: [PATCH 1/7] Prevent manual builds in the DKMS source.
+
+Print an instructive error messsage and exit if the `dkms.conf` file
+exists when the userland is configured. (ie: `--with-config=user`)
+
+A non-trivial number of people try to rebuild ZoL from the
+`/usr/src/zfs` tree, which is modified to better satisfy Debian
+packaging policy and contains only the module sources for DKMS.
+
+Regardless, local installations usually break managed installations,
+so this autotools test could be further enhanced to check whether
+ZFS has a DKMS registration.
+---
+ config/dkms.m4      |   14 ++++++++++++++
+ config/user.m4      |    1 +
+ config/zfs-build.m4 |    6 +++---
+ 3 files changed, 18 insertions(+), 3 deletions(-)
+ create mode 100644 config/dkms.m4
+
+diff --git a/config/dkms.m4 b/config/dkms.m4
+new file mode 100644
+index 0000000..cfa1152
+--- /dev/null
++++ b/config/dkms.m4
+@@ -0,0 +1,14 @@
++dnl #
++dnl # Prevent manual building in DKMS source tree.
++dnl #
++AC_DEFUN([ZFS_AC_DKMS_INHIBIT], [
++      AC_MSG_CHECKING([for dkms.conf file])
++        AS_IF([test -e dkms.conf], [
++              AC_MSG_ERROR([
++      *** ZFS should not be manually built in the DKMS source tree.
++      *** Remove all ZFS packages before compiling the ZoL sources.
++      *** Running "make install" breaks ZFS packages.])
++        ], [
++              AC_MSG_RESULT([not found])
++        ])
++])
+diff --git a/config/user.m4 b/config/user.m4
+index 4fcef3d..16b8a76 100644
+--- a/config/user.m4
++++ b/config/user.m4
+@@ -2,6 +2,7 @@ dnl #
+ dnl # Default ZFS user configuration
+ dnl #
+ AC_DEFUN([ZFS_AC_CONFIG_USER], [
++      ZFS_AC_DKMS_INHIBIT
+       ZFS_AC_CONFIG_USER_UDEV
+       ZFS_AC_CONFIG_USER_ARCH
+       ZFS_AC_CONFIG_USER_IOCTL
+diff --git a/config/zfs-build.m4 b/config/zfs-build.m4
+index 8e6b13b..c7df551 100644
+--- a/config/zfs-build.m4
++++ b/config/zfs-build.m4
+@@ -86,10 +86,10 @@ AC_DEFUN([ZFS_AC_CONFIG], [
+       ZFS_AC_CONFIG_ALWAYS
+       case "$ZFS_CONFIG" in
+-              kernel) ZFS_AC_CONFIG_KERNEL ;;
+               user)   ZFS_AC_CONFIG_USER   ;;
+-              all)    ZFS_AC_CONFIG_KERNEL
+-                      ZFS_AC_CONFIG_USER   ;;
++              kernel) ZFS_AC_CONFIG_KERNEL ;;
++              all)    ZFS_AC_CONFIG_USER
++                      ZFS_AC_CONFIG_KERNEL ;;
+               srpm)                        ;;
+               *)
+               AC_MSG_RESULT([Error!])
+-- 
+1.7.9.5
+
diff --git a/debian/patches/0002-Remove-the-COPYING-file.patch b/debian/patches/0002-Remove-the-COPYING-file.patch
new file mode 100644 (file)
index 0000000..a802e29
--- /dev/null
@@ -0,0 +1,38 @@
+From 94220b217d2bab9bbcf27b62d786ba52a364c78f Mon Sep 17 00:00:00 2001
+From: Darik Horn <dajhorn@vanadac.com>
+Date: Tue, 17 Jan 2012 22:18:47 -0600
+Subject: [PATCH 2/7] Remove the COPYING file.
+
+Resolve this lintian warning by removing the COPYING file:
+
+       W: zfsutils: extra-license-file usr/share/doc/zfsutils/COPYING
+       N:
+       N:    All license information should be collected in the debian/copyright
+       N:    file. This usually makes it unnecessary for the package to install this
+       N:    information in other places as well.
+       N:
+       N:    Refer to Debian Policy Manual section 12.5 (Copyright information) for
+       N:    details.
+       N:
+       N:    Severity: normal, Certainty: possible
+       N:
+
+The COPYING file in this project is a place holder that does not
+contain the software license, and it is optional for autotools
+because the automake template is "foreign".
+---
+ COPYING |    2 --
+ 1 file changed, 2 deletions(-)
+ delete mode 100644 COPYING
+
+diff --git a/COPYING b/COPYING
+deleted file mode 100644
+index 90f4490..0000000
+--- a/COPYING
++++ /dev/null
+@@ -1,2 +0,0 @@
+-Please see COPYRIGHT and OPENSOLARIS.LICENSE for the copyright
+-and license details.
+-- 
+1.7.9.5
+
diff --git a/debian/patches/0003-Remove-all-upstream-init.d-components.patch b/debian/patches/0003-Remove-all-upstream-init.d-components.patch
new file mode 100644 (file)
index 0000000..a2c06ad
--- /dev/null
@@ -0,0 +1,939 @@
+From dd90b885cfdd8b27da7e002d291ceff5a43c5fe5 Mon Sep 17 00:00:00 2001
+From: Darik Horn <dajhorn@vanadac.com>
+Date: Tue, 17 Jan 2012 11:54:21 -0600
+Subject: [PATCH 3/7] Remove all upstream init.d components.
+
+The etc/init.d/ components are redundant because the debian/ overlay
+bundles init files according to Debian packaging policy.
+---
+ configure.ac             |    1 -
+ etc/Makefile.am          |    2 +-
+ etc/init.d/.gitignore    |    1 -
+ etc/init.d/Makefile.am   |   22 -----
+ etc/init.d/zfs.arch.in   |   62 ------------
+ etc/init.d/zfs.fedora.in |  244 ----------------------------------------------
+ etc/init.d/zfs.gentoo.in |  111 ---------------------
+ etc/init.d/zfs.lsb.in    |  130 ------------------------
+ etc/init.d/zfs.lunar.in  |   95 ------------------
+ etc/init.d/zfs.redhat.in |  176 ---------------------------------
+ 10 files changed, 1 insertion(+), 843 deletions(-)
+ delete mode 100644 etc/init.d/.gitignore
+ delete mode 100644 etc/init.d/Makefile.am
+ delete mode 100644 etc/init.d/zfs.arch.in
+ delete mode 100644 etc/init.d/zfs.fedora.in
+ delete mode 100644 etc/init.d/zfs.gentoo.in
+ delete mode 100644 etc/init.d/zfs.lsb.in
+ delete mode 100644 etc/init.d/zfs.lunar.in
+ delete mode 100644 etc/init.d/zfs.redhat.in
+
+diff --git a/configure.ac b/configure.ac
+index 2b79f5f..a1f207f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -61,7 +61,6 @@ AC_CONFIG_FILES([
+       udev/Makefile
+       udev/rules.d/Makefile
+       etc/Makefile
+-      etc/init.d/Makefile
+       etc/zfs/Makefile
+       man/Makefile
+       man/man5/Makefile
+diff --git a/etc/Makefile.am b/etc/Makefile.am
+index 65882b5..b5e497f 100644
+--- a/etc/Makefile.am
++++ b/etc/Makefile.am
+@@ -1 +1 @@
+-SUBDIRS = init.d zfs
++SUBDIRS = zfs
+diff --git a/etc/init.d/.gitignore b/etc/init.d/.gitignore
+deleted file mode 100644
+index 73304bc..0000000
+--- a/etc/init.d/.gitignore
++++ /dev/null
+@@ -1 +0,0 @@
+-zfs
+diff --git a/etc/init.d/Makefile.am b/etc/init.d/Makefile.am
+deleted file mode 100644
+index c1b131b..0000000
+--- a/etc/init.d/Makefile.am
++++ /dev/null
+@@ -1,22 +0,0 @@
+-initdir = $(DEFAULT_INIT_DIR)
+-init_SCRIPTS = zfs
+-
+-EXTRA_DIST = \
+-      $(top_srcdir)/etc/init.d/zfs.fedora.in \
+-      $(top_srcdir)/etc/init.d/zfs.gentoo.in \
+-      $(top_srcdir)/etc/init.d/zfs.lsb.in \
+-      $(top_srcdir)/etc/init.d/zfs.lunar.in \
+-      $(top_srcdir)/etc/init.d/zfs.redhat.in \
+-      $(top_srcdir)/etc/init.d/zfs.arch.in
+-
+-$(init_SCRIPTS):
+-      -$(SED) -e 's,@bindir\@,$(bindir),g' \
+-              -e 's,@sbindir\@,$(sbindir),g' \
+-              -e 's,@udevdir\@,$(udevdir),g' \
+-              -e 's,@udevruledir\@,$(udevruledir),g' \
+-              -e 's,@sysconfdir\@,$(sysconfdir),g' \
+-              -e 's,@initdir\@,$(initdir),g' \
+-              '$@.$(DEFAULT_INIT_SCRIPT).in' >'$@'
+-
+-distclean-local::
+-      -$(RM) $(init_SCRIPTS)
+diff --git a/etc/init.d/zfs.arch.in b/etc/init.d/zfs.arch.in
+deleted file mode 100644
+index de2ea8a..0000000
+--- a/etc/init.d/zfs.arch.in
++++ /dev/null
+@@ -1,62 +0,0 @@
+-#!/bin/bash
+-
+-. /etc/rc.conf
+-. /etc/rc.d/functions
+-
+-ZFS="@sbindir@/zfs"
+-ZPOOL="@sbindir@/zpool"
+-ZPOOL_CACHE="@sysconfdir@/zfs/zpool.cache"
+-
+-case "$1" in
+-  start)
+-    stat_busy "Starting zfs"
+-
+-    if [ ! -c /dev/zfs ]; then
+-      modprobe zfs
+-      if [ $? -ne 0 ]; then
+-        stat_fail
+-        exit 1
+-      fi
+-    fi
+-
+-    # Import ZFS pools (via cache file)
+-    if [ -f $ZPOOL_CACHE ]; then
+-      $ZPOOL import -c $ZPOOL_CACHE -aN 2>/dev/null
+-      if [ $? -ne 0 ]; then
+-        stat_fail
+-        exit 1
+-      fi
+-    fi
+-
+-    # Mount ZFS filesystems
+-    $ZFS mount -a
+-    if [ $? -ne 0 ]; then
+-        stat_fail
+-        exit 1
+-    fi
+-
+-    # Export ZFS flesystems
+-    $ZFS share -a
+-    if [ $? -ne 0 ]; then
+-        stat_fail
+-        exit 1
+-    fi
+-
+-    add_daemon zfs
+-    stat_done
+-    ;;
+-  stop)
+-    stat_busy "Stopping zfs"
+-    $ZFS umount -a
+-    rm_daemon zfs
+-    stat_done
+-    ;;
+-  restart)
+-    $0 stop
+-    $0 start
+-    ;;
+-  *)
+-    echo "usage: $0 {start|stop|restart}"
+-esac
+-
+-exit 0
+diff --git a/etc/init.d/zfs.fedora.in b/etc/init.d/zfs.fedora.in
+deleted file mode 100644
+index 04f2077..0000000
+--- a/etc/init.d/zfs.fedora.in
++++ /dev/null
+@@ -1,244 +0,0 @@
+-#!/bin/bash
+-#
+-# zfs           This script will mount/umount the zfs filesystems.
+-#
+-# chkconfig:    2345 01 99
+-# description:  This script will mount/umount the zfs filesystems during
+-#               system boot/shutdown.  Configuration of which filesystems
+-#               should be mounted is handled by the zfs 'mountpoint' and
+-#               'canmount' properties.  See the zfs(8) man page for details.
+-#               It is also responsible for all userspace zfs services.
+-#
+-### BEGIN INIT INFO
+-# Provides: zfs
+-# Required-Start:
+-# Required-Stop:
+-# Should-Start:
+-# Should-Stop:
+-# Default-Start: 2 3 4 5
+-# Default-Stop: 1
+-# Short-Description: Mount/umount the zfs filesystems
+-# Description: ZFS is an advanced filesystem designed to simplify managing
+-#              and protecting your data.  This service mounts the ZFS
+-#              filesystems and starts all related zfs services.
+-### END INIT INFO
+-
+-export PATH=/usr/local/sbin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
+-
+-# Source function library & LSB routines
+-. /etc/rc.d/init.d/functions
+-
+-# script variables
+-RETVAL=0
+-ZFS="@sbindir@/zfs"
+-ZPOOL="@sbindir@/zpool"
+-ZPOOL_CACHE="@sysconfdir@/zfs/zpool.cache"
+-servicename=zfs
+-LOCKFILE=/var/lock/subsys/$servicename
+-
+-# functions
+-zfs_installed() {
+-      modinfo zfs > /dev/null 2>&1 || return 5
+-      $ZPOOL  > /dev/null 2>&1
+-      [ $? == 127 ] && return 5
+-      $ZFS    > /dev/null 2>&1
+-      [ $? == 127 ] && return 5
+-      return 0
+-}
+-
+-reregister_mounts() {
+-      cat /etc/mtab | while read -r fs mntpnt fstype opts rest ; do
+-              fs=`printf '%b\n' "$fs"`
+-              mntpnt=`printf '%b\n' "$mntpnt"`
+-              if [ "$fstype" == "zfs" ] ; then
+-                      if [ "$mntpnt" == "/" ] ; then
+-                              mount -f -o zfsutil -t zfs --move / /removethismountpointhoweverpossible
+-                              umount --fake /removethismountpointhoweverpossible
+-                      else
+-                              umount --fake "$mntpnt"
+-                      fi
+-              elif echo "$fs" | grep -q "^/dev/zd" ; then
+-                      if [ "$mntpnt" == "/" ] ; then
+-                              mount -f -t "$fstype" --move / /removethismountpointhoweverpossible
+-                              umount --fake /removethismountpointhoweverpossible
+-                      else
+-                              umount --fake "$mntpnt"
+-                      fi
+-              fi
+-      done
+-      cat /proc/mounts | while read -r fs mntpnt fstype opts rest ; do
+-              fs=`printf '%b\n' "$fs"`
+-              mntpnt=`printf '%b\n' "$mntpnt"`
+-              if [ "$fstype" == "zfs" ] ; then
+-                      mount -f -t zfs -o zfsutil "$fs" "$mntpnt"
+-              elif echo "$fs" | grep -q "^/dev/zd" ; then
+-                      mount -f -t "$fstype" -o "$opts" "$fs" "$mntpnt"
+-              fi
+-      done
+-}
+-
+-# i need a bash guru to simplify this, since this is copy and paste, but donno how
+-# to correctly dereference variable names in bash, or how to do this right
+-
+-declare -A MTAB
+-declare -A FSTAB
+-
+-# first parameter is a regular expression that filters mtab
+-read_mtab() {
+-        for fs in "${!MTAB[@]}" ; do unset MTAB["$fs"] ; done
+-        while read -r fs mntpnt fstype opts blah ; do
+-                fs=`printf '%b\n' "$fs"`
+-                MTAB["$fs"]=$mntpnt
+-        done < <(grep "$1" /etc/mtab)
+-}
+-
+-in_mtab() {
+-        [ "${MTAB[$1]}" != "" ]
+-        return $?
+-}
+-
+-# first parameter is a regular expression that filters fstab
+-read_fstab() {
+-        for fs in "${!FSTAB[@]}" ; do unset FSTAB["$fs"] ; done
+-        while read -r fs mntpnt fstype opts blah ; do
+-                fs=`printf '%b\n' "$fs"`
+-                FSTAB["$fs"]=$mntpnt
+-        done < <(grep "$1" /etc/fstab)
+-}
+-
+-in_fstab() {
+-        [ "${FSTAB[$1]}" != "" ]
+-        return $?
+-}
+-
+-start()
+-{
+-      if [ -f "$LOCKFILE" ] ; then return 0 ; fi
+-
+-      # check if ZFS is installed.  If not, comply to FC standards and bail
+-      zfs_installed || {
+-              action $"Checking if ZFS is installed: not installed" /bin/false
+-              return 5
+-      }
+-
+-        # Requires selinux policy which has not been written.
+-        if [ -r "/selinux/enforce" ] &&
+-           [ "$(cat /selinux/enforce)" = "1" ]; then
+-                action $"SELinux ZFS policy required: " /bin/false || return 6
+-        fi
+-
+-      # Delay until all required block devices are present.
+-      udevadm settle
+-
+-      # load kernel module infrastructure
+-      if ! grep -q zfs /proc/modules ; then
+-              action $"Loading kernel ZFS infrastructure: " modprobe zfs || return 5
+-      fi
+-
+-      # fix mtab to include already-mounted fs filesystems, in case there are any
+-      # we ONLY do this if mtab does not point to /proc/mounts
+-      # which is the case in some systems (systemd may bring that soon)
+-      if ! readlink /etc/mtab | grep -q /proc ; then
+-              if grep -qE "(^/dev/zd| zfs )" /proc/mounts ; then
+-                      action $"Registering already-mounted ZFS filesystems and volumes: " reregister_mounts || return 150
+-              fi
+-      fi
+-
+-        if [ -f $ZPOOL_CACHE ] ; then
+-
+-              echo -n $"Importing ZFS pools not yet imported: "
+-              $ZPOOL import -c $ZPOOL_CACHE -aN || true # stupid zpool will fail if all pools are already imported
+-              RETVAL=$?
+-              if [ $RETVAL -ne 0 ]; then
+-                      failure "Importing ZFS pools not yet imported: "
+-                      return 151
+-              fi
+-              success "Importing ZFS pools not yet imported: "
+-
+-      fi
+-
+-      action $"Mounting ZFS filesystems not yet mounted: " $ZFS mount -a || return 152
+-
+-      action $"Exporting ZFS filesystems: " $ZFS share -a || return 153
+-
+-      read_mtab  "^/dev/zd"
+-      read_fstab "^/dev/zd"
+-
+-      template=$"Mounting volume %s registered in fstab: "
+-      for volume in "${!FSTAB[@]}" ; do
+-              if in_mtab "$volume" ; then continue ; fi
+-              string=`printf "$template" "$volume"`
+-              action "$string" mount "$volume"
+-      done
+-
+-      touch "$LOCKFILE"
+-}
+-
+-stop()
+-{
+-      if [ ! -f "$LOCKFILE" ] ; then return 0 ; fi
+-
+-      # check if ZFS is installed.  If not, comply to FC standards and bail
+-      zfs_installed || {
+-              action $"Checking if ZFS is installed: not installed" /bin/false
+-              return 5
+-      }
+-
+-      # the poweroff of the system takes care of this
+-      # but it never unmounts the root filesystem itself
+-      # shit
+-
+-      action $"Syncing ZFS filesystems: " sync
+-           # about the only thing we can do, and then we
+-           # hope that the umount process will succeed
+-           # unfortunately the umount process does not dismount
+-           # the root file system, there ought to be some way
+-           # we can tell zfs to just flush anything in memory
+-           # when a request to remount,ro comes in
+-
+-      #echo -n $"Unmounting ZFS filesystems: "
+-      #$ZFS umount -a
+-      #RETVAL=$?
+-      #if [ $RETVAL -ne 0 ]; then
+-      #       failure
+-
+-      #       return 8
+-      #fi
+-      #success
+-
+-      rm -f "$LOCKFILE"
+-}
+-
+-# See how we are called
+-case "$1" in
+-      start)
+-              start
+-              RETVAL=$?
+-              ;;
+-      stop)
+-              stop
+-              RETVAL=$?
+-              ;;
+-      status)
+-              lsmod | grep -q zfs || RETVAL=3
+-              $ZPOOL status && echo && $ZFS list || {
+-                      [ -f "$LOCKFILE" ] && RETVAL=2 || RETVAL=4
+-              }
+-              ;;
+-      restart)
+-              stop
+-              start
+-              ;;
+-      condrestart)
+-              if [ -f "$LOCKFILE" ] ; then
+-                      stop
+-                      start
+-              fi
+-              ;;
+-      *)
+-              echo $"Usage: $0 {start|stop|status|restart|condrestart}"
+-              RETVAL=3
+-              ;;
+-esac
+-
+-exit $RETVAL
+diff --git a/etc/init.d/zfs.gentoo.in b/etc/init.d/zfs.gentoo.in
+deleted file mode 100644
+index df883cf..0000000
+--- a/etc/init.d/zfs.gentoo.in
++++ /dev/null
+@@ -1,111 +0,0 @@
+-#!/sbin/runscript
+-# Copyright 1999-2011 Gentoo Foundation
+-# Released under the 2-clause BSD license.
+-# $Header: /var/cvsroot/gentoo-x86/sys-fs/zfs/files/zfs,v 0.9 2011/04/30 10:13:43 devsk Exp $
+-
+-depend()
+-{
+-      # bootmisc will log to /var which may be a different zfs than root.
+-      before net bootmisc
+-      after udev localmount
+-      keyword -lxc -openvz -prefix -vserver
+-}
+-
+-ZFS="@sbindir@/zfs"
+-ZPOOL="@sbindir@/zpool"
+-ZPOOL_CACHE="@sysconfdir@/zfs/zpool.cache"
+-ZFS_MODULE=zfs
+-
+-checksystem() {
+-      if [ ! -c /dev/zfs ]; then
+-              einfo "Checking if ZFS modules present"
+-              if ! modinfo zfs > /dev/null 2>&1 ; then
+-                      eerror "$ZFS_MODULE not found. Is the ZFS package installed?"
+-                      return 1
+-              fi
+-      fi
+-      einfo "Checking if zfs userspace tools present"
+-              if [ ! -x $ZPOOL ]; then
+-                      eerror "$ZPOOL binary not found."
+-                      return 1
+-              fi
+-              if [ ! -x $ZFS ]; then
+-                      eerror "$ZFS binary not found."
+-                      return 1
+-              fi
+-      return 0
+-}
+-
+-start() {
+-      ebegin "Starting ZFS"
+-      checksystem || return 1
+-
+-      # Delay until all required block devices are present.
+-      udevadm settle
+-
+-      if [ ! -c /dev/zfs ]; then
+-              modprobe $ZFS_MODULE
+-              rv=$?
+-              if [ $rv -ne 0 ]; then
+-                      eerror "Failed to load the $ZFS_MODULE module, check 'dmesg|tail'."
+-                      eend $rv
+-                      return $rv
+-              fi
+-      fi
+-
+-      # Import all pools described by the cache file, and then mount
+-      # all filesystem based on their properties.
+-      if [ -f $ZPOOL_CACHE ]; then
+-              einfo "Importing ZFS pools"
+-              # as per fedora script, import can fail if all pools are already imported
+-              # The check for $rv makes no sense...but someday, it will work right.
+-              $ZPOOL import -c $ZPOOL_CACHE -aN 2>/dev/null || true
+-              rv=$?
+-              if [ $rv -ne 0 ]; then
+-                      eerror "Failed to import not-yet imported pools."
+-                      eend $rv
+-                      return $rv
+-              fi
+-      fi
+-
+-      einfo "Mounting ZFS filesystems"
+-      $ZFS mount -a
+-      rv=$?
+-      if [ $rv -ne 0 ]; then
+-              eerror "Failed to mount ZFS filesystems."
+-              eend $rv
+-              return $rv
+-      fi
+-
+-      einfo "Exporting ZFS filesystems"
+-      $ZFS share -a
+-      rv=$?
+-      if [ $rv -ne 0 ]; then
+-              eerror "Failed to export ZFS filesystems."
+-              eend $rv
+-              return $rv
+-      fi
+-
+-      eend 0
+-      return 0
+-}
+-
+-stop()
+-{
+-      ebegin "Unmounting ZFS filesystems"
+-      $ZFS umount -a
+-      rv=$?
+-      if [ $rv -ne 0 ]; then
+-              einfo "Some ZFS filesystems not unmounted"
+-      fi
+-
+-      # Don't fail if we couldn't umount everything.  /usr might be in use.
+-      eend 0
+-      return 0
+-}
+-
+-status()
+-{
+-      # show pool status and list
+-      $ZPOOL status && echo && $ZPOOL list
+-}
+diff --git a/etc/init.d/zfs.lsb.in b/etc/init.d/zfs.lsb.in
+deleted file mode 100644
+index 3d04206..0000000
+--- a/etc/init.d/zfs.lsb.in
++++ /dev/null
+@@ -1,130 +0,0 @@
+-#!/bin/bash
+-#
+-# zfs           This script will mount/umount the zfs filesystems.
+-#
+-# chkconfig:    2345 01 99
+-# description:  This script will mount/umount the zfs filesystems during
+-#               system boot/shutdown.  Configuration of which filesystems
+-#               should be mounted is handled by the zfs 'mountpoint' and
+-#               'canmount' properties.  See the zfs(8) man page for details.
+-#               It is also responsible for all userspace zfs services.
+-#
+-### BEGIN INIT INFO
+-# Provides: zfs
+-# Required-Start: $local_fs
+-# Required-Stop: $local_fs
+-# Default-Start:     2 3 4 5
+-# Default-Stop:      0 1 6
+-# Should-Stop:
+-# Short-Description: Mount/umount the zfs filesystems
+-# Description: ZFS is an advanced filesystem designed to simplify managing
+-#              and protecting your data.  This service mounts the ZFS
+-#              filesystems and starts all related zfs services.
+-### END INIT INFO
+-
+-# Source function library.
+-. /lib/lsb/init-functions
+-
+-LOCKFILE=/var/lock/zfs
+-ZFS="@sbindir@/zfs"
+-ZPOOL="@sbindir@/zpool"
+-ZPOOL_CACHE="@sysconfdir@/zfs/zpool.cache"
+-
+-# Source zfs configuration.
+-[ -r '/etc/default/zfs' ] &&  . /etc/default/zfs
+-
+-[ -x "$ZPOOL" ] || exit 1
+-[ -x "$ZFS" ] || exit 2
+-
+-start()
+-{
+-      [ -f "$LOCKFILE" ] && return 3
+-
+-      # Requires selinux policy which has not been written.
+-      if [ -r "/selinux/enforce" ] &&
+-         [ "$(cat /selinux/enforce)" = "1" ]; then
+-
+-              log_failure_msg "SELinux ZFS policy required"
+-              return 4
+-      fi
+-
+-      # Delay until all required block devices are present.
+-      udevadm settle
+-
+-      # Load the zfs module stack
+-      /sbin/modprobe zfs
+-
+-      # Ensure / exists in /etc/mtab, if not update mtab accordingly.
+-      # This should be handled by rc.sysinit but lets be paranoid.
+-      awk '$2 == "/" { exit 1 }' /etc/mtab
+-      RETVAL=$?
+-      if [ "$RETVAL" -eq 0 ]; then
+-              /bin/mount -f /
+-      fi
+-
+-      # Import all pools described by the cache file, and then mount
+-      # all filesystem based on their properties.
+-      if [ -f "$ZPOOL_CACHE" ] ; then
+-              log_begin_msg "Importing ZFS pools"
+-              "$ZPOOL" import -c "$ZPOOL_CACHE" -aN 2>/dev/null
+-              log_end_msg $?
+-
+-              log_begin_msg "Mounting ZFS filesystems"
+-              "$ZFS" mount -a
+-              log_end_msg $?
+-
+-              log_begin_msg "Exporting ZFS filesystems"
+-              "$ZFS" share -a
+-              log_end_msg $?
+-      fi
+-
+-      touch "$LOCKFILE"
+-}
+-
+-stop()
+-{
+-      [ ! -f "$LOCKFILE" ] && return 3
+-
+-      log_begin_msg "Unmounting ZFS filesystems"
+-      "$ZFS" umount -a
+-      log_end_msg $?
+-
+-      rm -f "$LOCKFILE"
+-}
+-
+-status()
+-{
+-      [ ! -f "$LOCKFILE" ] && return 3
+-
+-      "$ZPOOL" status && echo "" && "$ZPOOL" list
+-}
+-
+-case "$1" in
+-      start)
+-              start
+-              RETVAL=$?
+-              ;;
+-      stop)
+-              stop
+-              RETVAL=$?
+-              ;;
+-      status)
+-              status
+-              RETVAL=$?
+-              ;;
+-      restart)
+-              stop
+-              start
+-              ;;
+-      condrestart)
+-              if [ -f "$LOCKFILE" ]; then
+-                      stop
+-                      start
+-              fi
+-              ;;
+-      *)
+-              echo $"Usage: $0 {start|stop|status|restart|condrestart}"
+-              ;;
+-esac
+-
+-exit $RETVAL
+diff --git a/etc/init.d/zfs.lunar.in b/etc/init.d/zfs.lunar.in
+deleted file mode 100644
+index 97384dc..0000000
+--- a/etc/init.d/zfs.lunar.in
++++ /dev/null
+@@ -1,95 +0,0 @@
+-#!/bin/bash
+-#
+-# zfs           This shell script takes care of starting (mount) and
+-#               stopping (umount) zfs shares.
+-#
+-# chkconfig: 35 60 40
+-# description: ZFS is a filesystem developed by Sun, ZFS is a
+-#              combined file system and logical volume manager
+-#              designed by Sun Microsystems. Made available to Linux
+-#              using SPL (Solaris Porting Layer) by zfsonlinux.org.
+-# probe: true
+-
+-ZFS="@sbindir@/zfs"
+-ZPOOL="@sbindir@/zpool"
+-ZPOOL_CACHE="@sysconfdir@/zfs/zpool.cache"
+-
+-case $1 in
+-  start)  echo "$1ing ZFS filesystems"
+-
+-    # Delay until all required block devices are present.
+-    udevadm settle
+-
+-    if ! grep "zfs" /proc/modules > /dev/null; then
+-      echo "ZFS kernel module not loaded yet; loading...";
+-      if ! modprobe zfs; then
+-        echo "Failed to load ZFS kernel module...";
+-        exit 0;
+-      fi
+-    fi
+-
+-    if ! [ `uname -m` == "x86_64" ]; then
+-      echo "Warning: You're not running 64bit. Currently native zfs in";
+-      echo "         linux is only supported and tested on 64bit.";
+-      # should we break here? People doing this should know what they
+-      # do, thus i'm not breaking here.
+-    fi
+-
+-    # mount the filesystems
+-    while IFS= read -r -d $'\n' dev; do
+-      mdev=$(echo "$dev" | awk '{ print $1; }')
+-      echo -n "mounting $mdev..."
+-      if $ZFS mount $mdev; then
+-        echo -e "done";
+-      else
+-        echo -e "failed";
+-      fi
+-    done < <($ZFS list -H);
+-
+-    # export the filesystems
+-    echo -n "exporting ZFS filesystems..."
+-    if $ZFS share -a; then
+-      echo -e "done";
+-    else
+-      echo -e "failed";
+-    fi
+-
+-
+-  ;;
+-
+-  stop)  echo "$1ping ZFS filesystems"
+-
+-    if grep "zfs" /proc/modules > /dev/null; then
+-      # module is loaded, so we can try to umount filesystems
+-      while IFS= read -r -d $'\n' dev; do
+-        mdev=$(echo "$dev" | awk '{ print $1 }');
+-        echo -n "umounting $mdev...";
+-        if $ZFS umount $mdev; then
+-          echo -e "done";
+-        else
+-          echo -e "failed";
+-        fi
+-        # the next line is, because i have to reverse the
+-        # output, otherwise it wouldn't work as it should
+-      done < <($ZFS list -H | tac);
+-
+-      # and finally let's rmmod the module
+-      rmmod zfs
+-
+-
+-    else
+-      # module not loaded, no need to umount anything
+-      exit 0
+-    fi
+-
+-  ;;
+-
+-  restart) echo "$1ing ZFS filesystems"
+-    $0 stop
+-    $0 start
+-  ;;
+-
+-  *)  echo "Usage: $0 {start|stop|restart}"
+-  ;;
+-
+-esac
+diff --git a/etc/init.d/zfs.redhat.in b/etc/init.d/zfs.redhat.in
+deleted file mode 100644
+index ae797c1..0000000
+--- a/etc/init.d/zfs.redhat.in
++++ /dev/null
+@@ -1,176 +0,0 @@
+-#!/bin/bash
+-#
+-# zfs           This script will mount/umount the zfs filesystems.
+-#
+-# chkconfig:    2345 01 99
+-# description:  This script will mount/umount the zfs filesystems during
+-#               system boot/shutdown.  Configuration of which filesystems
+-#               should be mounted is handled by the zfs 'mountpoint' and
+-#               'canmount' properties.  See the zfs(8) man page for details.
+-#               It is also responsible for all userspace zfs services.
+-#
+-### BEGIN INIT INFO
+-# Provides: zfs
+-# Required-Start:
+-# Required-Stop:
+-# Should-Start:
+-# Should-Stop:
+-# Default-Start: 2 3 4 5
+-# Default-Stop: 1
+-# Short-Description: Mount/umount the zfs filesystems
+-# Description: ZFS is an advanced filesystem designed to simplify managing
+-#              and protecting your data.  This service mounts the ZFS
+-#              filesystems and starts all related zfs services.
+-### END INIT INFO
+-
+-export PATH=/usr/local/sbin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
+-
+-# Source function library & LSB routines
+-. /etc/rc.d/init.d/functions
+-
+-# script variables
+-RETVAL=0
+-ZFS="@sbindir@/zfs"
+-ZPOOL="@sbindir@/zpool"
+-ZPOOL_CACHE="@sysconfdir@/zfs/zpool.cache"
+-servicename=zfs
+-LOCKFILE=/var/lock/subsys/$servicename
+-
+-# functions
+-zfs_installed() {
+-      modinfo zfs > /dev/null 2>&1 || return 5
+-      $ZPOOL  > /dev/null 2>&1
+-      [ $? == 127 ] && return 5
+-      $ZFS    > /dev/null 2>&1
+-      [ $? == 127 ] && return 5
+-      return 0
+-}
+-
+-# i need a bash guru to simplify this, since this is copy and paste, but donno how
+-# to correctly dereference variable names in bash, or how to do this right
+-
+-# first parameter is a regular expression that filters fstab
+-read_fstab() {
+-        unset FSTAB
+-      n=0
+-        while read -r fs mntpnt fstype opts blah ; do
+-                fs=`printf '%b\n' "$fs"`
+-                FSTAB[$n]=$fs
+-              let n++
+-        done < <(egrep "$1" /etc/fstab)
+-}
+-
+-start()
+-{
+-      # Disable lockfile check
+-      # if [ -f "$LOCKFILE" ] ; then return 0 ; fi
+-
+-      # check if ZFS is installed.  If not, comply to FC standards and bail
+-      zfs_installed || {
+-              action $"Checking if ZFS is installed: not installed" /bin/false
+-              return 5
+-      }
+-
+-        # Requires selinux policy which has not been written.
+-        if [ -r "/selinux/enforce" ] &&
+-           [ "$(cat /selinux/enforce)" = "1" ]; then
+-                action $"SELinux ZFS policy required: " /bin/false || return 6
+-        fi
+-
+-      # Delay until all required block devices are present.
+-      if [ -x /sbin/udevadm ]; then
+-              /sbin/udevadm settle
+-      elif [ -x /sbin/udevsettle ]; then
+-              /sbin/udevsettle
+-      fi
+-
+-      # load kernel module infrastructure
+-      if ! grep -q zfs /proc/modules ; then
+-              action $"Loading kernel ZFS infrastructure: " modprobe zfs || return 5
+-      fi
+-      sleep 1
+-
+-      action $"Mounting automounted ZFS filesystems: " $ZFS mount -a || return 152
+-
+-      action $"Exporting ZFS filesystems: " $ZFS share -a || return 153
+-
+-      # Read fstab, try to mount zvols ignoring error
+-      read_fstab "^/dev/(zd|zvol)"
+-      template=$"Mounting volume %s registered in fstab: "
+-      for volume in "${FSTAB[@]}" ; do
+-              string=`printf "$template" "$volume"`
+-              action "$string" mount "$volume" 2>/dev/null || /bin/true
+-      done
+-
+-      # touch "$LOCKFILE"
+-}
+-
+-stop()
+-{
+-      # Disable lockfile check
+-      # if [ ! -f "$LOCKFILE" ] ; then return 0 ; fi
+-
+-      # check if ZFS is installed.  If not, comply to FC standards and bail
+-      zfs_installed || {
+-              action $"Checking if ZFS is installed: not installed" /bin/false
+-              return 5
+-      }
+-
+-      # the poweroff of the system takes care of this
+-      # but it never unmounts the root filesystem itself
+-      # shit
+-
+-      action $"Syncing ZFS filesystems: " sync
+-           # about the only thing we can do, and then we
+-           # hope that the umount process will succeed
+-           # unfortunately the umount process does not dismount
+-           # the root file system, there ought to be some way
+-           # we can tell zfs to just flush anything in memory
+-           # when a request to remount,ro comes in
+-
+-      #echo -n $"Unmounting ZFS filesystems: "
+-      #$ZFS umount -a
+-      #RETVAL=$?
+-      #if [ $RETVAL -ne 0 ]; then
+-      #       failure
+-
+-      #       return 8
+-      #fi
+-      #success
+-
+-      rm -f "$LOCKFILE"
+-}
+-
+-# See how we are called
+-case "$1" in
+-      start)
+-              start
+-              RETVAL=$?
+-              ;;
+-      stop)
+-              stop
+-              RETVAL=$?
+-              ;;
+-      status)
+-              lsmod | grep -q zfs || RETVAL=3
+-              $ZPOOL status && echo && $ZFS list || {
+-                      [ -f "$LOCKFILE" ] && RETVAL=2 || RETVAL=4
+-              }
+-              ;;
+-      restart)
+-              stop
+-              start
+-              ;;
+-      condrestart)
+-              if [ -f "$LOCKFILE" ] ; then
+-                      stop
+-                      start
+-              fi
+-              ;;
+-      *)
+-              echo $"Usage: $0 {start|stop|status|restart|condrestart}"
+-              RETVAL=3
+-              ;;
+-esac
+-
+-exit $RETVAL
+-- 
+1.7.9.5
+
diff --git a/debian/patches/0004-Remove-the-upstream-dracut-component.patch b/debian/patches/0004-Remove-the-upstream-dracut-component.patch
new file mode 100644 (file)
index 0000000..edac1d4
--- /dev/null
@@ -0,0 +1,476 @@
+From 37f528ec4c17cac0e6dde732319db960a141e9a6 Mon Sep 17 00:00:00 2001
+From: Darik Horn <dajhorn@vanadac.com>
+Date: Tue, 17 Jan 2012 20:27:32 -0600
+Subject: [PATCH 4/7] Remove the upstream dracut component.
+
+The dracut/ component broke deb systems when it first added to the
+upstream ZoL repository, had a near-zero download count when it was
+fixed, seems to be unmaintained, and is incompatible with the
+dracut-005 package that is currently published in Debian and Ubuntu.
+---
+ Makefile.am                     |    2 +-
+ configure.ac                    |    2 -
+ dracut/90zfs/.gitignore         |    3 -
+ dracut/90zfs/Makefile.am        |   21 -----
+ dracut/90zfs/module-setup.sh.in |   55 -------------
+ dracut/90zfs/mount-zfs.sh.in    |   71 -----------------
+ dracut/90zfs/parse-zfs.sh.in    |   58 --------------
+ dracut/Makefile.am              |    3 -
+ dracut/README.dracut.markdown   |  166 ---------------------------------------
+ 9 files changed, 1 insertion(+), 380 deletions(-)
+ delete mode 100644 dracut/90zfs/.gitignore
+ delete mode 100644 dracut/90zfs/Makefile.am
+ delete mode 100755 dracut/90zfs/module-setup.sh.in
+ delete mode 100755 dracut/90zfs/mount-zfs.sh.in
+ delete mode 100755 dracut/90zfs/parse-zfs.sh.in
+ delete mode 100644 dracut/Makefile.am
+ delete mode 100644 dracut/README.dracut.markdown
+
+diff --git a/Makefile.am b/Makefile.am
+index 9ffd6be..9618b03 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -4,7 +4,7 @@ include $(top_srcdir)/config/tgz.am
+ include $(top_srcdir)/config/arch.am
+ if CONFIG_USER
+-USER_DIR = dracut udev etc man scripts lib cmd
++USER_DIR = udev etc man scripts lib cmd
+ endif
+ if CONFIG_KERNEL
+ KERNEL_DIR = module
+diff --git a/configure.ac b/configure.ac
+index a1f207f..a418b51 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -56,8 +56,6 @@ ZFS_AC_DEBUG_DMU_TX
+ AC_CONFIG_FILES([ 
+       Makefile
+-      dracut/Makefile
+-      dracut/90zfs/Makefile
+       udev/Makefile
+       udev/rules.d/Makefile
+       etc/Makefile
+diff --git a/dracut/90zfs/.gitignore b/dracut/90zfs/.gitignore
+deleted file mode 100644
+index 6f4a5ae..0000000
+--- a/dracut/90zfs/.gitignore
++++ /dev/null
+@@ -1,3 +0,0 @@
+-module-setup.sh
+-mount-zfs.sh
+-parse-zfs.sh
+diff --git a/dracut/90zfs/Makefile.am b/dracut/90zfs/Makefile.am
+deleted file mode 100644
+index 4112061..0000000
+--- a/dracut/90zfs/Makefile.am
++++ /dev/null
+@@ -1,21 +0,0 @@
+-pkgdracutdir = $(datadir)/dracut/modules.d/90zfs
+-pkgdracut_SCRIPTS = \
+-      $(top_srcdir)/dracut/90zfs/module-setup.sh \
+-      $(top_srcdir)/dracut/90zfs/mount-zfs.sh \
+-      $(top_srcdir)/dracut/90zfs/parse-zfs.sh
+-
+-EXTRA_DIST = \
+-      $(top_srcdir)/dracut/90zfs/module-setup.sh.in \
+-      $(top_srcdir)/dracut/90zfs/mount-zfs.sh.in \
+-      $(top_srcdir)/dracut/90zfs/parse-zfs.sh.in
+-
+-$(pkgdracut_SCRIPTS):
+-      -$(SED) -e 's,@bindir\@,$(bindir),g' \
+-              -e 's,@sbindir\@,$(sbindir),g' \
+-              -e 's,@udevdir\@,$(udevdir),g' \
+-              -e 's,@udevruledir\@,$(udevruledir),g' \
+-              -e 's,@sysconfdir\@,$(sysconfdir),g' \
+-              '$@.in' >'$@'
+-
+-distclean-local::
+-      -$(RM) $(pkgdracut_SCRIPTS)
+diff --git a/dracut/90zfs/module-setup.sh.in b/dracut/90zfs/module-setup.sh.in
+deleted file mode 100755
+index c01915e..0000000
+--- a/dracut/90zfs/module-setup.sh.in
++++ /dev/null
+@@ -1,55 +0,0 @@
+-#!/bin/sh
+-
+-check() {
+-      # We depend on udev-rules being loaded
+-      [ "$1" = "-d" ] && return 0
+-
+-      # Verify the zfs tool chain
+-      which zpool >/dev/null 2>&1 || return 1
+-      which zfs >/dev/null 2>&1 || return 1
+-
+-      return 0
+-}
+-
+-depends() {
+-      echo udev-rules
+-      return 0
+-}
+-
+-installkernel() {
+-      instmods zfs
+-      instmods zcommon
+-      instmods znvpair
+-      instmods zavl
+-      instmods zunicode
+-      instmods spl
+-      instmods zlib_deflate
+-      instmods zlib_inflate
+-}
+-
+-install() {
+-      inst_rules @udevruledir@/90-zfs.rules
+-      inst_rules @udevruledir@/60-zpool.rules
+-      inst_rules @udevruledir@/60-zvol.rules
+-      inst @sysconfdir@/zfs/zdev.conf
+-      inst @sysconfdir@/zfs/zpool.cache
+-      dracut_install @sbindir@/zfs
+-      dracut_install @sbindir@/zpool
+-      dracut_install @bindir@/zpool_layout
+-      dracut_install @udevdir@/zpool_id
+-      dracut_install @udevdir@/zvol_id
+-      dracut_install mount.zfs
+-      dracut_install hostid
+-      inst_hook cmdline 95 "$moddir/parse-zfs.sh"
+-      inst_hook mount 98 "$moddir/mount-zfs.sh"
+-
+-      # Synchronize initramfs and system hostid
+-      TMP=`mktemp`
+-      AA=`hostid | cut -b 1,2`
+-      BB=`hostid | cut -b 3,4`
+-      CC=`hostid | cut -b 5,6`
+-      DD=`hostid | cut -b 7,8`
+-      printf "\x$DD\x$CC\x$BB\x$AA" >$TMP
+-      inst_simple "$TMP" /etc/hostid
+-      rm "$TMP"
+-}
+diff --git a/dracut/90zfs/mount-zfs.sh.in b/dracut/90zfs/mount-zfs.sh.in
+deleted file mode 100755
+index 2d2afd8..0000000
+--- a/dracut/90zfs/mount-zfs.sh.in
++++ /dev/null
+@@ -1,71 +0,0 @@
+-#!/bin/sh
+-
+-. /lib/dracut-lib.sh
+-
+-ZPOOL_FORCE=""
+-
+-if getargbool 0 zfs_force -y zfs.force -y zfsforce ; then
+-      warn "ZFS: Will force-import pools if necessary."
+-      ZPOOL_FORCE="-f"
+-fi
+-
+-case "$root" in
+-      zfs:*)
+-              # We have ZFS modules loaded, so we're able to import pools now.
+-              if [ "$root" = "zfs:AUTO" ] ; then
+-                      # Need to parse bootfs attribute
+-                      info "ZFS: Attempting to detect root from imported ZFS pools."
+-
+-                      # Might be imported by the kernel module, so try searching before
+-                      # we import anything.
+-                      zfsbootfs=`zpool list -H -o bootfs | sed -n '/-/ !p' | sed 'q'`
+-                      if [ "$?" != "0" ] || [ "$zfsbootfs" = "" ] || \
+-                              [ "$zfsbootfs" = "no pools available" ] ; then
+-                              # Not there, so we need to import everything.
+-                              info "ZFS: Attempting to import additional pools."
+-                              zpool import -N -a ${ZPOOL_FORCE}
+-                              zfsbootfs=`zpool list -H -o bootfs | sed -n '/-/ !p' | sed 'q'`
+-                              if [ "$?" != "0" ] || [ "$zfsbootfs" = "" ] || \
+-                                      [ "$zfsbootfs" = "no pools available" ] ; then
+-                                      rootok=0
+-                                      pool=""
+-
+-                                      warn "ZFS: No bootfs attribute found in importable pools."
+-
+-                                      # Re-export everything since we're not prepared to take
+-                                      # responsibility for them.
+-                                      zpool list -H | while read fs rest ; do
+-                                              zpool export "$fs"
+-                                      done
+-
+-                                      return 1
+-                              fi
+-                      fi
+-                      info "ZFS: Using ${zfsbootfs} as root."
+-              else
+-                      # Should have an explicit pool set, so just import it and we're done.
+-                      zfsbootfs="${root#zfs:}"
+-                      pool="${zfsbootfs%%/*}"
+-                      if ! zpool list -H $pool > /dev/null ; then
+-                              # pool wasn't imported automatically by the kernel module, so
+-                              # try it manually.
+-                              info "ZFS: Importing pool ${pool}..."
+-                              if ! zpool import -N ${ZPOOL_FORCE} $pool ; then
+-                                      warn "ZFS: Unable to import pool ${pool}."
+-                                      rootok=0
+-
+-                                      return 1
+-                              fi
+-                      fi
+-              fi
+-
+-              # Above should have left our rpool imported and pool/dataset in $root.
+-              # We need zfsutil for non-legacy mounts and not for legacy mounts.
+-              mountpoint=`zfs get -H -o value mountpoint $zfsbootfs`
+-              if [ "$mountpoint" = "legacy" ] ; then
+-                      mount -t zfs "$zfsbootfs" "$NEWROOT" && ROOTFS_MOUNTED=yes
+-              else
+-                      mount -o zfsutil -t zfs "$zfsbootfs" "$NEWROOT" && ROOTFS_MOUNTED=yes
+-              fi
+-              ;;
+-esac
+diff --git a/dracut/90zfs/parse-zfs.sh.in b/dracut/90zfs/parse-zfs.sh.in
+deleted file mode 100755
+index 571d263..0000000
+--- a/dracut/90zfs/parse-zfs.sh.in
++++ /dev/null
+@@ -1,58 +0,0 @@
+-#!/bin/sh
+-
+-. /lib/dracut-lib.sh
+-
+-# Let the command line override our host id.
+-spl_hostid=`getarg spl_hostid=`
+-if [ "${spl_hostid}" != "" ] ; then
+-      info "ZFS: Using hostid from command line: ${spl_hostid}"
+-      AA=`echo ${spl_hostid} | cut -b 1,2`
+-      BB=`echo ${spl_hostid} | cut -b 3,4`
+-      CC=`echo ${spl_hostid} | cut -b 5,6`
+-      DD=`echo ${spl_hostid} | cut -b 7,8`
+-      printf "\x$DD\x$CC\x$BB\x$AA" >/etc/hostid
+-elif [ -f /etc/hostid ] ; then
+-      info "ZFS: Using hostid from /etc/hostid: `hostid`"
+-else
+-      warn "ZFS: No hostid found on kernel command line or /etc/hostid.  "
+-      warn "ZFS: Pools may not import correctly."
+-fi
+-
+-case "$root" in
+-      ""|zfs|zfs:)
+-              # We'll take root unset, root=zfs, or root=zfs:
+-              # No root set, so we want to read the bootfs attribute.  We
+-              # can't do that until udev settles so we'll set dummy values
+-              # and hope for the best later on.
+-              root="zfs:AUTO"
+-              rootok=1
+-              wait_for_zfs=1
+-
+-              info "ZFS: Enabling autodetection of bootfs after udev settles."
+-              ;;
+-
+-      ZFS\=*|zfs:*|zfs:FILESYSTEM\=*|FILESYSTEM\=*)
+-              # root is explicit ZFS root.  Parse it now.  We can handle
+-              # a root=... param in any of the following formats:
+-              # root=ZFS=rpool/ROOT
+-              # root=zfs:rpool/ROOT
+-              # root=zfs:FILESYSTEM=rpool/ROOT
+-              # root=FILESYSTEM=rpool/ROOT
+-
+-              # Strip down to just the pool/fs
+-              root="${root#zfs:}"
+-              root="${root#FILESYSTEM=}"
+-              root="zfs:${root#ZFS=}"
+-              rootok=1
+-              wait_for_zfs=1
+-
+-              info "ZFS: Set ${root} as bootfs."
+-              ;;
+-esac
+-
+-# Make sure Dracut is happy that we have a root and will wait for ZFS
+-# modules to settle before mounting.
+-if [ "${wait_for_zfs}" = "1" ]; then
+-      ln -s /dev/null /dev/root 2>/dev/null
+-      echo '[ -e /dev/zfs ]' > $hookdir/initqueue/finished/zfs.sh
+-fi
+diff --git a/dracut/Makefile.am b/dracut/Makefile.am
+deleted file mode 100644
+index 35b88c3..0000000
+--- a/dracut/Makefile.am
++++ /dev/null
+@@ -1,3 +0,0 @@
+-SUBDIRS = 90zfs
+-
+-EXTRA_DIST = README.dracut.markdown
+diff --git a/dracut/README.dracut.markdown b/dracut/README.dracut.markdown
+deleted file mode 100644
+index 909273a..0000000
+--- a/dracut/README.dracut.markdown
++++ /dev/null
+@@ -1,166 +0,0 @@
+-How to setup a zfs root filesystem using dracut
+------------------------------------------------
+-
+-1) Install the zfs-dracut package.  This package adds a zfs dracut module
+-to the /usr/share/dracut/modules.d/ directory which allows dracut to
+-create an initramfs which is zfs aware.
+-
+-2) Set the bootfs property for the bootable dataset in the pool.  Then set
+-the dataset mountpoint property to '/'.
+-
+-    $ zpool set bootfs=pool/dataset pool
+-    $ zfs set mountpoint=/ pool/dataset
+-
+-Alternately, legacy mountpoints can be used by setting the 'root=' option
+-on the kernel line of your grub.conf/menu.lst configuration file.  Then
+-set the dataset mountpoint property to 'legacy'.
+-
+-    $ grub.conf/menu.lst: kernel ... root=ZFS=pool/dataset
+-    $ zfs set mountpoint=legacy pool/dataset
+-
+-3) To set zfs module options put them in /etc/modprobe.d/zfs.conf file.
+-The complete list of zfs module options is available by running the
+-_modinfo zfs_ command.  Commonly set options include: zfs_arc_min,
+-zfs_arc_max, zfs_prefetch_disable, and zfs_vdev_max_pending.
+-
+-4) Finally, create your new initramfs by running dracut.
+-
+-    $ dracut --force /path/to/initramfs kernel_version
+-
+-Kernel Command Line
+--------------------
+-
+-The initramfs' behavior is influenced by the following kernel command line
+-parameters passed in from the boot loader:
+-
+-* `root=...`: If not set, importable pools are searched for a bootfs
+-attribute.  If an explicitly set root is desired, you may use
+-`root=ZFS:pool/dataset`
+-
+-* `zfs_force=0`: If set to 1, the initramfs will run `zpool import -f` when
+-attempting to import pools if the required pool isn't automatically imported
+-by the zfs module.  This can save you a trip to a bootcd if hostid has
+-changed, but is dangerous and can lead to zpool corruption, particularly in
+-cases where storage is on a shared fabric such as iSCSI where multiple hosts
+-can access storage devices concurrently.  _Please understand the implications
+-of force-importing a pool before enabling this option!_
+-
+-* `spl_hostid`: By default, the hostid used by the SPL module is read from
+-/etc/hostid inside the initramfs.  This file is placed there from the host
+-system when the initramfs is built which effectively ties the ramdisk to the
+-host which builds it.  If a different hostid is desired, one may be set in
+-this attribute and will override any file present in the ramdisk.  The
+-format should be hex exactly as found in the `/etc/hostid` file, IE
+-`spl_hostid=0x00bab10c`.
+-
+-Note that changing the hostid between boots will most likely lead to an
+-un-importable pool since the last importing hostid won't match.  In order
+-to recover from this, you may use the `zfs_force` option or boot from a
+-different filesystem and `zpool import -f` then `zpool export` the pool
+-before rebooting with the new hostid.
+-
+-How it Works
+-============
+-
+-The Dracut module consists of the following files (less Makefile's):
+-
+-* `module-setup.sh`: Script run by the initramfs builder to create the
+-ramdisk.  Contains instructions on which files are required by the modules
+-and z* programs.  Also triggers inclusion of `/etc/hostid` and the zpool
+-cache.  This file is not included in the initramfs.
+-
+-* `90-zfs.rules`: udev rules which trigger loading of the ZFS modules at boot.
+-
+-* `parse-zfs.sh`: Run early in the initramfs boot process to parse kernel
+-command line and determine if ZFS is the active root filesystem.
+-
+-* `mount-zfs.sh`: Run later in initramfs boot process after udev has settled
+-to mount the root dataset.
+-
+-`module-setup.sh`
+----------------
+-
+-This file is run by the Dracut script within the live system, not at boot
+-time.  It's not included in the final initramfs.  Functions in this script
+-describe which files are needed by ZFS at boot time.
+-
+-Currently all the various z* and spl modules are included, a dependency is
+-asserted on udev-rules, and the various zfs, zpool, etc. helpers are included.
+-Dracut provides library functions which automatically gather the shared libs
+-necessary to run each of these binaries, so statically built binaries are
+-not required.
+-
+-The zpool and zvol udev rules files are copied from where they are
+-installed by the ZFS build.  __PACKAGERS TAKE NOTE__: If you move
+-`/etc/udev/rules/60-z*.rules`, you'll need to update this file to match.
+-
+-Currently this file also includes `/etc/hostid` and `/etc/zfs/zpool.cache`
+-which means the generated ramdisk is specific to the host system which built
+-it.  If a generic initramfs is required, it may be preferable to omit these
+-files and specify the `spl_hostid` from the boot loader instead.
+-
+-`parse-zfs.sh`
+-------------
+-
+-Run during the cmdline phase of the initramfs boot process, this script
+-performs some basic sanity checks on kernel command line parameters to
+-determine if booting from ZFS is likely to be what is desired.  Dracut
+-requires this script to adjust the `root` variable if required and to set
+-`rootok=1` if a mountable root filesystem is available.  Unfortunately this
+-script must run before udev is settled and kernel modules are known to be
+-loaded, so accessing the zpool and zfs commands is unsafe.
+-
+-If the root=ZFS... parameter is set on the command line, then it's at least
+-certain that ZFS is what is desired, though this script is unable to
+-determine if ZFS is in fact available.  This script will alter the `root`
+-parameter to replace several historical forms of specifying the pool and
+-dataset name with the canonical form of `zfs:pool/dataset`.
+-
+-If no root= parameter is set, the best this script can do is guess that
+-ZFS is desired.  At present, no other known filesystems will work with no
+-root= parameter, though this might possibly interfere with using the
+-compiled-in default root in the kernel image.  It's considered unlikely
+-that would ever be the case when an initramfs is in use, so this script
+-sets `root=zfs:AUTO` and hopes for the best.
+-
+-Once the root=... (or lack thereof) parameter is parsed, a dummy symlink
+-is created from `/dev/root` -> `/dev/null` to satisfy parts of the Dracut
+-process which check for presence of a single root device node.
+-
+-Finally, an initqueue/finished hook is registered which causes the initqueue
+-phase of Dracut to wait for `/dev/zfs` to become available before attempting
+-to mount anything.
+-
+-`mount-zfs.sh`
+-------------
+-
+-This script is run after udev has settled and all tasks in the initqueue
+-have succeeded.  This ensures that `/dev/zfs` is available and that the
+-various ZFS modules are successfully loaded.  As it is now safe to call
+-zpool and friends, we can proceed to find the bootfs attribute if necessary.
+-
+-If the root parameter was explicitly set on the command line, no parsing is
+-necessary.  The list of imported pools is checked to see if the desired pool
+-is already imported.  If it's not, and attempt is made to import the pool
+-explicitly, though no force is attempted.  Finally the specified dataset
+-is mounted on `$NEWROOT`, first using the `-o zfsutil` option to handle
+-non-legacy mounts, then if that fails, without zfsutil to handle legacy
+-mount points.
+-
+-If no root parameter was specified, this script attempts to find a pool with
+-its bootfs attribute set.  First, already-imported pools are scanned and if
+-an appropriate pool is found, no additional pools are imported.  If no pool
+-with bootfs is found, any additional pools in the system are imported with
+-`zpool import -N -a`, and the scan for bootfs is tried again.  If no bootfs
+-is found with all pools imported, all pools are re-exported, and boot fails.
+-Assuming a bootfs is found, an attempt is made to mount it to `$NEWROOT`,
+-first with, then without the zfsutil option as above.
+-
+-Ordinarily pools are imported _without_ the force option which may cause
+-boot to fail if the hostid has changed or a pool has been physically moved
+-between servers.  The `zfs_force` kernel parameter is provided which when
+-set to `1` causes `zpool import` to be run with the `-f` flag.  Forcing pool
+-import can lead to serious data corruption and loss of pools, so this option
+-should be used with extreme caution.  Note that even with this flag set, if
+-the required zpool was auto-imported by the kernel module, no additional
+-`zpool import` commands are run, so nothing is forced.
+-- 
+1.7.9.5
+
diff --git a/debian/patches/0005-Remove-userland-dist-rules.patch b/debian/patches/0005-Remove-userland-dist-rules.patch
new file mode 100644 (file)
index 0000000..f2d2ade
--- /dev/null
@@ -0,0 +1,157 @@
+From 49f3569721b62a938c6d5e6afbdc6f3fe2c8055d Mon Sep 17 00:00:00 2001
+From: Darik Horn <dajhorn@vanadac.com>
+Date: Tue, 17 Jan 2012 22:23:16 -0600
+Subject: [PATCH 5/7] Remove userland dist rules.
+
+The `make dist` rule is used to create the DKMS source package, which
+does not contain the userland. (eg: Dist --with-config=kernel only.)
+
+For all userland components in each automake template, delete
+instances of EXTRA_DIST and change dist_ to nodist_.
+---
+ Makefile.am                       |    3 +--
+ cmd/vdev_id/Makefile.am           |    2 +-
+ cmd/zpool_id/Makefile.am          |    2 +-
+ cmd/zpool_layout/Makefile.am      |    2 +-
+ etc/zfs/Makefile.am               |    2 --
+ man/man8/Makefile.am              |    1 -
+ scripts/Makefile.am               |    2 +-
+ scripts/zpios-profile/Makefile.am |    2 +-
+ scripts/zpios-test/Makefile.am    |    2 +-
+ scripts/zpool-config/Makefile.am  |    2 +-
+ scripts/zpool-layout/Makefile.am  |    2 +-
+ udev/rules.d/Makefile.am          |    6 ------
+ 12 files changed, 9 insertions(+), 19 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 9618b03..a1c66d0 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -12,8 +12,7 @@ endif
+ SUBDIRS = $(USER_DIR) $(KERNEL_DIR) include
+ AUTOMAKE_OPTIONS = foreign
+-EXTRA_DIST  = autogen.sh zfs.spec.in zfs-modules.spec.in
+-EXTRA_DIST += config/config.awk config/rpm.am config/deb.am config/tgz.am
++EXTRA_DIST  = config/config.awk config/rpm.am config/deb.am config/tgz.am
+ EXTRA_DIST += META DISCLAIMER COPYRIGHT README.markdown
+ EXTRA_DIST += OPENSOLARIS.LICENSE ZFS.RELEASE
+ EXTRA_DIST += dkms.postinst copy-builtin
+diff --git a/cmd/vdev_id/Makefile.am b/cmd/vdev_id/Makefile.am
+index fb815fa..86d91d3 100644
+--- a/cmd/vdev_id/Makefile.am
++++ b/cmd/vdev_id/Makefile.am
+@@ -1 +1 @@
+-dist_udev_SCRIPTS = vdev_id
++nodist_udev_SCRIPTS = vdev_id
+diff --git a/cmd/zpool_id/Makefile.am b/cmd/zpool_id/Makefile.am
+index 5f492cf..f186d78 100644
+--- a/cmd/zpool_id/Makefile.am
++++ b/cmd/zpool_id/Makefile.am
+@@ -1 +1 @@
+-dist_udev_SCRIPTS = zpool_id
++nodist_udev_SCRIPTS = zpool_id
+diff --git a/cmd/zpool_layout/Makefile.am b/cmd/zpool_layout/Makefile.am
+index b17e6a3..f8c61fd 100644
+--- a/cmd/zpool_layout/Makefile.am
++++ b/cmd/zpool_layout/Makefile.am
+@@ -1 +1 @@
+-dist_bin_SCRIPTS = zpool_layout
++nodist_bin_SCRIPTS = zpool_layout
+diff --git a/etc/zfs/Makefile.am b/etc/zfs/Makefile.am
+index b1a1cf4..d81526a 100644
+--- a/etc/zfs/Makefile.am
++++ b/etc/zfs/Makefile.am
+@@ -8,5 +8,3 @@ pkgsysconf_DATA = \
+       zdev.conf.supermicro.example \
+       zdev.conf.dragon.example \
+       zdev.conf.x4550.example
+-
+-EXTRA_DIST = $(pkgsysconf_DATA)
+diff --git a/man/man8/Makefile.am b/man/man8/Makefile.am
+index 05ca1ce..951a54c 100644
+--- a/man/man8/Makefile.am
++++ b/man/man8/Makefile.am
+@@ -1,5 +1,4 @@
+ man_MANS = vdev_id.8 zdb.8 zfs.8 zpool.8 zstreamdump.8
+-EXTRA_DIST = $(man_MANS)
+ install-data-local:
+       $(INSTALL) -d -m 0755 "$(DESTDIR)$(mandir)/man8"
+diff --git a/scripts/Makefile.am b/scripts/Makefile.am
+index 3dc1e67..aad0cd4 100644
+--- a/scripts/Makefile.am
++++ b/scripts/Makefile.am
+@@ -1,7 +1,7 @@
+ SUBDIRS = zpool-config zpool-layout zpios-test zpios-profile
+ pkglibexecdir = $(libexecdir)/@PACKAGE@
+-dist_pkglibexec_SCRIPTS = \
++nodist_pkglibexec_SCRIPTS = \
+       $(top_builddir)/scripts/common.sh \
+       $(top_srcdir)/scripts/zconfig.sh \
+       $(top_srcdir)/scripts/zfault.sh \
+diff --git a/scripts/zpios-profile/Makefile.am b/scripts/zpios-profile/Makefile.am
+index 403c020..4cfb343 100644
+--- a/scripts/zpios-profile/Makefile.am
++++ b/scripts/zpios-profile/Makefile.am
+@@ -1,5 +1,5 @@
+ pkglibexecdir = $(libexecdir)/@PACKAGE@/zpios-profile
+-dist_pkglibexec_SCRIPTS = \
++nodist_pkglibexec_SCRIPTS = \
+       $(top_srcdir)/scripts/zpios-profile/zpios-profile-disk.sh \
+       $(top_srcdir)/scripts/zpios-profile/zpios-profile-pids.sh \
+       $(top_srcdir)/scripts/zpios-profile/zpios-profile-post.sh \
+diff --git a/scripts/zpios-test/Makefile.am b/scripts/zpios-test/Makefile.am
+index 54935b4..54336d5 100644
+--- a/scripts/zpios-test/Makefile.am
++++ b/scripts/zpios-test/Makefile.am
+@@ -1,5 +1,5 @@
+ pkglibexecdir = $(libexecdir)/@PACKAGE@/zpios-test
+-dist_pkglibexec_SCRIPTS = \
++nodist_pkglibexec_SCRIPTS = \
+       $(top_srcdir)/scripts/zpios-test/16th-8192rc-4rs-1cs-4off.sh \
+       $(top_srcdir)/scripts/zpios-test/1th-16rc-4rs-1cs-4off.sh \
+       $(top_srcdir)/scripts/zpios-test/1x256th-65536rc-4rs-1cs-4off.sh \
+diff --git a/scripts/zpool-config/Makefile.am b/scripts/zpool-config/Makefile.am
+index 87f58bb..7973114 100644
+--- a/scripts/zpool-config/Makefile.am
++++ b/scripts/zpool-config/Makefile.am
+@@ -1,5 +1,5 @@
+ pkglibexecdir = $(libexecdir)/@PACKAGE@/zpool-config
+-dist_pkglibexec_SCRIPTS = \
++nodist_pkglibexec_SCRIPTS = \
+       $(top_srcdir)/scripts/zpool-config/dm0-raid0.sh \
+       $(top_srcdir)/scripts/zpool-config/file-raid0.sh \
+       $(top_srcdir)/scripts/zpool-config/file-raid10.sh \
+diff --git a/scripts/zpool-layout/Makefile.am b/scripts/zpool-layout/Makefile.am
+index 3eef241..ede02d0 100644
+--- a/scripts/zpool-layout/Makefile.am
++++ b/scripts/zpool-layout/Makefile.am
+@@ -1,5 +1,5 @@
+ pkglibexecdir = $(libexecdir)/@PACKAGE@/zpool-layout
+-dist_pkglibexec_SCRIPTS = \
++nodist_pkglibexec_SCRIPTS = \
+       $(top_srcdir)/scripts/zpool-layout/dragon.ddn.conf \
+       $(top_srcdir)/scripts/zpool-layout/dragon.llnl.conf
+diff --git a/udev/rules.d/Makefile.am b/udev/rules.d/Makefile.am
+index 586d76a..373be6c 100644
+--- a/udev/rules.d/Makefile.am
++++ b/udev/rules.d/Makefile.am
+@@ -4,12 +4,6 @@ udevrule_DATA = \
+       $(top_srcdir)/udev/rules.d/60-zvol.rules \
+       $(top_srcdir)/udev/rules.d/90-zfs.rules
+-EXTRA_DIST = \
+-      $(top_srcdir)/udev/rules.d/60-vdev.rules.in \
+-      $(top_srcdir)/udev/rules.d/60-zpool.rules.in \
+-      $(top_srcdir)/udev/rules.d/60-zvol.rules.in \
+-      $(top_srcdir)/udev/rules.d/90-zfs.rules.in
+-
+ $(udevrule_DATA):
+       -$(SED) -e 's,@bindir\@,$(bindir),g' \
+               -e 's,@sbindir\@,$(sbindir),g' \
+-- 
+1.7.9.5
+
diff --git a/debian/patches/0006-Improve-the-with-spl-error-for-DKMS-systems.patch b/debian/patches/0006-Improve-the-with-spl-error-for-DKMS-systems.patch
new file mode 100644 (file)
index 0000000..a770027
--- /dev/null
@@ -0,0 +1,36 @@
+From f699c3bbfcf1ea63d9e417570b76924fcc1f7162 Mon Sep 17 00:00:00 2001
+From: Darik Horn <dajhorn@vanadac.com>
+Date: Fri, 3 Feb 2012 14:49:49 -0600
+Subject: [PATCH 6/7] Improve the --with-spl error for DKMS systems.
+
+If the SPL module is unavailable, then the operator gets an error
+message that does not apply to installations that are mananged by
+DKMS. Change the error message to fit apt-get systems.
+
+A better solution would be to implement a dependency model in DKMS,
+or to bundle SPL into the ZFS package.
+---
+ config/kernel.m4 |    7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/config/kernel.m4 b/config/kernel.m4
+index d10c6e6..1666094 100644
+--- a/config/kernel.m4
++++ b/config/kernel.m4
+@@ -314,9 +314,10 @@ AC_DEFUN([ZFS_AC_SPL], [
+               ], [
+                       AC_MSG_RESULT([Not found])
+                       AC_MSG_ERROR([
+-      *** Please make sure the spl devel package for your distribution
+-      *** is installed then try again.  If that fails you can specify the
+-      *** location of the spl source with the '--with-spl=PATH' option.])
++      *** ZFS depends on the SPL kernel module, which is not found.
++      *** DKMS should retry zfs-dkms momentarily after building spl-dkms.
++      *** If this error message persists, or if you are running DKMS manually,
++      *** then run 'apt-get install --reinstall spl-dkms' and try again.])
+               ])
+       ], [
+               AS_IF([test "$splsrc" = "NONE"], [
+-- 
+1.7.9.5
+
diff --git a/debian/patches/0007-Improve-the-SPL-version-error-for-DKMS-systems.patch b/debian/patches/0007-Improve-the-SPL-version-error-for-DKMS-systems.patch
new file mode 100644 (file)
index 0000000..a498ebe
--- /dev/null
@@ -0,0 +1,37 @@
+From c7ca586186cf396e695e0ad3692c9ebbf4baa835 Mon Sep 17 00:00:00 2001
+From: Darik Horn <dajhorn@vanadac.com>
+Date: Fri, 13 Apr 2012 09:22:29 -0500
+Subject: [PATCH 7/7] Improve the SPL version error for DKMS systems.
+
+During kernel package upgrades, if DKMS tries to build the ZFS
+modules before the SPL module, then the operator gets an error
+message that does not apply to installations that are mananged by
+DKMS. Change the error message to fit apt-get systems.
+
+A better solution would be to implement a dependency model in DKMS,
+or to bundle SPL into the ZFS package.
+
+Closes: dajhorn/pkg-zfs#30
+---
+ config/kernel.m4 |    5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/config/kernel.m4 b/config/kernel.m4
+index 1666094..e278856 100644
+--- a/config/kernel.m4
++++ b/config/kernel.m4
+@@ -347,7 +347,10 @@ AC_DEFUN([ZFS_AC_SPL], [
+               AC_MSG_RESULT([Not found])
+               AC_MSG_ERROR([
+       *** Cannot determine the version of the spl source.
+-      *** Please prepare the spl source before running this script])
++      *** ZFS depends on the SPL kernel module, which is not yet ready.
++      *** DKMS should retry zfs-dkms momentarily after building spl-dkms.
++      *** If this error message persists, or if you are running DKMS manually,
++      *** then run 'apt-get install --reinstall spl-dkms' and try again.])
+       ])
+       AC_MSG_RESULT([$splsrcver])
+-- 
+1.7.9.5
+
diff --git a/debian/patches/README b/debian/patches/README
new file mode 100644 (file)
index 0000000..b34bbdd
--- /dev/null
@@ -0,0 +1,39 @@
+To add a patch:
+
+       $ git checkout debian-patches
+       $ git fetch <topic_branch>
+       $ git cherry-pick <commit>
+
+To remove a patch:
+
+       $ git checkout debian-patches
+       $ git rebase -i upstream
+       : delete the commit line in the interactive editor
+
+To reorder the series:
+
+       $ git checkout debian-patches
+       $ git rebase -i upstream
+       : rearrange the commit lines in the interactive editor
+
+To refresh the series for release:
+
+       $ git checkout debian-patches
+       $ git rebase -i upstream
+       : Notice how commits accepted upstream will disappear.
+       $ git checkout master
+       $ cd debian/patches
+       $ rm *.patch
+       $ git format-patch upstream..debian-patches
+       $ ls -1 *.patch >series
+
+The reasons for keeping debian/patches in a separate branch are:
+
+  * Using git to automatically rediff the patches is easier than using
+    `quilt refresh` and manually resolving conflicts.
+
+  * It is faster to pull and later discard experimental topic branches.
+
+  * It keeps the packaging master history clean and concise, and avoids
+    accidentally conflating the upstream master. Reverting a commit that
+    changed something outside of the debian/ overlay is ugly.
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644 (file)
index 0000000..60c3a9b
--- /dev/null
@@ -0,0 +1,7 @@
+0001-Prevent-manual-builds-in-the-DKMS-source.patch
+0002-Remove-the-COPYING-file.patch
+0003-Remove-all-upstream-init.d-components.patch
+0004-Remove-the-upstream-dracut-component.patch
+0005-Remove-userland-dist-rules.patch
+0006-Improve-the-with-spl-error-for-DKMS-systems.patch
+0007-Improve-the-SPL-version-error-for-DKMS-systems.patch
diff --git a/debian/rules b/debian/rules
new file mode 100755 (executable)
index 0000000..df39c76
--- /dev/null
@@ -0,0 +1,95 @@
+#!/usr/bin/make -f
+
+LSB_DISTRIBUTOR := $(shell lsb_release -is)
+NAME := $(shell awk '$$1 == "Name:" { print $$2; }' META)
+VERSION := $(shell dpkg-parsechangelog \
+  | awk '$$1 == "Version:" { print $$2; }' | cut -d- -f1)
+
+override_dh_auto_configure:
+       @# Embed the downstream version in the module.
+       @sed -e 's/^Version:.*/Version:      $(VERSION)/' -i.orig META
+
+       @# Create the makefiles and configure script.
+       ./autogen.sh
+
+       @# Build the userland, but don't build the kernel modules.
+       ./configure \
+         --prefix='' \
+         --libexecdir=/usr/libexec \
+         --libdir=/lib \
+         --includedir=/usr/include \
+         --datarootdir=/usr/share \
+         --with-config=user
+
+override_dh_auto_test:
+       # The dh_auto_test rule is disabled because
+       # `make check` cannot run in an unprivileged build environment.
+
+override_dh_auto_install:
+       @# Install the utilities.
+       make install DESTDIR='$(CURDIR)/debian/tmp'
+
+       @# 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
+
+       @# 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)/$(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/'
+
+       @# Process templates and install the dkms.conf file.
+       dh_dkms -V $(VERSION)
+
+       @# Install the /etc/default/zfs options file.
+       dh_installinit --name=zfs
+
+       @# Install the /etc/init.d/zfs-mount script.
+ifeq ($(LSB_DISTRIBUTOR),Debian)
+       @# Debian runs local mounts at sysv sequences [10..12] [08..09].
+       dh_installinit --name=zfs-mount \
+         --no-restart-on-upgrade --no-start -- defaults 13 07
+else
+       dh_installinit --name=zfs-mount \
+         --no-restart-on-upgrade --no-start
+endif
+
+       @# Install the /etc/init.d/zfs-share script.
+ifeq ($(LSB_DISTRIBUTOR),Debian)
+       @# Debian runs nfs-kernel-server at sysv sequence 17 01.
+       dh_installinit --name=zfs-share \
+         --no-restart-on-upgrade --no-start -- defaults 18 00
+else ifeq ($(LSB_DISTRIBUTOR),Ubuntu)
+       @# Ubuntu runs nfs-kernel-server at sysv sequence 20 80.
+       dh_installinit --name=zfs-share \
+         --no-restart-on-upgrade --no-start -- defaults 21 79
+else
+               dh_installinit --name=zfs-share \
+                 --no-restart-on-upgrade --no-start
+endif
+
+override_dh_shlibdeps:
+       @# Suppress libtool dependency_libs warnings that are caused by
+       @# inter-library dependencies.  (eg: zfs -> libzfs -> libuuid)
+       @# @TODO: Add pkgconfig support instead.
+       dh_shlibdeps -- --warnings=0
+
+override_dh_strip:
+       dh_strip -plibnvpair1 --dbg-package=libnvpair1-dbg
+       dh_strip -plibuutil1 --dbg-package=libuutil1-dbg
+       dh_strip -plibzfs1 --dbg-package=libzfs1-dbg
+       dh_strip -plibzpool1 --dbg-package=libzpool1-dbg
+       dh_strip -pzfsutils --dbg-package=zfsutils-dbg
+
+override_dh_auto_clean:
+       dh_auto_clean
+       @if test -e META.orig; then mv META.orig META; fi
+
+%:
+       dh $@
diff --git a/debian/source/format b/debian/source/format
new file mode 100644 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/source/options b/debian/source/options
new file mode 100644 (file)
index 0000000..707e48b
--- /dev/null
@@ -0,0 +1 @@
+extend-diff-ignore='.*'
diff --git a/debian/tree/zfs-initramfs/usr/share/initramfs-tools/conf-hooks.d/zfs b/debian/tree/zfs-initramfs/usr/share/initramfs-tools/conf-hooks.d/zfs
new file mode 100644 (file)
index 0000000..29950ca
--- /dev/null
@@ -0,0 +1,2 @@
+# Force the inclusion of Busybox in the initramfs.
+BUSYBOX=y
diff --git a/debian/tree/zfs-initramfs/usr/share/initramfs-tools/hooks/zfs b/debian/tree/zfs-initramfs/usr/share/initramfs-tools/hooks/zfs
new file mode 100755 (executable)
index 0000000..e827a8c
--- /dev/null
@@ -0,0 +1,108 @@
+#!/bin/sh
+#
+# Add ZFS filesystem capabilities to an initrd through update-initramfs.
+#
+
+
+# This module depends on these initramfs-tools modules.
+PREREQ="udev"
+# ZFS on Linux uses udev for device node creation.
+PREREQ_UDEV_RULES="60-zpool.rules 60-zvol.rules"
+
+# These prerequisites are provided by the zfs package. The zdb utility is not
+# strictly required, but it can be useful at the initramfs recovery prompt.
+COPY_EXEC_LIST=" \
+  /lib/udev/zvol_id \
+  /lib/udev/zpool_id \
+  /sbin/zdb \
+  /sbin/zpool \
+  /sbin/zfs \
+  /sbin/mount.zfs \
+  "
+
+# These prerequisites are provides by other packages.
+COPY_EXEC_LIST="$COPY_EXEC_LIST \
+  /bin/hostname \
+  /sbin/blkid \
+  "
+
+# Explicitly specify all modules because dependency resolution is unreliable here.
+MANUAL_ADD_MODULES_LIST="zlib_deflate spl zavl zcommon znvpair zunicode zfs"
+
+# Generic result code.
+RC=0
+
+case $1 in
+prereqs)
+       echo "$PREREQ"
+       exit 0
+       ;;
+esac
+
+for ii in $COPY_EXEC_LIST
+do
+       if [ ! -x "$ii" ]
+       then
+               echo "Error: $ii is not executable."
+               RC=2
+       fi
+done
+
+if [ "$RC" -ne 0 ]
+then
+       exit "$RC"
+fi
+
+. /usr/share/initramfs-tools/hook-functions
+
+mkdir -p "$DESTDIR/etc/"
+mkdir -p "$DESTDIR/lib/udev/rules.d/"
+
+# ZDB uses pthreads for some functions, but the library dependency is not
+# automatically detected. The `find` utility and extended `cp` options are
+# used here because libgcc_s.so could be in a subdirectory of /lib for
+# multi-arch installations.
+cp --target-directory="$DESTDIR" --parents $(find /lib -type f -name libgcc_s.so.1)
+
+
+for ii in $PREREQ_UDEV_RULES
+do
+       if [ -e "/etc/udev/rules.d/$ii" ]
+       then
+               cp -p "/etc/udev/rules.d/$ii" "$DESTDIR/lib/udev/rules.d/"
+       elif [ -e "/lib/udev/rules.d/$ii" ]
+       then
+               cp -p "/lib/udev/rules.d/$ii" "$DESTDIR/lib/udev/rules.d/"
+       else
+               echo "Error: Missing udev rule: $ii"
+               echo "       This file must be in the /etc/udev/rules.d or /lib/udev/rules.d directory."
+               exit 1
+       fi
+done
+
+for ii in $COPY_EXEC_LIST
+do
+       copy_exec "$ii"
+done
+
+for ii in $MANUAL_ADD_MODULES_LIST
+do
+       manual_add_modules "$ii"
+done
+
+if [ -f "/etc/hostname" ]
+then
+       cp -p "/etc/hostname" "$DESTDIR/etc/"
+else
+       hostname >"$DESTDIR/etc/hostname"
+fi
+
+# The spl package ensures that the /etc/hostid file exists.
+# NB: Commentary in the spl.postinst script.
+cp -p "/etc/hostid" "$DESTDIR/etc/hostid"
+
+if [ -e "/etc/zfs/" ]
+then
+       cp -a "/etc/zfs/" "$DESTDIR/etc/"
+fi
diff --git a/debian/tree/zfs-initramfs/usr/share/initramfs-tools/scripts/zfs b/debian/tree/zfs-initramfs/usr/share/initramfs-tools/scripts/zfs
new file mode 100644 (file)
index 0000000..e85a15c
--- /dev/null
@@ -0,0 +1,140 @@
+# ZFS boot stub for initramfs-tools.
+#
+# In the initramfs environment, the /init script sources this stub to
+# override the default functions in the /scripts/local script.
+#
+# Enable this by passing boot=zfs on the kernel command line.
+#
+
+
+pre_mountroot()
+{
+       [ "$quiet" != "y" ] && log_begin_msg "Running /scripts/local-top"
+       run_scripts /scripts/local-top
+       [ "$quiet" != "y" ] && log_end_msg
+}
+
+
+mountroot()
+{
+       pre_mountroot
+
+       [ "$quiet" != "y" ] && log_begin_msg "Running /scripts/local-premount"
+       run_scripts /scripts/local-premount
+       [ "$quiet" != "y" ] && log_end_msg
+
+       # Wait for all of the /dev/{hd,sd}[a-z] device nodes to appear.
+       wait_for_udev
+
+       # Load the module now to get consistent automatic pool import behavior.
+       modprobe zfs
+
+       # Check the kernel command line for overrides.
+       ZFS_RPOOL="${rpool#rpool=}"
+       ZFS_BOOTFS="${bootfs#bootfs=}"
+
+       if [ -z "$ZFS_RPOOL" ]
+       then
+               # Check for the `-B zfs-bootfs=%s/%u,...` kind of parameter.
+               #
+               # The ${zfs-bootfs} variable is set at the kernel commmand
+               # line, usually by GRUB, but it cannot be referenced here
+               # directly because bourne variable names cannot contain a
+               # hyphen.
+               #
+               # Reassign the variable by dumping the environment and
+               # stripping the zfs-bootfs= prefix.  Let the shell handle
+               # quoting through the eval command.
+               eval ZFS_RPOOL=$(set | sed -n -e 's,^zfs-bootfs=,,p')
+
+               # Only the pool name is relevant because the ZFS filesystem on
+               # Linux is extrinsic and the userland cannot resolve a ZFS
+               # object number.
+               #
+               # Strip everything after the first slash character.
+               ZFS_RPOOL=$(echo "$ZFS_RPOOL" | sed -e 's,/.*,,')
+       fi
+
+       # Use "rpool" as the default, like on most Solaris systems.
+       [ -z "$ZFS_RPOOL" ] && ZFS_RPOOL='rpool'
+
+       # @FIXME: Forcing the import should not be necessary.
+       #
+       # Consider inhibiting automatic zpool imports in the initramfs
+       # environment and doing a full import in the regular system instead.
+
+       [ "$quiet" != "y" ] && log_begin_msg "Importing ZFS root pool $ZFS_RPOOL"
+       if [ -f /etc/zfs/zpool.cache ]
+       then
+               ZFS_STDERR=$(zpool list "$ZFS_RPOOL" 1>/dev/null 2>&1 \
+                 || zpool import -f -N "$ZFS_RPOOL" 2>&1)
+               ZFS_ERROR=$?
+       else
+               ZFS_STDERR=$(zpool import -f -N "$ZFS_RPOOL" 2>&1)
+               ZFS_ERROR=$?
+       fi
+       [ "$quiet" != "y" ] && log_end_msg
+
+       if [ "$ZFS_ERROR" -ne 0 ]
+       then
+               echo "Command: zpool import -f -N $ZFS_RPOOL"
+               echo "Message: $ZFS_STDERR"
+               echo "Error: $ZFS_ERROR"
+               echo ""
+               echo "Manually import the root pool at the command prompt and then exit."
+               echo "Hint: Try:  zpool import -f -R / -N $ZFS_RPOOL"
+               /bin/sh
+       fi
+
+       if [ -z "$ZFS_BOOTFS" ]
+       then
+               [ "$quiet" != "y" ] && log_begin_msg "Getting ZFS bootfs property"
+               ZFS_BOOTFS=$(zpool list -H -o bootfs "$ZFS_RPOOL")
+               ZFS_ERROR=$?
+               [ "$quiet" != "y" ] && log_end_msg
+       fi
+
+       if [ -z "$ZFS_BOOTFS" ]
+       then
+               echo "Command: zpool list -H -o bootfs $ZFS_RPOOL"
+               echo "Error: $ZFS_ERROR, unable to get the bootfs property."
+               echo ""
+               echo "Manually mount the root filesystem on $rootmnt and then exit."
+               echo "Hint: Try:  mount -t zfs -o zfsutil $ZFS_RPOOL/ROOT/system $rootmnt"
+               /bin/sh 
+       fi
+
+       # Force the mountpoint to the only correct value for a root filesystem.
+       [ "$quiet" != "y" ] && log_begin_msg "Setting mountpoint=/ on ZFS filesystem $ZFS_BOOTFS"
+       ZFS_STDERR=$(zfs set -o mountpoint=/ "$ZFS_BOOTFS" 2>&1)
+       [ "$quiet" != "y" ] && log_end_msg
+
+       # Ideally, the root filesystem would be mounted like this:
+       #
+       #   zpool import -R "$rootmnt" -N "$ZFS_RPOOL"
+       #   zfs mount -o mountpoint=/ "$ZFS_BOOTFS"
+       #
+       # but the MOUNTPOINT prefix is preserved on descendent filesystem after
+       # the pivot into the regular root, which later breaks things like
+       # `zfs mount -a` and the /etc/mtab refresh.
+
+       [ "$quiet" != "y" ] && log_begin_msg "Mounting ZFS filesystem $ZFS_BOOTFS"
+       ZFS_STDERR=$(mount -t zfs -o zfsutil "$ZFS_BOOTFS" "$rootmnt" 2>&1)
+       ZFS_ERROR=$?
+       [ "$quiet" != "y" ] && log_end_msg
+
+       if [ "$ZFS_ERROR" -ne 0 ]
+       then
+               echo ""
+               echo "Command: mount -t zfs -o zfsutil $ZFS_BOOTFS $rootmnt"
+               echo "Message: $ZFS_STDERR"
+               echo "Error: $ZFS_ERROR"
+               echo ""
+               echo "Manually mount the root filesystem on $rootmnt and then exit."
+               /bin/sh 
+       fi
+
+       [ "$quiet" != "y" ] && log_begin_msg "Running /scripts/local-bottom"
+       run_scripts /scripts/local-bottom
+       [ "$quiet" != "y" ] && log_end_msg
+}
diff --git a/debian/tree/zfsutils/etc/bash_completion.d/zfs b/debian/tree/zfsutils/etc/bash_completion.d/zfs
new file mode 100644 (file)
index 0000000..1b9428b
--- /dev/null
@@ -0,0 +1,232 @@
+# Copyright (c) 2010, Aneurin Price <aneurin.price@gmail.com>
+
+# 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.
+
+__zfs_get_commands()
+{
+    zfs 2>&1 | awk '/^\t[a-z]/ {print $1}' | uniq
+}
+
+__zfs_get_properties()
+{
+    zfs get 2>&1 | awk '$2 == "YES" || $2 == "NO" {print $1}'; echo all
+}
+
+__zfs_get_editable_properties()
+{
+    zfs get 2>&1 | awk '$2 == "YES" {printf("%s=\n", $1)}'
+}
+
+__zfs_get_inheritable_properties()
+{
+    zfs get 2>&1 | awk '$3 == "YES" {print $1}'
+}
+
+__zfs_list_datasets()
+{
+    zfs list -H -o name
+}
+
+__zfs_list_filesystems()
+{
+    zfs list -H -o name -t filesystem
+}
+
+__zfs_list_snapshots()
+{
+    zfs list -H -o name -t snapshot
+}
+
+__zfs_list_volumes()
+{
+    zfs list -H -o name -t volume
+}
+
+__zfs_argument_chosen()
+{
+    for word in $(seq $((COMP_CWORD-1)) -1 2)
+    do
+        local prev="${COMP_WORDS[$word]}"
+        for property in $@
+        do
+            if [ "x$prev" = "x$property" ]
+            then
+                return 0
+            fi
+        done
+    done
+    return 1
+}
+
+__zfs_complete_ordered_arguments()
+{
+    local list1=$1
+    local list2=$2
+    local cur=$3
+    local extra=$4
+    if __zfs_argument_chosen $list1
+    then
+        COMPREPLY=($(compgen -W "$list2 $extra" -- "$cur"))
+    else
+        COMPREPLY=($(compgen -W "$list1 $extra" -- "$cur"))
+    fi
+}
+
+__zfs_complete()
+{
+    local cur prev cmd cmds
+    COMPREPLY=()
+    cur="${COMP_WORDS[COMP_CWORD]}"
+    prev="${COMP_WORDS[COMP_CWORD-1]}"
+    cmd="${COMP_WORDS[1]}"
+    cmds=$(__zfs_get_commands)
+
+    if [ "${prev##*/}" = "zfs" ]
+    then
+        COMPREPLY=($(compgen -W "$cmds -?" -- "$cur"))
+        return 0
+    fi
+
+    case "${cmd}" in
+        clone)
+            __zfs_complete_ordered_arguments "$(__zfs_list_snapshots)" "$(__zfs_list_filesystems) $(__zfs_list_volumes)" $cur
+            return 0
+            ;;
+        get)
+            __zfs_complete_ordered_arguments "$(__zfs_get_properties)" "$(__zfs_list_datasets)" "$cur" "-H -r -p"
+            return 0
+            ;;
+        inherit)
+            __zfs_complete_ordered_arguments "$(__zfs_get_inheritable_properties)" "$(__zfs_list_datasets)" $cur
+            return 0
+            ;;
+        list)
+            if [ "x$prev" = "x-o" ]
+            then
+                COMPREPLY=($(compgen -W "$(__zfs_get_properties)" -- "${cur##*,}"))
+                local existing_opts=$(expr "$cur" : '\(.*,\)')
+                if [ ! "x$existing_opts" = "x" ]
+                then
+                    COMPREPLY=( "${COMPREPLY[@]/#/${existing_opts}}" )
+                fi
+            else
+                COMPREPLY=($(compgen -W "$(__zfs_list_datasets) -H -r -o" -- "$cur"))
+            fi
+            return 0
+            ;;
+        promote)
+            COMPREPLY=($(compgen -W "$(__zfs_list_filesystems)" -- "$cur"))
+            return 0
+            ;;
+        rollback|send)
+            COMPREPLY=($(compgen -W "$(__zfs_list_snapshots)" -- "$cur"))
+            return 0
+            ;;
+        snapshot)
+            COMPREPLY=($(compgen -W "$(__zfs_list_filesystems) $(__zfs_list_volumes)" -- "$cur"))
+            return 0
+            ;;
+        set)
+            __zfs_complete_ordered_arguments "$(__zfs_get_editable_properties)" "$(__zfs_list_filesystems) $(__zfs_list_volumes)" $cur
+            return 0
+            ;;
+        *)
+            COMPREPLY=($(compgen -W "$(__zfs_list_datasets)" -- "$cur"))
+            return 0
+            ;;
+    esac
+
+}
+
+__zpool_get_commands()
+{
+    zpool 2>&1 | awk '/^\t[a-z]/ {print $1}' | uniq
+}
+
+__zpool_get_properties()
+{
+    zpool get 2>&1 | awk '$2 == "YES" || $2 == "NO" {print $1}'; echo all
+}
+
+__zpool_get_editable_properties()
+{
+    zpool get 2>&1 | awk '$2 == "YES" {printf("%s=\n", $1)}'
+}
+
+__zpool_list_pools()
+{
+    zpool list -H -o name
+}
+
+__zpool_complete()
+{
+    local cur prev cmd cmds
+    COMPREPLY=()
+    cur="${COMP_WORDS[COMP_CWORD]}"
+    prev="${COMP_WORDS[COMP_CWORD-1]}"
+    cmd="${COMP_WORDS[1]}"
+    cmds=$(__zpool_get_commands)
+
+    if [ "${prev##*/}" = "zpool" ]
+    then
+        COMPREPLY=($(compgen -W "$cmds" -- "$cur"))
+        return 0
+    fi
+
+    case "${cmd}" in
+        get)
+            __zfs_complete_ordered_arguments "$(__zpool_get_properties)" "$(__zpool_list_pools)" $cur
+            return 0
+            ;;
+        import)
+            if [ "x$prev" = "x-d" ]
+            then
+                _filedir -d
+            else
+                COMPREPLY=($(compgen -W "$(__zpool_list_pools) -d" -- "$cur"))
+            fi
+            return 0
+            ;;
+        set)
+            __zfs_complete_ordered_arguments "$(__zpool_get_editable_properties)" "$(__zpool_list_pools)" $cur
+            return 0
+            ;;
+        add|attach|clear|create|detach|offline|online|remove|replace)
+            local pools="$(__zpool_list_pools)"
+            if __zfs_argument_chosen $pools
+            then
+                _filedir
+            else
+                COMPREPLY=($(compgen -W "$pools" -- "$cur"))
+            fi
+            return 0
+            ;;
+        *)
+            COMPREPLY=($(compgen -W "$(__zpool_list_pools)" -- "$cur"))
+            return 0
+            ;;
+    esac
+
+}
+
+complete -F __zfs_complete zfs
+complete -o filenames -F __zpool_complete zpool
diff --git a/debian/tree/zfsutils/etc/sudoers.d/zfs b/debian/tree/zfsutils/etc/sudoers.d/zfs
new file mode 100644 (file)
index 0000000..5a02489
--- /dev/null
@@ -0,0 +1,20 @@
+## Allow read-only ZoL commands to be called through sudo
+## without a password. Remove the first '#' column to enable.
+##
+## CAUTION: Any syntax error introduced here will break sudo.
+##
+## Cmnd alias specification
+#Cmnd_Alias C_ZFS = \
+#  /sbin/zfs "", /sbin/zfs help *, \
+#  /sbin/zfs get, /sbin/zfs get *, \
+#  /sbin/zfs list, /sbin/zfs list *, \
+#  /sbin/zpool "", /sbin/zpool help *, \
+#  /sbin/zpool iostat, /sbin/zpool iostat *, \
+#  /sbin/zpool list, /sbin/zpool list *, \
+#  /sbin/zpool status, /sbin/zpool status *
+#
+## User privilege specification
+#root    ALL=(ALL) ALL
+#
+## allow any user to use basic read-only ZFS commands
+#ALL ALL = (R_ROOT) NOPASSWD: C_ZFS
diff --git a/debian/watch b/debian/watch
new file mode 100644 (file)
index 0000000..ad04952
--- /dev/null
@@ -0,0 +1,2 @@
+version=3
+http://githubredir.debian.net/github/zfs-linux/zfs/([\d\.].*).tar.gz
diff --git a/debian/zfs-dkms.dkms b/debian/zfs-dkms.dkms
new file mode 100644 (file)
index 0000000..da70771
--- /dev/null
@@ -0,0 +1,59 @@
+AUTOINSTALL="yes"
+PACKAGE_NAME="zfs"
+PACKAGE_VERSION="#MODULE_VERSION#"
+PRE_BUILD="configure
+  --prefix=/usr
+  --with-config=kernel
+  --with-linux=$(
+      case `lsb_release -is` in
+        (Debian)
+          if [ -e ${kernel_source_dir/%build/source} ]
+          then
+            echo ${kernel_source_dir/%build/source}
+          else
+            # A kpkg exception for Proxmox 2.0
+            echo ${kernel_source_dir}
+          fi
+          ;;
+        (*)
+          echo ${kernel_source_dir}
+          ;;
+      esac
+  )
+  --with-linux-obj=${kernel_source_dir}
+  --with-spl=${source_tree}/spl-${PACKAGE_VERSION}
+  --with-spl-obj=${dkms_tree}/spl/${PACKAGE_VERSION}/${kernelver}/${arch}
+"
+POST_BUILD="cp
+  ${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/build/zfs_config.h
+  ${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/build/module/Module.symvers
+  ${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/${kernelver}/${arch}/
+"
+REMAKE_INITRD="$(
+    if test -e /usr/share/initramfs-tools/hooks/zfs \
+            -o -e /usr/share/dracut/modules.d/90zfs
+    then
+      echo yes
+    else
+      echo no
+    fi
+)"
+MAKE[0]="make"
+BUILT_MODULE_NAME[0]="zavl"
+BUILT_MODULE_LOCATION[0]="module/avl/"
+DEST_MODULE_LOCATION[0]="/extra/zfs/zavl"
+BUILT_MODULE_NAME[1]="zcommon"
+BUILT_MODULE_LOCATION[1]="module/zcommon/"
+DEST_MODULE_LOCATION[1]="/extra/zfs/zcommon"
+BUILT_MODULE_NAME[2]="znvpair"
+BUILT_MODULE_LOCATION[2]="module/nvpair/"
+DEST_MODULE_LOCATION[2]="/extra/zfs/znvpair"
+BUILT_MODULE_NAME[3]="zpios"
+BUILT_MODULE_LOCATION[3]="module/zpios/"
+DEST_MODULE_LOCATION[3]="/extra/zfs/zpios"
+BUILT_MODULE_NAME[4]="zunicode"
+BUILT_MODULE_LOCATION[4]="module/unicode/"
+DEST_MODULE_LOCATION[4]="/extra/zfs/zunicode"
+BUILT_MODULE_NAME[5]="zfs"
+BUILT_MODULE_LOCATION[5]="module/zfs/"
+DEST_MODULE_LOCATION[5]="/extra/zfs/zfs"
diff --git a/debian/zfs-dkms.docs b/debian/zfs-dkms.docs
new file mode 100644 (file)
index 0000000..425a0e5
--- /dev/null
@@ -0,0 +1,2 @@
+COPYRIGHT
+OPENSOLARIS.LICENSE
diff --git a/debian/zfs-dkms.install b/debian/zfs-dkms.install
new file mode 100644 (file)
index 0000000..b601f22
--- /dev/null
@@ -0,0 +1 @@
+usr/src
diff --git a/debian/zfs-dkms.lintian-overrides b/debian/zfs-dkms.lintian-overrides
new file mode 100644 (file)
index 0000000..a46aef8
--- /dev/null
@@ -0,0 +1 @@
+zfs-dkms: extra-license-file
diff --git a/debian/zfs-dkms.postinst b/debian/zfs-dkms.postinst
new file mode 100644 (file)
index 0000000..0408a3c
--- /dev/null
@@ -0,0 +1,10 @@
+#!/bin/sh -e
+
+case $1 in
+       (configure)
+               [ -x /usr/share/update-notifier/notify-reboot-required ] \
+                 && /usr/share/update-notifier/notify-reboot-required
+               ;;
+esac
+
+#DEBHELPER#
diff --git a/debian/zfs-dkms.prerm b/debian/zfs-dkms.prerm
new file mode 100644 (file)
index 0000000..07fe0c2
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/sh -e
+
+#DEBHELPER#
diff --git a/debian/zfs-dracut.install b/debian/zfs-dracut.install
new file mode 100644 (file)
index 0000000..74de57c
--- /dev/null
@@ -0,0 +1 @@
+usr/share/dracut
diff --git a/debian/zfs-initramfs.install b/debian/zfs-initramfs.install
new file mode 100644 (file)
index 0000000..b853d8e
--- /dev/null
@@ -0,0 +1 @@
+../tree/zfs-initramfs/* /
diff --git a/debian/zfs-initramfs.preinst b/debian/zfs-initramfs.preinst
new file mode 100644 (file)
index 0000000..af5657d
--- /dev/null
@@ -0,0 +1,10 @@
+#!/bin/sh -e
+
+# @FIXME: During system start, the /etc/init/mountall.conf on Ubuntu is unable
+# to generate the /etc/mtab file from the /proc/mounts file if a ZFS filesystem
+# is already mounted.
+
+# This depends on mountall 2.18, which recognizes the link.
+ln -sf /proc/mounts /etc/mtab
+
+#DEBHELPER#
diff --git a/debian/zfs-initramfs.triggers b/debian/zfs-initramfs.triggers
new file mode 100644 (file)
index 0000000..6c9f454
--- /dev/null
@@ -0,0 +1 @@
+activate update-initramfs
diff --git a/debian/zfsutils.docs b/debian/zfsutils.docs
new file mode 100644 (file)
index 0000000..425a0e5
--- /dev/null
@@ -0,0 +1,2 @@
+COPYRIGHT
+OPENSOLARIS.LICENSE
diff --git a/debian/zfsutils.examples b/debian/zfsutils.examples
new file mode 100644 (file)
index 0000000..89da091
--- /dev/null
@@ -0,0 +1,55 @@
+etc/zfs/zdev.conf.x4550.example
+etc/zfs/zdev.conf.supermicro.example
+etc/zfs/zdev.conf.dragon.example
+scripts/common.sh
+scripts/zconfig.sh
+scripts/zfault.sh
+scripts/zfs.sh
+scripts/zpios-profile/zpios-profile-disk.sh
+scripts/zpios-profile/zpios-profile-pids.sh
+scripts/zpios-profile/zpios-profile-post.sh
+scripts/zpios-profile/zpios-profile-pre.sh
+scripts/zpios-profile/zpios-profile.sh
+scripts/zpios-sanity.sh
+scripts/zpios-survey.sh
+scripts/zpios-test/16th-8192rc-4rs-1cs-4off.sh
+scripts/zpios-test/1th-16rc-4rs-1cs-4off.sh
+scripts/zpios-test/1x256th-65536rc-4rs-1cs-4off.sh
+scripts/zpios-test/256th-65536rc-4rs-1cs-4off.sh
+scripts/zpios-test/4th-1024rc-4rs-1cs-4off.sh
+scripts/zpios-test/large-thread-survey.sh
+scripts/zpios-test/large.sh
+scripts/zpios-test/lustre.sh
+scripts/zpios-test/medium.sh
+scripts/zpios-test/small.sh
+scripts/zpios-test/tiny.sh
+scripts/zpios.sh
+scripts/zpool-config/dm0-raid0.sh
+scripts/zpool-config/file-raid0.sh
+scripts/zpool-config/file-raid10.sh
+scripts/zpool-config/file-raidz.sh
+scripts/zpool-config/file-raidz2.sh
+scripts/zpool-config/hda-raid0.sh
+scripts/zpool-config/lo-faulty-raid0.sh
+scripts/zpool-config/lo-faulty-raid10.sh
+scripts/zpool-config/lo-faulty-raidz.sh
+scripts/zpool-config/lo-faulty-raidz2.sh
+scripts/zpool-config/lo-faulty-raidz3.sh
+scripts/zpool-config/lo-raid0.sh
+scripts/zpool-config/lo-raid10.sh
+scripts/zpool-config/lo-raidz.sh
+scripts/zpool-config/lo-raidz2.sh
+scripts/zpool-config/md0-raid10.sh
+scripts/zpool-config/md0-raid5.sh
+scripts/zpool-config/ram0-raid0.sh
+scripts/zpool-config/scsi_debug-noraid.sh
+scripts/zpool-config/scsi_debug-raid0.sh
+scripts/zpool-config/scsi_debug-raid10.sh
+scripts/zpool-config/scsi_debug-raidz.sh
+scripts/zpool-config/scsi_debug-raidz2.sh
+scripts/zpool-config/scsi_debug-raidz3.sh
+scripts/zpool-config/sda-raid0.sh
+scripts/zpool-config/zpool-raid0.sh
+scripts/zpool-config/zpool-raid10.sh
+scripts/zpool-config/zpool-raidz.sh
+scripts/zpool-create.sh
diff --git a/debian/zfsutils.install b/debian/zfsutils.install
new file mode 100644 (file)
index 0000000..69c2507
--- /dev/null
@@ -0,0 +1,5 @@
+../tree/zfsutils/* /
+etc/zfs/zdev.conf
+sbin
+lib/udev
+usr/share/man
diff --git a/debian/zfsutils.lintian-overrides b/debian/zfsutils.lintian-overrides
new file mode 100644 (file)
index 0000000..c36407d
--- /dev/null
@@ -0,0 +1 @@
+zfsutils: extra-license-file
diff --git a/debian/zfsutils.postinst b/debian/zfsutils.postinst
new file mode 100644 (file)
index 0000000..15a986b
--- /dev/null
@@ -0,0 +1,9 @@
+#!/bin/sh -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 -- "$@"
+fi
+
+#DEBHELPER#
diff --git a/debian/zfsutils.postrm b/debian/zfsutils.postrm
new file mode 100644 (file)
index 0000000..15a986b
--- /dev/null
@@ -0,0 +1,9 @@
+#!/bin/sh -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 -- "$@"
+fi
+
+#DEBHELPER#
diff --git a/debian/zfsutils.preinst b/debian/zfsutils.preinst
new file mode 100644 (file)
index 0000000..15a986b
--- /dev/null
@@ -0,0 +1,9 @@
+#!/bin/sh -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 -- "$@"
+fi
+
+#DEBHELPER#
diff --git a/debian/zfsutils.prerm b/debian/zfsutils.prerm
new file mode 100644 (file)
index 0000000..07fe0c2
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/sh -e
+
+#DEBHELPER#
diff --git a/debian/zfsutils.zfs-mount.init b/debian/zfsutils.zfs-mount.init
new file mode 100644 (file)
index 0000000..5a2abbf
--- /dev/null
@@ -0,0 +1,80 @@
+#!/bin/sh
+#
+### BEGIN INIT INFO
+# Provides: zvol zfs
+# Required-Start: $local_fs
+# Required-Stop: $local_fs
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Mount ZFS filesystems
+# Description: Run the `zfs mount -a` or `zfs umount -a` command.
+#              This init script is deprecated and should be disabled in the
+#              /etc/default/zfs options file. Instead, use the zfs-mount
+#              package for Debian or the zfs-mountall package for Ubuntu
+### END INIT INFO
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+
+. /lib/lsb/init-functions
+. /lib/init/vars.sh
+
+[ -f /etc/default/zfs ] && . /etc/default/zfs
+
+do_start()
+{
+       log_begin_msg "Mounting ZFS filesystems"
+       log_progress_msg "filesystems"
+       zfs mount -a
+       RET=$?
+
+       if [ $RET != 0 ] ; then
+               log_end_msg $RET
+               exit $RET
+       fi
+
+       log_end_msg 0
+}
+
+do_stop()
+{
+       log_begin_msg "Unmounting ZFS filesystems"
+       log_progress_msg "filesystems"
+       zfs unmount -a
+       RET=$?
+
+       # Ignore a non-zero `zfs` result so that a busy ZFS instance
+       # does not hang the system during shutdown.
+       if [ $RET != 0 ] ; then
+               log_end_msg $RET
+       fi
+
+       log_end_msg 0
+}
+
+case "$1" in
+       (start)
+               case "$ZFS_MOUNT" in
+                       ([Oo][Ff][Ff]|[Nn][Oo]|'')
+                               exit 0
+                               ;;
+               esac
+               do_start
+               ;;
+       (stop)
+               case "$ZFS_UNMOUNT" in
+                       ([Oo][Ff][Ff]|[Nn][Oo]|'')
+                               exit 0
+                               ;;
+               esac
+               do_stop
+               ;;
+       (force-reload|reload|restart|status)
+               # no-op
+               ;;
+
+       (*)
+               [ -n "$1" ] && echo "Error: Unknown command $1."
+               echo "Usage: $0 {start|stop}"
+               exit 3
+       ;;
+esac
diff --git a/debian/zfsutils.zfs-share.init b/debian/zfsutils.zfs-share.init
new file mode 100644 (file)
index 0000000..fe01128
--- /dev/null
@@ -0,0 +1,80 @@
+#!/bin/sh
+#
+### BEGIN INIT INFO
+# Provides: sharenfs sharesmb
+# Required-Start: $local_fs $network
+# Required-Stop: $local_fs $network
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Should-Start: nfs-kernel-server samba
+# Should-Stop: nfs-kernel-server samba
+# Short-Description: Network share ZFS filesystems.
+# Description: Run the `zfs share -a` or `zfs unmount -a` commands
+#              for controlling NFS or CIFS network shares.
+### END INIT INFO
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+
+. /lib/lsb/init-functions
+. /lib/init/vars.sh
+
+[ -f /etc/default/zfs ] && . /etc/default/zfs
+
+do_start()
+{
+       log_begin_msg "Sharing ZFS filesystems"
+       log_progress_msg "filesystems"
+       zfs share -a
+       RET=$?
+
+       if [ $RET != 0 ] ; then
+               log_end_msg $RET
+               exit $RET
+       fi
+
+       log_end_msg 0
+}
+
+do_stop()
+{
+       log_begin_msg "Unsharing ZFS filesystems"
+       log_progress_msg "filesystems"
+       zfs unshare -a
+       RET=$?
+
+       # Ignore a non-zero `zfs` result so that a busy ZFS instance
+       # does not hang the system during shutdown.
+       if [ $RET != 0 ] ; then
+               log_end_msg $RET
+       fi
+
+       log_end_msg 0
+}
+
+case "$1" in
+       (start)
+               case "$ZFS_SHARE" in
+                       ([Oo][Ff][Ff]|[Nn][Oo]|'')
+                               exit 0
+                               ;;
+               esac
+               do_start
+               ;;
+       (stop)
+               case "$ZFS_UNSHARE" in
+                       ([Oo][Ff][Ff]|[Nn][Oo]|'')
+                               exit 0
+                               ;;
+               esac
+               do_stop
+               ;;
+       (force-reload|reload|restart|status)
+               # no-op
+               ;;
+
+       (*)
+               [ -n "$1" ] && echo "Error: Unknown command $1."
+               echo "Usage: $0 {start|stop}"
+               exit 3
+       ;;
+esac
diff --git a/debian/zfsutils.zfs.default b/debian/zfsutils.zfs.default
new file mode 100644 (file)
index 0000000..466a340
--- /dev/null
@@ -0,0 +1,18 @@
+# /etc/default/zfs
+#
+# Instead of changing these default ZFS options, Debian systems should install
+# the zfs-mount package, and Ubuntu systems should install the zfs-mountall
+# package. The debian-zfs and ubuntu-zfs metapackages ensure a correct system
+# configuration.
+#
+# If the system runs parallel init jobs, like upstart or systemd, then the
+# `zfs mount -a` command races in a way that causes sporadic mount failures.
+
+# Automatically run `zfs mount -a` at system start. Disabled by default.
+ZFS_MOUNT='no'
+ZFS_UNMOUNT='no'
+
+# Automatically run `zfs share -a` at system start. Disabled by default.
+# Requires nfsd and/or smbd. Incompletely implemented for Linux.
+ZFS_SHARE='no'
+ZFS_UNSHARE='no'