diff options
author | Eli Schwartz | 2020-03-18 15:48:12 -0400 |
---|---|---|
committer | Eli Schwartz | 2020-04-02 12:15:14 -0400 |
commit | 7349ad27e42cc5faedf147ceeaf5c571c48d14f9 (patch) | |
tree | 0c48c49d22f9742b750b43da0c6965b87f2d9923 /PKGBUILD | |
parent | b8e29761ecb8060305cf24530cedc3f29bc248e0 (diff) | |
download | aur-7349ad27e42cc5faedf147ceeaf5c571c48d14f9.tar.gz |
upgpkg: zfs-dkms-git 0.8.0.r709.g5a42ef04f-1
This package is atrocious and completely unacceptable as-is. It claims
to be a git package, but uses pinned sources, and the packager has
simply ignored this for 15 months now.
The version number is honestly bonkers, it distributes tons of garbage,
and it's full of pseudocode from archzfs's questionable maintenance
scripts. Nuke it all and replace it with parallel code from zfs-dkms.
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 89 |
1 files changed, 57 insertions, 32 deletions
@@ -1,41 +1,66 @@ -# Maintainer: Jan Houben <jan@nexttrex.de> -# Contributor: Jesus Alvarez <jeezusjr at gmail dot com> -# -# This PKGBUILD was generated by the archzfs build scripts located at -# -# http://github.com/archzfs/archzfs -# -pkgname="zfs-dkms-git" -_commit='0929c4de398606f8305057ca540cf577e6771c30' -pkgdesc="Kernel modules for the Zettabyte File System." +# Maintainer: Eli Schwartz <eschwartz@archlinux.org> +# Contributor: Iacopo Isimbaldi <isiachi@rhye.it> -pkgver=2020.03.31.r5836.g0929c4de3 +pkgname=zfs-dkms-git +pkgver=0.8.0.r709.g5a42ef04f pkgrel=1 -makedepends=("git") -arch=("x86_64") +epoch=1 +pkgdesc="Kernel modules for the Zettabyte File System." +arch=('any') url="https://zfsonlinux.org/" -source=("git+https://github.com/zfsonlinux/zfs.git#commit=${_commit}" - "linux-5.5-compat-blkg_tryget.patch") -sha256sums=("SKIP" - "daae58460243c45c2c7505b1d88dcb299ea7d92bcf3f41d2d30bc213000bb1da") -license=("CDDL") -depends=("zfs-utils-git=${pkgver}" "lsb-release" "dkms") -provides=("zfs" "zfs-headers" "spl" "spl-headers") -groups=("archzfs-dkms-git") -conflicts=("zfs" "zfs-headers" "spl" "spl-headers") -replaces=("spl-dkms-git") +license=('CDDL') +makedepends=('git') +conflicts=("${pkgname%-git}" 'spl-dkms') +provides=("ZFS-MODULE=${pkgver}" "SPL-MODULE=${pkgver}" "${pkgname%-git}=${pkgver}" 'spl-dkms') +# ambiguous, provided for backwards compat, pls don't use +provides+=('zfs') +replaces=('spl-dkms-git') +source=("git+https://github.com/zfsonlinux/zfs.git" + "0001-only-build-the-module-in-dkms.conf.patch") +sha256sums=('SKIP' + '780e590383fb00389c5e02ac15709b7a476d9e07d3c4935ed9eb67c951a88409') +b2sums=('SKIP' + '1fdae935043d979b9241f07f8baa25a9a0367c24c31c84a59dfe8d6b468a523d8f49b68da3c7fd3194db6638f9d7bef046fc5e2669ce25d73c65009c16bf6c50') + +pkgver() { + cd "${srcdir}"/zfs + + git describe --long | sed 's/^zfs-//;s/\([^-]*-g\)/r\1/;s/-/./g' +} + +prepare() { + cd "${srcdir}"/zfs + + patch -p1 -i ../0001-only-build-the-module-in-dkms.conf.patch + + # remove unneeded sections from module build + sed -ri "/AC_CONFIG_FILES/,/]\)/{ +/AC_CONFIG_FILES/n +/]\)/n +/^\s*(module\/.*)?(zfs.release|Makefile)/!d +}" configure.ac + + autoreconf -fi +} build() { - cd "${srcdir}/zfs" - ./autogen.sh + cd "${srcdir}"/zfs + + ./scripts/dkms.mkconf -n zfs -v ${pkgver} -f dkms.conf + # update metadata + ./scripts/make_gitrev.sh + _meta_release=${pkgver#*.r} + sed -i -e "s/Release:[[:print:]]*/Release: ${_meta_release/./_}/" META } package() { - dkmsdir="${pkgdir}/usr/src/zfs-git" - install -d "${dkmsdir}" - cp -a ${srcdir}/zfs/. ${dkmsdir} - cd "${dkmsdir}" - find . -name ".git*" -print0 | xargs -0 rm -fr -- - scripts/dkms.mkconf -v git -f dkms.conf -n zfs - chmod g-w,o-w -R . + depends=("zfs-utils-git=${epoch}:${pkgver}" 'dkms') + + cd "${srcdir}"/zfs + + dkmsdir="${pkgdir}/usr/src/zfs-${pkgver}" + install -d "${dkmsdir}"/{config,scripts} + cp -a configure dkms.conf Makefile.in META zfs_config.h.in zfs.release.in include/ module/ "${dkmsdir}"/ + cp config/config.* config/missing config/*sh "${dkmsdir}"/config/ + cp scripts/enum-extract.pl scripts/dkms.postbuild "${dkmsdir}"/scripts/ } |