aports/main/zfs-lts/APKBUILD
2025-05-02 13:56:06 +02:00

114 lines
2.7 KiB
Text

# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
# when changing _ver we *must* bump _rel
_name=zfs
_ver=2.3.1
_rel=0
# when changing _kver make sure _krel=0 & _rel=0
_flavor=${FLAVOR:-lts}
_kpkg=linux-$_flavor
_kver=6.12.26
_krel=1
_kpkgver="$_kver-r$_krel"
# for custom kernels set $FLAVOR
case $CARCH in
x86|x86_64|aarch64) _extra_flavors="virt";;
esac
_kpkg=linux-$_flavor
_kabi="$_kver-$_krel-$_flavor"
pkgname=$_name-$_flavor
pkgver=$_kver
pkgrel=$(( _krel + _rel ))
pkgdesc="ZFS Linux kernel modules"
url="https://openzfs.org"
arch="all !armhf" # limited by linux-lts
license="CDDL-1.0"
provides="spl-vanilla=$pkgver-r$pkgrel" # Mitigate upgrade conflicts
depends="$_kpkg=$_kpkgver"
depends_dev="glib-dev e2fsprogs-dev util-linux-dev libtirpc-dev
$_kpkg-dev=$_kpkgver"
makedepends="$depends_dev linux-headers"
install_if="zfs $_kpkg=$_kpkgver"
subpackages="$pkgname-dev"
source="https://github.com/openzfs/zfs/releases/download/zfs-$_ver/zfs-$_ver.tar.gz"
builddir="$srcdir/$_name-$_ver"
options="!check"
# secfixes:
# 2.2.1-r1:
# - CVE-2023-49298
for f in $_extra_flavors; do
makedepends="$makedepends linux-$f-dev=$_kpkgver"
subpackages="$subpackages zfs-$f:_extra"
done
prepare() {
default_prepare
# verify the kernel version
local _kapkbuild="$startdir"/../../main/linux-$_flavor-/APKBUILD
if [ -f $_kapkbuild ]; then
( . $_kapkbuild
pkgname=$_name-$_flavor
[ "$_kver" != "$pkgver" ] && die "please update _kver to $pkgver"
[ "$_krel" != "$pkgrel" ] && die "please update _krel to $pkgrel"
return 0
)
fi
}
build() {
local flavor= kabi=
for flavor in $_flavor $_extra_flavors; do
kabi="$_kver-$_krel-$flavor"
cp -a -l "$builddir" "$srcdir"/$kabi
( cd "$srcdir"/$kabi
./configure --prefix=/usr \
--with-tirpc \
--sysconfdir=/etc \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--localstatedir=/var \
--with-config=kernel \
--with-linux=/usr/src/linux-headers-$kabi
make
)
done
}
package() {
local flavor= kabi=
for flavor in $_flavor $_extra_flavors; do
kabi="$_kver-$_krel-$flavor"
(cd "$srcdir"/$kabi && make DESTDIR="$pkgdir" install)
done
}
_extra() {
local flavor=${subpkgname##*-}
depends="linux-$flavor=$_kpkgver"
install_if="zfs linux-$flavor=$_kpkgver"
pkgdesc="ZFS Linux kernel modules for $flavor"
kabi="$_kver-$_krel-$flavor"
mkdir -p "$subpkgdir"/lib/modules
mv "$pkgdir"/lib/modules/$kabi "$subpkgdir"/lib/modules
}
dev() {
mkdir -p "$subpkgdir"/usr
mv "$pkgdir"/usr/src "$subpkgdir"/usr
default_dev
}
sha512sums="
235023dbe97b3f7c5273e2a6fa34957cc37967256845d4ed9faa2e2a6da29ea6fdcba4167658cf03129afbb0aa11311a760d3d0b5ea5aecc64a4c7ee22ad2d31 zfs-2.3.1.tar.gz
"