void-packages/srcpkgs/zfs/template

102 lines
3.1 KiB
Bash

# Template file for 'zfs'
pkgname=zfs
version=2.2.4
revision=1
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 /usr/src/zfs-${version}/META"
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=9790905f7683d41759418e1ef3432828c31116654ff040e91356ff1c21c31ec0
# dkms must be before initramfs-regenerate to build modules before images
triggers="dkms initramfs-regenerate"
dkms_modules="zfs ${version}"
provides="zfs-${version}_${revision}"
replaces="spl<=0.7.13_1 zfs-lts>=0" # Because SPL was merged into zfs in 0.8.0
pre_configure() {
export CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/include/tirpc/"
autoreconf -fi
}
post_install() {
vlicense COPYRIGHT
vlicense LICENSE
vlicense NOTICE
vsv zed
make dist-gzip
vmkdir usr/src/
tar xf ${pkgname}-${version}.tar.gz -C ${DESTDIR}/usr/src/
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}/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
# move bash completions to a policy compliant directory
vmkdir usr/share/bash-completion/completions
mv ${DESTDIR}/etc/bash_completion.d/* \
${DESTDIR}/usr/share/bash-completion/completions
}
libzfs_package() {
short_desc="Z File System - libraries"
provides="libzfs-${version}_${revision}"
replaces="libzfs-lts>=0"
pkg_install() {
vmove "usr/lib/*.so.*"
}
}
zfs-devel_package() {
depends="libzfs>=${version}_${revision}"
short_desc="Z File System -- development files"
provides="zfs-devel-${version}_${revision}"
replaces="zfs-devel-lts>=0"
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"
provides="zfs-pam-${version}_${revision}"
replaces="zfs-pam-lts>=0"
pkg_install() {
vmove usr/lib/security/pam_zfs_key.so
}
}
# REMARKS:
# Did not split out pyzfs, because it's distributed with zfs, and no reason to
# send separately.