# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=zfs
pkgver=0.8.3
pkgrel=1
pkgdesc="ZFS for Linux"
url="http://zfsonlinux.org"
arch="all !armhf !armv7"
license="CDDL-1.0"
provides="spl" # Mitigate upgrade conflicts
depends_dev="attr-dev e2fsprogs-dev glib-dev libtirpc-dev openssl-dev util-linux-dev"
makedepends="$depends_dev automake autoconf libtool linux-headers python3-dev py3-cffi"
options="!check" # need to be run on live system w/ ZFS loaded.
subpackages="$pkgname-dev $pkgname-doc $pkgname-openrc $pkgname-libs $pkgname-dracut::noarch
	$pkgname-udev $pkgname-scripts $pkgname-utils-py:utils_py:noarch py3-pyzfs:pyzfs:noarch"
source="https://github.com/zfsonlinux/zfs/releases/download/zfs-$pkgver/zfs-$pkgver.tar.gz"

prepare() {
	default_prepare
	autoreconf -vif

	# Upstream forgot to remove tainted files from the tarball...
	rm etc/init.d/zfs etc/init.d/zfs-functions
}

build() {
	cd "$builddir"
	export LIBS="$LIBS -lintl"
	./configure --prefix=/usr \
		--with-tirpc \
		--sysconfdir=/etc \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
		--localstatedir=/var \
		--with-config=user \
		--with-udevdir=/lib/udev \
		--disable-systemd \
		--disable-static \
		--with-python=3 \
		--enable-pyzfs
	make
}

package() {
	cd "$builddir"
	make DESTDIR="$pkgdir" install
	rm -rf "$pkgdir"/usr/share/initramfs-tools
	mv "$pkgdir"/usr/share/pkgconfig "$pkgdir"/usr/lib/
}

dracut() {
	pkgdesc="$pkgdesc (dracut)"
	mkdir -p "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/dracut "$subpkgdir"/usr/lib
}

udev() {
	pkgdesc="$pkgdesc (udev)"
	mkdir -p "$subpkgdir"/lib
	mv "$pkgdir"/lib/udev "$subpkgdir"/lib
}

scripts() {
	pkgdesc="$pkgdesc (scripts)"
	mkdir -p "$subpkgdir"/usr/share
	mv "$pkgdir"/usr/share/zfs "$subpkgdir"/usr/share
}

utils_py() {
	pkgdesc="$pkgdesc (python utils)"
	depends="python3"
	mkdir -p "$subpkgdir"/usr/bin
	local file
	for file in arc_summary arcstat dbufstat; do
		mv "$pkgdir"/usr/bin/$file "$subpkgdir"/usr/bin
	done
}

pyzfs() {
	pkgdesc="$pkgdesc (Python lib to interact with ZFS)"
	depends="python3 $pkgname"
	mkdir -p "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/python* "$subpkgdir"/usr/lib
}

sha512sums="aded632e6b04180560d4f2ff283260016e883dadae4e7fda9070b7113dee948099cb7a7b183f1c8139654389a2610fb9cc6f997acdc846040e605125cf016010  zfs-0.8.3.tar.gz"
