aboutsummaryrefslogtreecommitdiffstats
path: root/main/zfs-lts/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'main/zfs-lts/APKBUILD')
-rw-r--r--main/zfs-lts/APKBUILD117
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
+"