6 git make autoconf automake autopoint pkg-config libtool libtool-bin
7 gettext libssl-dev libdevmapper-dev libpopt-dev uuid-dev libsepol-dev
8 libjson-c-dev libssh-dev libblkid-dev tar libargon2-0-dev libpwquality-dev
9 sharutils dmsetup jq xxd expect keyutils netcat passwd openssh-client sshpass
13 COMPILER="${COMPILER:?}"
14 COMPILER_VERSION="${COMPILER_VERSION:?}"
16 grep -E '^deb' /etc/apt/sources.list > /etc/apt/sources.list~
17 sed -Ei 's/^deb /deb-src /' /etc/apt/sources.list~
18 cat /etc/apt/sources.list~ >> /etc/apt/sources.list
20 apt-get -y update --fix-missing
21 DEBIAN_FRONTEND=noninteractive apt-get -yq install software-properties-common wget lsb-release
22 RELEASE="$(lsb_release -cs)"
24 if [[ $COMPILER == "gcc" ]]; then
25 # Latest gcc stack deb packages provided by
26 # https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test
27 add-apt-repository -y ppa:ubuntu-toolchain-r/test
28 PACKAGES+=(gcc-$COMPILER_VERSION)
29 elif [[ $COMPILER == "clang" ]]; then
30 wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
31 add-apt-repository "deb http://apt.llvm.org/${RELEASE}/ llvm-toolchain-${RELEASE}-${COMPILER_VERSION} main"
34 PACKAGES+=(clang-tools-$COMPILER_VERSION clang-$COMPILER_VERSION lldb-$COMPILER_VERSION lld-$COMPILER_VERSION clangd-$COMPILER_VERSION)
40 apt-get -y update --fix-missing
41 DEBIAN_FRONTEND=noninteractive apt-get -yq install "${PACKAGES[@]}"
42 apt-get -y build-dep cryptsetup
44 echo "====================== VERSIONS ==================="
45 if [[ $COMPILER == "clang" ]]; then
46 echo "Using scan-build${COMPILER_VERSION:+-$COMPILER_VERSION}"
49 ${COMPILER}-$COMPILER_VERSION -v
50 echo "====================== END VERSIONS ==================="