diff options
Diffstat (limited to 'main/zfs-lts/APKBUILD')
-rw-r--r-- | main/zfs-lts/APKBUILD | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/main/zfs-lts/APKBUILD b/main/zfs-lts/APKBUILD new file mode 100644 index 00000000000..b0694e68083 --- /dev/null +++ b/main/zfs-lts/APKBUILD @@ -0,0 +1,117 @@ +# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> + +# when changing _ver we *must* bump _rel +_name=zfs +_ver=2.2.3 +_rel=0 +# when changing _kver make sure _krel=0 & _rel=0 +_flavor=${FLAVOR:-lts} +_kpkg=linux-$_flavor +_kver=6.6.28 +_krel=0 + +_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 !riscv64" # 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 + aarch64-disable-neon.patch + " +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" + mkdir -p "$kabi" + (cd $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 $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=" +e6c3df531a33f4bd198429e61b7630f1e965a03fd60d1b847bdf0d55c6d2af3abc38b5e8a63aa9ef9f969cc7eca36cb24a7641f6fb8c41ef2fa024d76cd28f3d zfs-2.2.3.tar.gz +18966558e213b7516d3359884ced72618956db401cac32306662fa6304d3e31a28b030adcc8678704a30e6bbdee28120b2c6125e8285afacbb11a1645b39695a aarch64-disable-neon.patch +" |