summaryrefslogtreecommitdiff
path: root/main/zfs/APKBUILD
blob: cb92be20a3b306e1714d6b65a1e660d80a63f937 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=zfs
pkgver=2.1.6
pkgrel=1
pkgdesc="Advanced filesystem and volume manager"
url="https://openzfs.org"
arch="all"
license="CDDL-1.0"
provides="spl=$pkgver-r$pkgrel" # Mitigate upgrade conflicts
depends_dev="attr-dev e2fsprogs-dev glib-dev libtirpc-dev openssl-dev>3 util-linux-dev"
makedepends="$depends_dev automake autoconf libtool linux-headers python3-dev py3-cffi py3-setuptools py3-distlib"
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/openzfs/zfs/releases/download/zfs-$pkgver/zfs-$pkgver.tar.gz
	dont-fsck-or-mount-umount-fstab-entries.patch
	"

prepare() {
	default_prepare
	autoreconf -vif
}

build() {
	export CFLAGS="$CFLAGS -fno-tree-vectorize"
	export CXXFLAGS="$CXXFLAGS -fno-tree-vectorize"
	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() {
	make DESTDIR="$pkgdir" install
	rm -rf "$pkgdir"/usr/share/initramfs-tools

	# Fix permissions of zfs OpenRC service configuration (#13840)
	chmod 644 "$pkgdir"/etc/conf.d/zfs
}

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="
75639e4cecb281fe73a6e6bd116693f6609ace9b358385450297d175087b10938c2f489a08c657cf0a64250a8db995cbd19abc808a8523cb4c5344b3f76668d6  zfs-2.1.6.tar.gz
3c2ffea6a6ea05a9953b965989198801d3528f281f9099401836fbdcdbae4f439ae65e3e68096ca7d9de7c39681aca3aa9cd71885fe14cfe17539fdd744a9925  dont-fsck-or-mount-umount-fstab-entries.patch
"