# Contributor: Sören Tempel # Maintainer: Natanael Copa pkgname=cryptsetup pkgver=2.6.1 pkgrel=8 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 cryptsetup-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/ # mandoc does not support the .so directive which replace the # content of a man page with that of another. cryptsetup uses # several man pages which just contain an .so directive. Replace # these with symlinks to make them work by default in mandoc. # # See https://inbox.vuxu.org/mandoc-tech/20101024194129.GJ20876@iris.usta.de/#r grep -l -R '^\.so ' "$pkgdir"/usr/share/man | \ xargs awk '/^\.so/ { system("ln -fs " $2 " " FILENAME) }' } libs() { pkgdesc="Cryptsetup shared library" amove /lib } sha512sums=" 91f4570e7398f3aa68d4f029d734731867530f839634a1a8b23b3722b32ecfd41266e2da0404360881557022b092857eed761840f233ce9676348d426b3682a0 cryptsetup-2.6.1.tar.gz 499b75b7766d9461ccecd5e2fac5f00d834b1ca43d9b2f79ca37f277701f85986637f299e3424bbf10e73a1add03e4d99a508d58bf72a738a5ce4b50b3c660fe dmcrypt.initd 74422d5e1614b43af894ea01da1ea80d805ec7f77981cbb80a6b1a4becad737a8825d7269812499095a7f50d39fa7da5bf4e4edae63529b1fe87b9176943a733 dmcrypt.confd "