Index: new/debian/control.in =================================================================== --- new.orig/debian/control.in +++ new/debian/control.in @@ -104,39 +104,9 @@ Description: Native ZFS filesystem kerne This package provides the source to the SPL kernel module in a form suitable for use by module-assistant or kernel-package. -Package: zfs-dkms -Architecture: all -Pre-Depends: spl-dkms -Depends: dkms (>> 2.1.1.2-5), lsb-release, ${misc:Depends}, file -Recommends: zfsutils -Replaces: lzfs, lzfs-dkms, zfs-modules-source -Provides: lustre-backend-fs, lzfs, lzfs-dkms, zfs-modules, zfs-modules-source -Conflicts: lzfs, lzfs-dkms, zfs-modules-source -Description: Native ZFS filesystem kernel modules for Linux - The Z file system is a pooled filesystem designed for maximum data - integrity, supporting data snapshots, multiple copies, and data - checksums. - . - This DKMS package includes the SPA, DMU, ZVOL, and ZPL components of ZFS. - -Package: zfs-dracut -Section: utils -Architecture: linux-any -Depends: dracut, - zfs-modules | zfs-dkms | zfs-modules-source (>= ${source:Version}), - zfsutils, ${misc:Depends} -Description: Native ZFS root filesystem capabilities for Linux - The Z file system is a pooled filesystem designed for maximum data - integrity, supporting data snapshots, multiple copies, and data - checksums. - . - This package adds ZFS to the system initramfs with a hook - for the dracut infrastructure. - Package: zfs-initramfs Architecture: linux-any Depends: initramfs-tools, busybox, - zfs-modules | zfs-dkms | zfs-modules-source (>= ${source:Version}), zfsutils, ${misc:Depends} Description: Native ZFS root filesystem capabilities for Linux The Z file system is a pooled filesystem designed for maximum data @@ -150,7 +120,6 @@ Package: zfsutils Section: admin Architecture: linux-any Depends: initscripts, lsb-base, python, ${misc:Depends}, ${shlibs:Depends} -Recommends: zfs-modules | zfs-dkms | zfs-modules-source (>= ${source:Version}) Suggests: nfs-kernel-server, samba-common-bin (>= 3.0.23), zfs-initramfs Conflicts: zfs, zfs-fuse Replaces: zfs Index: new/debian/rules =================================================================== --- new.orig/debian/rules +++ new/debian/rules @@ -25,12 +25,10 @@ KARCH=$(shell uname -r | sed "s/.*-\([a- endif ifndef SPL -SPLSRC=/usr/src/spl-$(VERSION) +SPLSRC=../pkg-spl endif -CFG_OPTS=--with-linux=$(KSRC) \ - --with-linux-obj=$(KOBJ) \ - --with-spl=$(SPLSRC) +CFG_OPTS=--with-spl=$(SPLSRC) non_epoch_version=$(shell echo $(KVERS) | perl -pe 's/^\d+://') PACKAGE=zfs @@ -41,7 +39,7 @@ export DEB_BUILD_MAINT_OPTIONS = hardeni KIMGVER=$(shell dpkg -s linux-image-$(KVERS)-$(KARCH) | grep ^Version | sed 's/.*: //') %: - dh $@ --with dkms --parallel + dh $@ --parallel override_dh_prep-base-deb-files: sed -e 's/##SHLIB_MAJOR##/$(SHLIB_MAJOR)/g' < debian/control.in > debian/control @@ -83,42 +81,6 @@ override_dh_auto_install: @# 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 - - @# Install the DKMS source. - @# We only want the files needed to build the modules - mkdir -p '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)' - touch '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/.nogitrelease' - cp '$(CURDIR)/autogen.sh' '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/' - ( for d in include module config; do \ - rm -Rf $(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/$$d; \ - done) - $(foreach file,$(DKMSFILES),mv '$(CURDIR)/$(NAME)-$(VERSION)/$(file)' '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)' || exit 1;) - @# Hellish awk line: - @# * Deletes from configure.ac the parts not needed for building the kernel module - @# * It deletes from inside AC_CONFIG_FILES([]) everything except: - @# (Makefile$|include/|module/|*.release$) - @# * Takes care of spaces and tabs - awk '/^AC_CONFIG_FILES\(\[/,/^\]\)/ { if ($$0 !~ /^(AC_CONFIG_FILES\(\[([ \t]+)?$$|\]\)([ \t]+)?$$|([ \t]+)?(include\/|module\/|Makefile([ \t]+)?$$|zfs\.release([ \t]+)?$$))/){next} } {print}' \ - '$(CURDIR)/$(NAME)-$(VERSION)/configure.ac' > '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/configure.ac' - @# Set "SUBDIRS = module include" for CONFIG_KERNEL and remove SUBDIRS for all other configs. - sed '1,/CONFIG_KERNEL/s/SUBDIRS.*=.*//g;s/SUBDIRS.*=.*/SUBDIRS = module include/g;' \ - '$(CURDIR)/$(NAME)-$(VERSION)/Makefile.am' > '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/Makefile.am' - @# Sanity test - grep -q 'SUBDIRS = module include' '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/Makefile.am' - @# Run autogen on the stripped source tree - cd '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)'; ./autogen.sh - rm -fr '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/autom4te.cache' - - @# This shunt allows DKMS to install the Module.symvers and zfs_config.h - @# files to the ${dkms_tree} area through the POST_INSTALL directive. - echo '#!/bin/sh' >'$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/cp' - echo 'cp "$$@"' >>'$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/cp' - chmod 755 '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/cp' - mkdir -p $(CURDIR)/debian/tmp/usr/lib for i in `ls $(CURDIR)/debian/tmp/lib/*.so`; do \ ln -s /lib/`readlink $${i}` $(CURDIR)/debian/tmp/usr/lib/`basename $${i}`; \ @@ -137,28 +99,6 @@ override_dh_auto_install: # Fix the includes according to https://github.com/zfsonlinux/zfs/issues/2903 ./debian/fix_includes-libspl.sh - @# Duplicate the dkms directory for module-assistant source package - install -d $(CURDIR)/debian/tmp/usr/src/modules - cp -r $(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION) $(CURDIR)/debian/tmp/usr/src/modules/$(PACKAGE) - mkdir -p $(CURDIR)/debian/tmp/usr/src/modules/$(PACKAGE)/debian - cp debian/copyright debian/module/* \ - $(CURDIR)/debian/tmp/usr/src/modules/$(PACKAGE)/debian/ - sed 's/^zfs-linux /zfs-modules /' debian/changelog \ - > $(CURDIR)/debian/tmp/usr/src/modules/$(PACKAGE)/debian/changelog - chmod 755 $(CURDIR)/debian/tmp/usr/src/modules/$(PACKAGE)/debian/rules - chown -R root.src $(CURDIR)/debian/tmp - find $(CURDIR)/debian/tmp/usr/src -type d | xargs chmod 755 - find $(CURDIR)/debian/tmp/usr/src -type f -perm -100 | xargs chmod 755 - find $(CURDIR)/debian/tmp/usr/src -type f -not -perm -100 | xargs chmod 644 - chmod 775 $(CURDIR)/debian/tmp/usr/src/modules - cd $(CURDIR)/debian/tmp/usr/src && tar cf $(PACKAGE).tar modules - rm -Rf $(CURDIR)/debian/tmp/usr/src/modules - bzip2 $(CURDIR)/debian/tmp/usr/src/$(PACKAGE).tar - chmod 644 $(CURDIR)/debian/tmp/usr/src/$(PACKAGE).tar.bz2 - install -d $(CURDIR)/debian/zfs-modules-source/usr/src - mv $(CURDIR)/debian/tmp/usr/src/$(PACKAGE).tar.bz2 $(CURDIR)/debian/zfs-modules-source/usr/src/ - rm -Rf $(CURDIR)/debian/zfs-modules-source/usr/src/$(NAME)-$(VERSION) - override_dh_installinit: @# Install systemd files dh_systemd_enable -pzfsutils etc/systemd/system/zfs.target