aboutsummaryrefslogblamecommitdiffstats
path: root/main/zfs-lts/APKBUILD
blob: 6db46c0b7b4e2b1af0eb68d9622957cf008d681b (plain) (tree)
1
2
3
4
5
6
7
8
9
10
                                                           



                                                   
          
      


                      

             

                         


                                
              
                                                   

    
                    






                              
                            





                                                               
 


                                                                  
                                                                                    

                               




                                                         


                                   
                                                            












                                                                                         


                                                  


                                            






                                                                 
 
                    
                 
            



                      




                                                            

 
          
                                      
                                         
                                                

                                                           


                                                               

 





                                             


                                                                                                                                                  
# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>

# when changing _ver we *must* bump _rel
_name=zfs
_ver=2.0.3
_rel=0

_flavor=${FLAVOR:-lts}
_kpkg=linux-$_flavor
_kver=5.10.64
_krel=0

_kpkgver="$_kver-r$_krel"

# for custom kernels set $FLAVOR
_extra_flavors=
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 for Linux"
url="https://zfsonlinux.org"
arch="x86 x86_64 aarch64 ppc64le"
license="CDDL-1.0"
provides="spl-vanilla" # Mitigate upgrade conflicts
depends="$_kpkg=$_kpkgver"
depends_dev="glib-dev e2fsprogs-dev util-linux-dev libtirpc-dev
	$_kpkg-dev=$_kpkgver"

makedepends="$depends_dev automake autoconf libtool 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"

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=../../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
	autoreconf -vif
}

build() {
	cd "$builddir"
	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() {
	cd "$builddir"
	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 for 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="
8b2a6e0edfb3c85441076b2c6163ad3d7d239e11db128ab74d60bf8dc802d67b7f5b8d1cc7227316a7dc3917f14e9ac072ebf1583957f2a45c1b8438e4068200  zfs-2.0.3.tar.gz
"