54 lines
1.4 KiB
Bash
Executable File
54 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -ex
|
|
|
|
# Xenial uses btrfs-tools, but since Focal it's btrfs-progs
|
|
#
|
|
PACKAGES=(
|
|
bc
|
|
btrfs-progs
|
|
dnsutils
|
|
libcap-ng-dev
|
|
libncursesw5-dev
|
|
libpam-dev
|
|
libudev-dev
|
|
gtk-doc-tools
|
|
mdadm
|
|
ntp
|
|
socat
|
|
asciidoctor
|
|
)
|
|
|
|
PACKAGES_OPTIONAL=(
|
|
libsystemd-daemon-dev
|
|
libsystemd-journal-dev
|
|
)
|
|
|
|
|
|
COMPILER="${COMPILER:?}"
|
|
COMPILER_VERSION="${COMPILER_VERSION:?}"
|
|
RELEASE="$(lsb_release -cs)"
|
|
|
|
bash -c "echo 'deb-src http://archive.ubuntu.com/ubuntu/ $RELEASE main restricted universe multiverse' >>/etc/apt/sources.list"
|
|
|
|
if [[ "$COMPILER" == clang ]]; then
|
|
# Latest LLVM stack deb packages provided by https://apt.llvm.org/
|
|
# Following snippet was borrowed from https://apt.llvm.org/llvm.sh
|
|
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
|
|
add-apt-repository -y "deb http://apt.llvm.org/$RELEASE/ llvm-toolchain-$RELEASE-$COMPILER_VERSION main"
|
|
PACKAGES+=(clang-$COMPILER_VERSION lldb-$COMPILER_VERSION lld-$COMPILER_VERSION clangd-$COMPILER_VERSION)
|
|
elif [[ "$COMPILER" == gcc ]]; then
|
|
# Latest gcc stack deb packages provided by
|
|
# https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test
|
|
add-apt-repository -y ppa:ubuntu-toolchain-r/test
|
|
PACKAGES+=(gcc-$COMPILER_VERSION)
|
|
else
|
|
fatal "Unknown compiler: $COMPILER"
|
|
fi
|
|
|
|
|
|
apt-get -y update --fix-missing
|
|
apt-get -y build-dep util-linux
|
|
apt-get -y install "${PACKAGES[@]}"
|
|
apt-get -y install "${PACKAGES_OPTIONAL[@]}" || true
|