From 0ba46483b4f4d89bb5d6e6ecded8b40a60a19056 Mon Sep 17 00:00:00 2001 From: Robert David Date: Thu, 23 Feb 2023 19:35:42 +0100 Subject: [PATCH] zfs: divide under subpackages --- srcpkgs/zfs-dkms | 1 + srcpkgs/zfs-test | 1 + srcpkgs/zfs-tools | 1 + srcpkgs/zfs-zed | 1 + srcpkgs/zfs/template | 93 ++++++++++++++++++++++++++++++++++++-------- 5 files changed, 81 insertions(+), 16 deletions(-) create mode 120000 srcpkgs/zfs-dkms create mode 120000 srcpkgs/zfs-test create mode 120000 srcpkgs/zfs-tools create mode 120000 srcpkgs/zfs-zed diff --git a/srcpkgs/zfs-dkms b/srcpkgs/zfs-dkms new file mode 120000 index 000000000000..eb97035e1184 --- /dev/null +++ b/srcpkgs/zfs-dkms @@ -0,0 +1 @@ +zfs \ No newline at end of file diff --git a/srcpkgs/zfs-test b/srcpkgs/zfs-test new file mode 120000 index 000000000000..eb97035e1184 --- /dev/null +++ b/srcpkgs/zfs-test @@ -0,0 +1 @@ +zfs \ No newline at end of file diff --git a/srcpkgs/zfs-tools b/srcpkgs/zfs-tools new file mode 120000 index 000000000000..eb97035e1184 --- /dev/null +++ b/srcpkgs/zfs-tools @@ -0,0 +1 @@ +zfs \ No newline at end of file diff --git a/srcpkgs/zfs-zed b/srcpkgs/zfs-zed new file mode 120000 index 000000000000..eb97035e1184 --- /dev/null +++ b/srcpkgs/zfs-zed @@ -0,0 +1 @@ +zfs \ No newline at end of file diff --git a/srcpkgs/zfs/template b/srcpkgs/zfs/template index ae975caf9dd9..e1dda74134cb 100644 --- a/srcpkgs/zfs/template +++ b/srcpkgs/zfs/template @@ -1,27 +1,25 @@ # Template file for 'zfs' pkgname=zfs version=2.1.9 -revision=1 +revision=2 build_style=gnu-configure configure_args="--with-config=user --with-mounthelperdir=/usr/bin --with-udevdir=/usr/lib/udev --with-udevruledir=/usr/lib/udev/rules.d --with-dracutdir=/usr/lib/dracut --with-tirpc" hostmakedepends="dracut libtool pkg-config python3 automake" -makedepends="pam-devel zlib-devel libuuid-devel libblkid-devel libtirpc-devel attr-devel" -depends="dkms>=2.2.0.3_9 perl python3 xbps-triggers>=0.121_1 - libzfs>=${version}_${revision}" -conf_files="/etc/zfs/zed.d/zed.rc" -short_desc="Z File System -- userland, pyzfs, and kernel modules (using DKMS)" +makedepends="pam-devel zlib-devel libuuid-devel libblkid-devel libtirpc-devel attr-devel eudev-libudev-devel" +short_desc="Z File System --" maintainer="Toyam Cox " license="CDDL-1.0" homepage="https://openzfs.github.io/openzfs-docs/" distfiles="https://github.com/openzfs/zfs/releases/download/zfs-${version}/zfs-${version}.tar.gz" checksum=6b172cdf2eb54e17fcd68f900fab33c1430c5c59848fa46fab83614922fe50f6 -# dkms must be before initramfs-regenerate to build modules before images -triggers="dkms initramfs-regenerate" -dkms_modules="zfs ${version}" -replaces="spl<=0.7.13_1" # Because SPL was merged into zfs in 0.8.0 +# the zfs-tools package needs to be done always the last! +subpackages="libzfs zfs-devel zfs-dkms zfs-pam zfs-test zfs-zed zfs-tools" + +# SPL was merged into zfs in 0.8.0 +replaces="spl<=0.7.13_1" if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then makedepends+=" libatomic-devel" @@ -37,8 +35,6 @@ post_install() { vlicense LICENSE vlicense NOTICE - vsv zed - make dist-gzip vmkdir usr/src/ tar xf ${pkgname}-${version}.tar.gz -C ${DESTDIR}/usr/src/ @@ -61,16 +57,23 @@ post_install() { rm -rf ${DESTDIR}/usr/share/zfs/zfs-tests } +zfs_package() { + short_desc+=" metapackage" + build_style=meta + depends="zfs-tools>=${version}_${revision} zfs-zed>=${version}_${revision} + libzfs>=${version}_${revision} zfs-dkms>=${version}_${revision}" +} + libzfs_package() { - short_desc="Z File System - libraries" + short_desc+=" libraries" pkg_install() { vmove "usr/lib/*.so.*" } } zfs-devel_package() { + short_desc+=" development files" depends="libzfs>=${version}_${revision}" - short_desc="Z File System -- development files" pkg_install() { vmove usr/include vmove "usr/lib/*.a" @@ -79,14 +82,72 @@ zfs-devel_package() { } } +zfs-dkms_package() { + short_desc+=" kernel module (dkms)" + depends="dkms>=2.2.0.3_9 xbps-triggers>=0.121_1" + + # dkms must be before initramfs-regenerate to build modules before images + triggers="dkms initramfs-regenerate" + dkms_modules="zfs ${version}" + + pkg_install() { + vmove usr/src + } +} + zfs-pam_package() { - depends="${sourcepkg}>=${version}_${revision}" - short_desc="Z File System -- PAM integration" + short_desc+=" PAM integration" + depends="zfs-tools>=${version}_${revision}" pkg_install() { vmove usr/lib/security/pam_zfs_key.so } } +zfs-test_package() { + short_desc+=" tests" + depends="zfs-tools>=${version}_${revision}" + pkg_install() { + vmove usr/bin/raidz_test + vmove usr/bin/ztest + vmove usr/share/man/man1/raidz_test.1 + vmove usr/share/man/man1/test-runner.1 + vmove usr/share/man/man1/ztest.1 + vmove usr/share/zfs/runfiles + vmove usr/share/zfs/test-runner + vmove usr/share/zfs/zfs-tests.sh + vmove usr/share/zfs/zimport.sh + vmove usr/share/zfs/zloop.sh + } +} + +zfs-tools_package() { + short_desc+=" userland, pyzfs" + depends="libzfs>=${version}_${revision} python3" + + pkg_install() { + vmove etc/zfs + vmove etc/sudoers.d + vmove usr/bin + vmove usr/lib + vmove usr/libexec + vmove usr/share + } +} + +zfs-zed_package() { + short_desc+=" ZED" + depends="zfs-tools>=${version}_${revision}" + conf_files="/etc/zfs/zed.d/zed.rc" + pkg_install() { + vsv zed + + vmove etc/zfs/zed.d + vmove usr/bin/zed + vmove usr/libexec/zfs/zed.d + vmove usr/share/man/man8/zed.8 + } +} + # REMARKS: # Did not split out pyzfs, because it's distributed with zfs, and no reason to # send separately.