From c574254ed04942d1bce77abfae29e29dc20d1f93 Mon Sep 17 00:00:00 2001 From: Eli Schwartz Date: Sun, 28 Oct 2018 17:06:13 -0400 Subject: upgpkg: zfs-dkms 0.7.11-1 Split utils out into separate package as there's no need to make binary zfs module packages depend on a dkms split package just to acquire the utils. Mark the dkms package as an -any package, and instead of installing the whole source tree, just install the bits needed to build the modules. Add PGP verification checks. --- .SRCINFO | 34 ++++------ 0001-only-build-the-module-in-dkms.conf.patch | 49 +++++++++++++++ PKGBUILD | 91 ++++++++++----------------- 3 files changed, 93 insertions(+), 81 deletions(-) create mode 100644 0001-only-build-the-module-in-dkms.conf.patch diff --git a/.SRCINFO b/.SRCINFO index 0870088..5990a3a 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,30 +1,20 @@ pkgbase = zfs-dkms - pkgver = 0.7.9 + pkgdesc = Kernel modules for the Zettabyte File System. + pkgver = 0.7.11 pkgrel = 1 - url = http://zfsonlinux.org/ - arch = i686 - arch = x86_64 + url = https://zfsonlinux.org/ + arch = any license = CDDL makedepends = git - makedepends = spl-dkms=0.7.9 - source = git+https://github.com/zfsonlinux/zfs.git#tag=zfs-0.7.9 - source = zfs.initcpio.install - source = zfs.initcpio.hook + depends = spl-dkms=0.7.11 + depends = zfs-utils=0.7.11 + depends = dkms + source = git+https://github.com/zfsonlinux/zfs.git#tag=zfs-0.7.11?signed + source = 0001-only-build-the-module-in-dkms.conf.patch + validpgpkeys = 4F3BA9AB6D1F8D683DC2DFB56AD860EED4598027 + validpgpkeys = C33DF142657ED1F7C328A2960AB9E991C6AF658B sha256sums = SKIP - sha256sums = aa5706bf08b36209a318762680f3c9fb45b3fc4b8e4ef184c8a5370b2c3000ca - sha256sums = f95ad1a5421ccbb8b01f448373f46cfd1f718361a82c2687a597325cf9827e3e + sha256sums = 780e590383fb00389c5e02ac15709b7a476d9e07d3c4935ed9eb67c951a88409 pkgname = zfs-dkms - pkgdesc = Kernel modules for the Zettabyte File System. - depends = spl-dkms=0.7.9 - depends = zfs-utils=0.7.9-1 - depends = dkms - provides = zfs - conflicts = zfs-git - conflicts = zfs-lts - -pkgname = zfs-utils - pkgdesc = Kernel module support files for the Zettabyte File System. - conflicts = zfs-utils-git - conflicts = zfs-utils-lts diff --git a/0001-only-build-the-module-in-dkms.conf.patch b/0001-only-build-the-module-in-dkms.conf.patch new file mode 100644 index 0000000..0e162b5 --- /dev/null +++ b/0001-only-build-the-module-in-dkms.conf.patch @@ -0,0 +1,49 @@ +From b4a2c0b184c9c9599421b15a430fb88deb5dbd17 Mon Sep 17 00:00:00 2001 +From: Eli Schwartz +Date: Sun, 28 Oct 2018 15:01:58 -0400 +Subject: [PATCH] only build the module in dkms.conf + +--- + scripts/dkms.mkconf | 19 ++----------------- + 1 file changed, 2 insertions(+), 17 deletions(-) + +diff --git a/scripts/dkms.mkconf b/scripts/dkms.mkconf +index 88c289383..5a859a0e0 100755 +--- a/scripts/dkms.mkconf ++++ b/scripts/dkms.mkconf +@@ -25,22 +25,7 @@ PACKAGE_CONFIG="${pkgcfg}" + PRE_BUILD="configure + --prefix=/usr + --with-config=kernel +- --with-linux=\$( +- case \`lsb_release -is\` in +- (Debian|Devuan) +- 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=\${kernel_source_dir} + --with-linux-obj=\${kernel_source_dir} + --with-spl=\${source_tree}/spl-\${PACKAGE_VERSION} + --with-spl-obj=\${dkms_tree}/spl/\${PACKAGE_VERSION}/\${kernelver}/\${arch} +@@ -78,7 +63,7 @@ POST_BUILD="scripts/dkms.postbuild + BUILD_DEPENDS[0]="spl" + AUTOINSTALL="yes" + REMAKE_INITRD="no" +-MAKE[0]="make" ++MAKE[0]="make -C module/" + STRIP[0]="\$( + [[ -r \${PACKAGE_CONFIG} ]] \\ + && source \${PACKAGE_CONFIG} \\ +-- +2.19.1 + diff --git a/PKGBUILD b/PKGBUILD index e6cca47..11c2932 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -1,72 +1,45 @@ -# -# Maintainer: Iacopo Isimbaldi -# +# Maintainer: Eli Schwartz +# Contributor: Iacopo Isimbaldi -pkgbase="zfs-dkms" -pkgname=("zfs-dkms" "zfs-utils") -pkgver=0.7.9 +pkgname=zfs-dkms +pkgver=0.7.11 pkgrel=1 +pkgdesc="Kernel modules for the Zettabyte File System." +arch=('any') +url="https://zfsonlinux.org/" license=('CDDL') -makedepends=("git" "spl-dkms=${pkgver}") -arch=("i686" "x86_64") -url="http://zfsonlinux.org/" -source=("git+https://github.com/zfsonlinux/zfs.git#tag=zfs-${pkgver}" - "zfs.initcpio.install" - "zfs.initcpio.hook") +depends=("spl-dkms=${pkgver}" "zfs-utils=${pkgver}" 'dkms') +makedepends=('git') +source=("git+https://github.com/zfsonlinux/zfs.git#tag=zfs-${pkgver}?signed" + "0001-only-build-the-module-in-dkms.conf.patch") sha256sums=('SKIP' - 'aa5706bf08b36209a318762680f3c9fb45b3fc4b8e4ef184c8a5370b2c3000ca' - 'f95ad1a5421ccbb8b01f448373f46cfd1f718361a82c2687a597325cf9827e3e') + '780e590383fb00389c5e02ac15709b7a476d9e07d3c4935ed9eb67c951a88409') +validpgpkeys=('4F3BA9AB6D1F8D683DC2DFB56AD860EED4598027' # Tony Hutter (GPG key for signing ZFS releases) + 'C33DF142657ED1F7C328A2960AB9E991C6AF658B') # Brian Behlendorf -build() { - cd "${srcdir}/zfs" - ./autogen.sh +prepare() { + cd "${srcdir}"/${pkgname%-dkms} - ./configure --prefix=/usr \ - --sysconfdir=/etc \ - --sbindir=/usr/bin \ - --with-mounthelperdir=/usr/bin \ - --libdir=/usr/lib \ - --datadir=/usr/share \ - --includedir=/usr/include \ - --with-udevdir=/usr/lib/udev \ - --libexecdir=/usr/lib/zfs \ - --with-config=user - make -} - -package_zfs-dkms() { - pkgdesc="Kernel modules for the Zettabyte File System." - depends=("spl-dkms=${pkgver}" "zfs-utils=${pkgver}-${pkgrel}" "dkms") - provides=("zfs") - conflicts=("zfs-git" "zfs-lts") + patch -p1 -i ../0001-only-build-the-module-in-dkms.conf.patch - dkmsdir="${pkgdir}/usr/src/zfs-${pkgver}" - install -d "${dkmsdir}" - cp -a ${srcdir}/zfs/. ${dkmsdir} + # remove unneeded sections from module build + sed -ri "/AC_CONFIG_FILES/,/]\)/{ +/AC_CONFIG_FILES/n +/]\)/n +/^\s*(module\/.*)?(${pkgname%-dkms}.release|Makefile)/!d +}" configure.ac - cd "${dkmsdir}" - make clean - make distclean - find . -name ".git*" -print0 | xargs -0 rm -fr -- - scripts/dkms.mkconf -v ${pkgver} -f dkms.conf -n zfs - chmod g-w,o-w -R . + autoreconf -fi } -package_zfs-utils() { - pkgdesc="Kernel module support files for the Zettabyte File System." - conflicts=("zfs-utils-git" "zfs-utils-lts") - - cd "${srcdir}/zfs" - make DESTDIR="${pkgdir}" install - install -D -m644 contrib/bash_completion.d/zfs "${pkgdir}"/usr/share/bash-completion/completions/zfs - - # Remove uneeded files - rm -r "${pkgdir}"/etc/init.d - rm -r "${pkgdir}"/usr/lib/dracut - rm -r "${pkgdir}"/usr/share/initramfs-tools +package() { + cd "${srcdir}"/${pkgname%-dkms} - install -D -m644 "${srcdir}"/zfs.initcpio.hook "${pkgdir}"/usr/lib/initcpio/hooks/zfs - install -D -m644 "${srcdir}"/zfs.initcpio.install "${pkgdir}"/usr/lib/initcpio/install/zfs + dkmsdir="${pkgdir}/usr/src/${pkgname%-dkms}-${pkgver}" + install -d "${dkmsdir}"/{config,scripts} + cp -a configure Makefile.in META ${pkgname%-dkms}_config.h.in ${pkgname%-dkms}.release.in include/ module/ "${dkmsdir}"/ + cp config/config.* config/missing config/*sh "${dkmsdir}"/config/ + cp scripts/enum-extract.pl scripts/dkms.postbuild "${dkmsdir}"/scripts/ - mkdir -p "${pkgdir}"/usr/lib/initcpio/install + ./scripts/dkms.mkconf -n ${pkgname%-dkms} -v ${pkgver} -f "${dkmsdir}"/dkms.conf } -- cgit v1.2.1