96 lines
2.8 KiB
Bash
96 lines
2.8 KiB
Bash
# Template file for 'zfs'
|
|
pkgname=zfs
|
|
version=2.0.4
|
|
revision=3
|
|
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"
|
|
conf_files="/etc/zfs/zed.d/zed.rc"
|
|
short_desc="Z File System -- userland, pyzfs, and kernel modules (using DKMS)"
|
|
maintainer="Toyam Cox <Vaelatern@voidlinux.org>"
|
|
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=7d1344c5433b91823f02c2e40b33d181fa6faf286bea5591f4b1965f23d45f6c
|
|
# 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
|
|
|
|
post_patch() {
|
|
# When collecting a "clean" tree for DKMS, don't leave patches in place
|
|
local _f
|
|
for _f in "${XBPS_SRCPKGDIR}/${pkgname}"/patches/*.patch; do
|
|
rm -f "${_f##*/}"
|
|
done
|
|
}
|
|
|
|
pre_configure() {
|
|
export CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/include/tirpc/"
|
|
autoreconf -fi
|
|
|
|
tar czf ../clean.tar.gz .
|
|
}
|
|
|
|
post_install() {
|
|
vlicense COPYRIGHT
|
|
vlicense LICENSE
|
|
vlicense NOTICE
|
|
|
|
vsv zed
|
|
|
|
vmkdir usr/src/${pkgname}-${version}
|
|
tar xf ../clean.tar.gz -C ${DESTDIR}/usr/src/${pkgname}-${version}
|
|
scripts/dkms.mkconf -v ${version} -f ${DESTDIR}/usr/src/${pkgname}-${version}/dkms.conf -n zfs
|
|
|
|
# Remove init and service control pieces not used in Void
|
|
rm -rf ${DESTDIR}/usr/lib/systemd
|
|
rm -rf ${DESTDIR}/usr/share/initramfs-tools
|
|
rm -rf ${DESTDIR}/etc/init.d
|
|
rm -rf ${DESTDIR}/etc/default
|
|
rm -f ${DESTDIR}/etc/zfs/zfs-functions
|
|
|
|
# Remove pam config framework file not used in Void
|
|
rm -f ${DESTDIR}/usr/share/pam-configs/zfs_key
|
|
|
|
# zfs-mount-generator is a systemd helper, no need for its man page
|
|
rm -f ${DESTDIR}/usr/share/man/man8/zfs-mount-generator.8
|
|
|
|
# Contains ELF binaries. Remove it until upstream has a way to move this
|
|
# into /usr/libexec or similiar.
|
|
rm -rf ${DESTDIR}/usr/share/zfs/zfs-tests
|
|
}
|
|
|
|
zfs-devel_package() {
|
|
depends="${sourcepkg}>=${version}_${revision}"
|
|
short_desc="Z File System -- development files"
|
|
pkg_install() {
|
|
vmove usr/include
|
|
vmove "usr/lib/*.a"
|
|
vmove "usr/lib/*.so"
|
|
vmove usr/lib/pkgconfig
|
|
}
|
|
}
|
|
|
|
zfs-pam_package() {
|
|
depends="${sourcepkg}>=${version}_${revision}"
|
|
short_desc="Z File System -- PAM integration"
|
|
pkg_install() {
|
|
vmove usr/lib/security/pam_zfs_key.so
|
|
}
|
|
}
|
|
|
|
|
|
do_clean() {
|
|
rm -f ../clean.tar.gz
|
|
}
|
|
|
|
# REMARKS:
|
|
# Did not split out pyzfs, because it's distributed with zfs, and no reason to
|
|
# send separately.
|