summaryrefslogtreecommitdiffstats
path: root/.github/setup_ci.sh
blob: 593e8ef13a6360c785b80db1c517c27dd949f3a4 (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
#!/usr/bin/env bash

case $(./config.guess) in
*-darwin*)
	brew install automake
	exit 0
	;;
esac

TARGETS=$@

PACKAGES=""
INSTALL_FIDO_PPA="no"

#echo "Setting up for '$TARGETS'"

set -ex

lsb_release -a

for TARGET in $TARGETS; do
    case $TARGET in
    ""|--without-openssl|--without-zlib)
        # nothing to do
        ;;
    "--with-kerberos5")
        PACKAGES="$PACKAGES heimdal-dev"
        #PACKAGES="$PACKAGES libkrb5-dev"
        ;;
    "--with-libedit")
        PACKAGES="$PACKAGES libedit-dev"
        ;;
    "--with-pam")
        PACKAGES="$PACKAGES libpam0g-dev"
        ;;
    "--with-security-key-builtin")
        INSTALL_FIDO_PPA="yes"
        PACKAGES="$PACKAGES libfido2-dev libu2f-host-dev"
        ;;
    "--with-selinux")
        PACKAGES="$PACKAGES libselinux1-dev selinux-policy-dev"
        ;;
    "--with-ldflags=-lhardened_malloc")
        INSTALL_HARDENED_MALLOC=yes
       ;;
    *) echo "Invalid option '${TARGET}'"
        exit 1
        ;;
    esac
done

if [ "yes" == "$INSTALL_FIDO_PPA" ]; then
    sudo apt update -qq
    sudo apt install software-properties-common
    sudo apt-add-repository ppa:yubico/stable
fi

if [ "x" != "x$PACKAGES" ]; then 
    sudo apt update -qq
    sudo apt install -qy $PACKAGES
fi

if [ "${INSTALL_HARDENED_MALLOC}" = "yes" ]; then
    (cd ${HOME} &&
     git clone https://github.com/GrapheneOS/hardened_malloc.git &&
     cd ${HOME}/hardened_malloc &&
     make && sudo cp libhardened_malloc.so /usr/lib/)
fi