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