diff --git a/.braids.json b/.braids.json index 62bf795..03deb25 100644 --- a/.braids.json +++ b/.braids.json @@ -16,6 +16,11 @@ "branch": "master", "revision": "ea6aeca101aa866895617ddb007ccb703c2ffa6d" }, + "zfs-dkms-git": { + "url": "https://aur.archlinux.org/zfs-dkms-git.git", + "branch": "master", + "revision": "80cc019ebf648aca56a4e9fbd273f575d2396465" + }, "zfs-utils": { "url": "https://aur.archlinux.org/zfs-utils.git", "branch": "master", diff --git a/zfs-dkms-git/.SRCINFO b/zfs-dkms-git/.SRCINFO new file mode 100644 index 0000000..12f28a8 --- /dev/null +++ b/zfs-dkms-git/.SRCINFO @@ -0,0 +1,27 @@ +pkgbase = zfs-dkms-git + pkgdesc = Kernel modules for the Zettabyte File System. + pkgver = 2.1.99.r1389.g48cf170d5a + pkgrel = 1 + epoch = 2 + url = https://zfsonlinux.org/ + arch = x86_64 + groups = zfs-git + license = CDDL + makedepends = git + provides = ZFS-MODULE=2.1.99.r1389.g48cf170d5a + provides = SPL-MODULE=2.1.99.r1389.g48cf170d5a + provides = zfs-dkms=2.1.99.r1389.g48cf170d5a + provides = spl-dkms + conflicts = zfs-dkms + conflicts = spl-dkms + replaces = spl-dkms-git + source = git+https://github.com/openzfs/zfs.git + source = 0001-only-build-the-module-in-dkms.conf.patch + sha256sums = SKIP + sha256sums = 539f325e56443554f9b87baff33948b91a280ec1daadcb0c636b105252fcd0f5 + b2sums = SKIP + b2sums = a8ab5da81d214e7801f0f8cdf77c076c714a3f17292df15ca35fcf7aef2c4d505348797e3b1da7590ea303ff488490ddba49e6f9e3f8a0bcc975894d51d97c2b + +pkgname = zfs-dkms-git + depends = zfs-utils-git=2:2.1.99.r1389.g48cf170d5a + depends = dkms diff --git a/zfs-dkms-git/.gitignore b/zfs-dkms-git/.gitignore new file mode 100644 index 0000000..c3e43b1 --- /dev/null +++ b/zfs-dkms-git/.gitignore @@ -0,0 +1,5 @@ +zfs +src +pkg +*.pkg.* +*.log diff --git a/zfs-dkms-git/0001-only-build-the-module-in-dkms.conf.patch b/zfs-dkms-git/0001-only-build-the-module-in-dkms.conf.patch new file mode 100644 index 0000000..2efd98c --- /dev/null +++ b/zfs-dkms-git/0001-only-build-the-module-in-dkms.conf.patch @@ -0,0 +1,43 @@ +From 00ff63ea9cdf92539b36bde81b7df3e70eb05480 Mon Sep 17 00:00:00 2001 +From: Yurii Kolesnykov +Date: Fri, 27 May 2022 04:04:02 +0300 +Subject: [PATCH] only build the module in dkms.conf + +Signed-off-by: Yurii Kolesnykov +Co-authored-by: Eli Schwartz +--- + scripts/dkms.mkconf | 11 ++--------- + 1 file changed, 2 insertions(+), 9 deletions(-) + +diff --git a/scripts/dkms.mkconf b/scripts/dkms.mkconf +index 0bd3834204..e33f637260 100755 +--- a/scripts/dkms.mkconf ++++ b/scripts/dkms.mkconf +@@ -28,14 +28,7 @@ NO_WEAK_MODULES="yes" + PRE_BUILD="configure + --prefix=/usr + --with-config=kernel +- --with-linux=\$( +- if [ -e "\${kernel_source_dir/%build/source}" ] +- then +- echo "\${kernel_source_dir/%build/source}" +- else +- echo "\${kernel_source_dir}" +- fi +- ) ++ --with-linux=\${kernel_source_dir} + --with-linux-obj="\${kernel_source_dir}" + \$( + [[ -n \"\${ICP_ROOT}\" ]] && \\ +@@ -68,7 +61,7 @@ POST_BUILD="scripts/dkms.postbuild + -t \${dkms_tree} + " + AUTOINSTALL="yes" +-MAKE[0]="make" ++MAKE[0]="make -C module/" + STRIP[0]="\$( + [[ -r \${PACKAGE_CONFIG} ]] \\ + && source \${PACKAGE_CONFIG} \\ +-- +2.36.1 + diff --git a/zfs-dkms-git/PKGBUILD b/zfs-dkms-git/PKGBUILD new file mode 100644 index 0000000..111d8af --- /dev/null +++ b/zfs-dkms-git/PKGBUILD @@ -0,0 +1,64 @@ +# Maintainer: Yurii Kolesnykov +# Contributor: Eli Schwartz +# Contributor: Iacopo Isimbaldi + +# PRs are welcome: https://github.com/yurikoles-aur/zfs-dkms-git + +pkgname=zfs-dkms-git +pkgver=2.1.99.r1389.g48cf170d5a +pkgrel=1 +epoch=2 +pkgdesc='Kernel modules for the Zettabyte File System.' +arch=('x86_64') +url='https://zfsonlinux.org/' +license=('CDDL') +groups=('zfs-git') +makedepends=('git') +provides=("ZFS-MODULE=${pkgver}" "SPL-MODULE=${pkgver}" "${pkgname%-git}=${pkgver}" 'spl-dkms') +conflicts=("${pkgname%-git}" 'spl-dkms') +replaces=('spl-dkms-git') +source=("git+https://github.com/openzfs/zfs.git" + "0001-only-build-the-module-in-dkms.conf.patch") +sha256sums=('SKIP' + '539f325e56443554f9b87baff33948b91a280ec1daadcb0c636b105252fcd0f5') +b2sums=('SKIP' + 'a8ab5da81d214e7801f0f8cdf77c076c714a3f17292df15ca35fcf7aef2c4d505348797e3b1da7590ea303ff488490ddba49e6f9e3f8a0bcc975894d51d97c2b') + +pkgver() { + cd zfs + + git describe --long | sed 's/^zfs-//;s/-rc/rc/;s/\([^-]*-g\)/r\1/;s/-/./g' +} + +prepare() { + cd 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 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() { + depends=("zfs-utils-git=${epoch}:${pkgver}" 'dkms') + dkmsdir="${pkgdir}/usr/src/zfs-${pkgver}" + install -d "${dkmsdir}" + cp -a zfs/. "${dkmsdir}" + rm -rf "${dkmsdir}"/.git* +}