comparison crypto/cryptsetup/cryptsetup.sh @ 1100:68d397064a6b

crypto/cryptsetup: initial import, closes #1017
author David Demelier <markand@malikania.fr>
date Fri, 13 Sep 2019 13:52:29 +0200
parents
children 297b5eef115e
comparison
equal deleted inserted replaced
1099:e66a5e88a2d7 1100:68d397064a6b
1 #!/bin/busybox sh
2 #
3 # Copyright (c) 2019 David Demelier <markand@malikania.fr>
4 #
5 # Permission to use, copy, modify, and/or distribute this software for any
6 # purpose with or without fee is hereby granted, provided that the above
7 # copyright notice and this permission notice appear in all copies.
8 #
9 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 #
17
18 # TODO: add SELINUX option.
19
20 PKGNAME=cryptsetup
21 PKGVERSION=2.2.1
22 PKGREVISION=1
23 PKGLICENSE="GPLv20 LGPLv21"
24 PKGSUMMARY=" etup cryptographic volumes for dm-crypt (including LUKS extension)"
25 PKGDOWNLOAD="https://www.kernel.org/pub/linux/utils/$PKGNAME/v${PKGVERSION%.*}/$PKGNAME-$PKGVERSION.tar.xz"
26 PKGDEPENDS="argon2 json-c lvm2 popt util-linux"
27 PKGOPTIONS="NLS SSL UDEV"
28
29 : ${CHOST:=$(uname -m)-linux-musl}
30 : ${CBUILD:=$(uname -m)-linux-musl}
31 : ${CC:=clang}
32 : ${CFLAGS:=-O2}
33 : ${LDFLAGS:=}
34 : ${LIBS:=}
35 : ${NLS:=yes}
36 : ${SSL:=libressl} # Note: can be libressl (or yes), nettle, gnutls.
37 : ${UDEV:=yes}
38
39 if [ "$NLS" = "yes" ]; then
40 PKGDEPENDS="gettext $PKGDEPENDS"
41 with_nls="--enable-nls"
42 else
43 with_nls="--disable-nls"
44 fi
45
46 case $SSL in
47 "yes"|"libressl")
48 PKGDEPENDS="libressl $PKGDEPENDS"
49 with_ssl="--with-crypto_backend=openssl"
50 ;;
51 "nettle")
52 PKGDEPENDS="nettle $PKGDEPENDS"
53 with_ssl="--with-crypto_backend=nettle"
54 ;;
55 *)
56 with_ssl="--with-crypto_backend=kernel"
57 ;;
58 esac
59
60 if [ "$UDEV" = "yes" ]; then
61 PKGDEPENDS="eudev $PKGDEPENDS"
62 with_udev="--enable-udev"
63 else
64 with_udev="--disable-udev"
65 fi
66
67 build()
68 {
69 rm -rf $PKGNAME-$PKGVERSION
70 tar xvf $PKGNAME-$PKGVERSION.tar.xz
71 cd $PKGNAME-$PKGVERSION
72
73 CC="$CC" \
74 CFLAGS="$CFLAGS" \
75 LDFLAGS="$LDFLAGS" \
76 LIBS="$LIBS" \
77 ./configure \
78 --build=$CBUILD \
79 --host=$CHOST \
80 --prefix= \
81 --sbindir=/bin \
82 --disable-internal-argon2 \
83 --enable-libargon2 \
84 $with_nls \
85 $with_ssl \
86 $with_udev
87 make
88 make install DESTDIR=$DESTDIR
89 find $DESTDIR -type f -name "*.la" -delete
90
91 cd ..
92 rm -rf $PKGNAME-$PKGVERSION
93 }