From 4407b772a06f7b35469ee1ca7d0073d6d8a23b9f Mon Sep 17 00:00:00 2001 From: Lessley Date: Mon, 8 Apr 2024 15:30:35 -0600 Subject: [PATCH] install-from-source: update libssl for alpine The `validate-install-from-source` workflow is currently failing [1]. According to [2] and [3], the solution is to upgrade the libssl version from 1.1 to 3, as version 1.1 is out of support. Since this version is only supported on Alpine 3.15 and later, we fail if a user attempts to run the `install-from-source.sh` script on an incompatible version. 1: https://github.com/git-ecosystem/git-credential-manager/actions/runs/8604126129 2: https://stackoverflow.com/questions/77640298/dockerfile-unable-to-select-packages-linux-alpine 3: https://learn.microsoft.com/en-us/dotnet/core/install/linux-alpine --- .../validate-install-from-source.yml | 26 +++++++++---------- .../Packaging.Linux/install-from-source.sh | 8 +++++- 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/.github/workflows/validate-install-from-source.yml b/.github/workflows/validate-install-from-source.yml index ff28dc85c2..5535bac833 100644 --- a/.github/workflows/validate-install-from-source.yml +++ b/.github/workflows/validate-install-from-source.yml @@ -14,19 +14,19 @@ jobs: fail-fast: false matrix: vector: - - image: ubuntu - - image: debian:bullseye - - image: fedora - # Centos no longer officially maintains images on Docker Hub. However, - # tgagor is a contributor who pushes updated images weekly, which should - # be sufficient for our validation needs. - - image: tgagor/centos - - image: tgagor/centos-stream - - image: redhat/ubi8 - - image: alpine - - image: opensuse/leap - - image: opensuse/tumbleweed - - image: registry.suse.com/suse/sle15:15.4.27.11.31 + - image: ubuntu:latest + - image: debian:bullseye + - image: fedora + # Centos no longer officially maintains images on Docker Hub. However, + # tgagor is a contributor who pushes updated images weekly, which should + # be sufficient for our validation needs. + - image: tgagor/centos + - image: tgagor/centos-stream + - image: redhat/ubi8 + - image: alpine + - image: opensuse/leap + - image: opensuse/tumbleweed + - image: registry.suse.com/suse/sle15:15.4.27.11.31 container: ${{matrix.vector.image}} steps: - run: | diff --git a/src/linux/Packaging.Linux/install-from-source.sh b/src/linux/Packaging.Linux/install-from-source.sh index df586ce1c5..aefe83edaa 100755 --- a/src/linux/Packaging.Linux/install-from-source.sh +++ b/src/linux/Packaging.Linux/install-from-source.sh @@ -186,10 +186,16 @@ case "$distribution" in ensure_dotnet_installed ;; alpine) + # Check that the version is at least 3.15 + if [[ $(echo "$version 3.15" | awk '{print ($1 < $2)}') -ne 0 ]]; then + echo "You are running Alpine $version. This script requires at least Alpine 3.15." + exit 1 + fi + $sudo_cmd apk update # Install dotnet/GCM dependencies. - install_packages apk add "curl git icu-libs krb5-libs libgcc libintl libssl1.1 libstdc++ zlib which bash coreutils gcompat" + install_packages apk add "curl git icu-libs krb5-libs libgcc libintl libssl3 libstdc++ zlib which bash coreutils gcompat" ensure_dotnet_installed ;;