summaryrefslogtreecommitdiff
path: root/main/cryptsetup/APKBUILD
blob: 2499d601a47c0cfe64f40a521fdbaa1fe0d25458 (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
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=cryptsetup
pkgver=2.6.1
pkgrel=4
pkgdesc="Userspace setup tool for transparent encryption of block devices using the Linux 2.6 cryptoapi"
url="https://gitlab.com/cryptsetup/cryptsetup"
arch="all"
license="GPL-2.0-or-later WITH OpenSSL-Exception"
makedepends_build="asciidoctor bash coreutils"
makedepends_host="
	argon2-dev
	json-c-dev
	lvm2-dev
	openssl-dev>3
	popt-dev
	util-linux-dev
	"
makedepends="$makedepends_build $makedepends_host"
checkdepends="device-mapper which sharutils"
subpackages="$pkgname-dev $pkgname-doc $pkgname-libs $pkgname-openrc"
source="https://www.kernel.org/pub/linux/utils/cryptsetup/v${pkgver%.*}/cryptsetup-$pkgver.tar.gz
	dmcrypt.initd
	dmcrypt.confd
	"

# secfixes:
#   2.4.3-r0:
#     - CVE-2021-4122
#   2.3.4-r0:
#     - CVE-2020-14382

build() {
	# Disable support for external tokens since it requires
	# dlvsym(3) which is a GNU extension and not available in musl.
	if [ -z "$BOOTSTRAP" ]; then
		export CFLAGS="$CFLAGS -flto=auto"
	fi
	./configure \
		--build="$CBUILD" \
		--host="$CHOST" \
		--prefix=/usr \
		--libdir=/lib \
		--sbindir=/sbin \
		--disable-static \
		--enable-libargon2 \
		--with-crypto_backend=openssl \
		--disable-external-tokens \
		--disable-ssh-token
	make
}

check() {
	make check
}

package() {
	make DESTDIR=$pkgdir install

	mkdir -p "$pkgdir"/usr/lib
	mv "$pkgdir"/lib/pkgconfig "$pkgdir"/usr/lib/

	install -Dm644 "$srcdir"/dmcrypt.confd "$pkgdir"/etc/conf.d/dmcrypt
	install -Dm755 "$srcdir"/dmcrypt.initd "$pkgdir"/etc/init.d/dmcrypt

	mkdir -p "$pkgdir"/usr/share/doc/$pkgname/
	install -m644 README.md FAQ.md docs/v$pkgver-ReleaseNotes \
		-t "$pkgdir"/usr/share/doc/$pkgname/
}

libs() {
	pkgdesc="Cryptsetup shared library"

	amove /lib
}

sha512sums="
91f4570e7398f3aa68d4f029d734731867530f839634a1a8b23b3722b32ecfd41266e2da0404360881557022b092857eed761840f233ce9676348d426b3682a0  cryptsetup-2.6.1.tar.gz
5315589102d6e7fac5fdee1230a4012d5548c1a7193a05a310eacdeaf709857d370359cae7ea437e3ca0591ffdb848c205c14d42017a1c5445cadaec2e8eb4a1  dmcrypt.initd
74422d5e1614b43af894ea01da1ea80d805ec7f77981cbb80a6b1a4becad737a8825d7269812499095a7f50d39fa7da5bf4e4edae63529b1fe87b9176943a733  dmcrypt.confd
"