Imported Upstream version 2.6.1
[platform/upstream/cryptsetup.git] / .gitlab / ci / cibuild-setup-ubuntu.sh
1 #!/bin/bash
2
3 set -ex
4
5 PACKAGES=(
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
10         asciidoctor
11 )
12
13 COMPILER="${COMPILER:?}"
14 COMPILER_VERSION="${COMPILER_VERSION:?}"
15
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
19
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)"
23
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"
32
33         # scan-build
34         PACKAGES+=(clang-tools-$COMPILER_VERSION clang-$COMPILER_VERSION lldb-$COMPILER_VERSION lld-$COMPILER_VERSION clangd-$COMPILER_VERSION)
35         PACKAGES+=(perl)
36 else
37         exit 1
38 fi
39
40 apt-get -y update --fix-missing
41 DEBIAN_FRONTEND=noninteractive apt-get -yq install "${PACKAGES[@]}"
42 apt-get -y build-dep cryptsetup
43
44 echo "====================== VERSIONS ==================="
45 if [[ $COMPILER == "clang" ]]; then
46         echo "Using scan-build${COMPILER_VERSION:+-$COMPILER_VERSION}"
47 fi
48
49 ${COMPILER}-$COMPILER_VERSION -v
50 echo "====================== END VERSIONS ==================="