From: Frantisek Sumsal Date: Tue, 22 Feb 2022 13:43:40 +0000 (+0100) Subject: ci: fix clang-13 installation X-Git-Tag: v250.4~73 X-Git-Url: http://git-history.diyao.me/?a=commitdiff_plain;h=fa6e263273905cfc9e4528e8175ace3d19d881e3;p=systemd%2F.git ci: fix clang-13 installation For some reason Ubuntu Focal repositories now have `llvm-13` virtual package which can't be installed, but successfully fools our check, resulting in no clang/llvm being installed... ``` $ apt show llvm-13 Package: llvm-13 State: not a real package (virtual) N: Can't select candidate version from package llvm-13 as it has no candidate N: Can't select versions from package 'llvm-13' as it is purely virtual N: No packages found $ apt install --dry-run llvm-13 Reading package lists... Done Building dependency tree Reading state information... Done Package llvm-13 is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source E: Package 'llvm-13' has no installation candidate ``` (cherry picked from commit b491d74064f9d5e17a71b38b014434237169a077) --- diff --git a/.github/workflows/build_test.sh b/.github/workflows/build_test.sh index 549e59b2c9..5a173a18d5 100755 --- a/.github/workflows/build_test.sh +++ b/.github/workflows/build_test.sh @@ -78,12 +78,12 @@ if [[ "$COMPILER" == clang ]]; then # ATTOW llvm-11 got into focal-updates, which conflicts with llvm-11 # provided by the apt.llvm.org repositories. Let's use the system # llvm package if available in such cases to avoid that. - if ! apt show --quiet "llvm-$COMPILER_VERSION" &>/dev/null; then + if ! apt install --dry-run "llvm-$COMPILER_VERSION" >/dev/null; then # Latest LLVM stack deb packages provided by https://apt.llvm.org/ # Following snippet was partly borrowed from https://apt.llvm.org/llvm.sh wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | gpg --yes --dearmor --output /usr/share/keyrings/apt-llvm-org.gpg printf "deb [signed-by=/usr/share/keyrings/apt-llvm-org.gpg] http://apt.llvm.org/%s/ llvm-toolchain-%s-%s main\n" \ - "$RELEASE" "$RELEASE" "$COMPILER_VERSION" >/etc/apt/sources.list.d/llvm-toolchain.list + "$RELEASE" "$RELEASE" "$COMPILER_VERSION" >/etc/apt/sources.list.d/llvm-toolchain.list PACKAGES+=("clang-$COMPILER_VERSION" "lldb-$COMPILER_VERSION" "lld-$COMPILER_VERSION" "clangd-$COMPILER_VERSION") fi elif [[ "$COMPILER" == gcc ]]; then