[Ubuntu] rework erlang installation (workaround hashes) (#7234)

This commit is contained in:
Mikhail Koliada
2023-03-04 18:12:02 +01:00
committed by GitHub
parent 143a8da8d6
commit fe23ebfec1
4 changed files with 22 additions and 3 deletions

View File

@@ -40,7 +40,7 @@ $languageAndRuntime.AddToolVersionsListInline("Clang", $(Get-ClangToolVersions -
$languageAndRuntime.AddToolVersionsListInline("Clang-format", $(Get-ClangToolVersions -ToolName "clang-format"), "^\d+") $languageAndRuntime.AddToolVersionsListInline("Clang-format", $(Get-ClangToolVersions -ToolName "clang-format"), "^\d+")
$languageAndRuntime.AddToolVersionsListInline("Clang-tidy", $(Get-ClangTidyVersions), "^\d+") $languageAndRuntime.AddToolVersionsListInline("Clang-tidy", $(Get-ClangTidyVersions), "^\d+")
$languageAndRuntime.AddToolVersion("Dash", $(Get-DashVersion)) $languageAndRuntime.AddToolVersion("Dash", $(Get-DashVersion))
if (Test-IsUbuntu20) { if ((Test-IsUbuntu18) -or (Test-IsUbuntu20)) {
$languageAndRuntime.AddToolVersion("Erlang", $(Get-ErlangVersion)) $languageAndRuntime.AddToolVersion("Erlang", $(Get-ErlangVersion))
$languageAndRuntime.AddToolVersion("Erlang rebar3", $(Get-ErlangRebar3Version)) $languageAndRuntime.AddToolVersion("Erlang rebar3", $(Get-ErlangRebar3Version))
} }

View File

@@ -6,6 +6,7 @@
# Source the helpers for use with the script # Source the helpers for use with the script
source $HELPER_SCRIPTS/install.sh source $HELPER_SCRIPTS/install.sh
source $HELPER_SCRIPTS/os.sh
source_list=/etc/apt/sources.list.d/eslerlang.list source_list=/etc/apt/sources.list.d/eslerlang.list
source_key=/usr/share/keyrings/eslerlang.gpg source_key=/usr/share/keyrings/eslerlang.gpg
@@ -14,7 +15,24 @@ source_key=/usr/share/keyrings/eslerlang.gpg
wget -q -O - https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | gpg --dearmor > $source_key wget -q -O - https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | gpg --dearmor > $source_key
echo "deb [signed-by=$source_key] https://packages.erlang-solutions.com/ubuntu $(lsb_release -cs) contrib" > $source_list echo "deb [signed-by=$source_key] https://packages.erlang-solutions.com/ubuntu $(lsb_release -cs) contrib" > $source_list
apt-get update apt-get update
apt-get install -y --no-install-recommends esl-erlang
apt-get install --no-install-recommends esl-erlang || true
# Downoloading and installing a deb file manually, ignore deptree errors
if isUbuntu18; then
esl_url="https://packages.erlang-solutions.com/ubuntu/pool/esl-erlang_25.2.3-1~ubuntu~bionic_amd64.deb"
download_with_retries $esl_url "/tmp"
dpkg -i /tmp/esl-erlang_25.2.3-1~ubuntu~bionic_amd64.deb || true
else
esl_url="https://packages.erlang-solutions.com/ubuntu/pool/esl-erlang_25.2.3-2~ubuntu~focal_amd64.deb"
download_with_retries $esl_url "/tmp"
dpkg -i /tmp/esl-erlang_25.2.3-2~ubuntu~focal_amd64.deb || true
fi
# Restore a proper deptree which brings esl-erlang back in the loop
# but eleminate unwanted X.org dependencies
apt --no-install-recommends --fix-broken install
# Install rebar3 # Install rebar3
rebar3_url="https://github.com/erlang/rebar3/releases/latest/download/rebar3" rebar3_url="https://github.com/erlang/rebar3/releases/latest/download/rebar3"

View File

@@ -132,7 +132,7 @@ Describe "Cmake" {
} }
} }
Describe "erlang" -Skip:((Test-IsUbuntu22) -or (Test-IsUbuntu18)) { Describe "erlang" -Skip:(Test-IsUbuntu22) {
$testCases = @("erl -version", "erlc -v", "rebar3 -v") | ForEach-Object { @{ErlangCommand = $_} } $testCases = @("erl -version", "erlc -v", "rebar3 -v") | ForEach-Object { @{ErlangCommand = $_} }
It "erlang <ErlangCommand>" -TestCases $testCases { It "erlang <ErlangCommand>" -TestCases $testCases {

View File

@@ -206,6 +206,7 @@
"{{template_dir}}/scripts/installers/codeql-bundle.sh", "{{template_dir}}/scripts/installers/codeql-bundle.sh",
"{{template_dir}}/scripts/installers/containers.sh", "{{template_dir}}/scripts/installers/containers.sh",
"{{template_dir}}/scripts/installers/dotnetcore-sdk.sh", "{{template_dir}}/scripts/installers/dotnetcore-sdk.sh",
"{{template_dir}}/scripts/installers/erlang.sh",
"{{template_dir}}/scripts/installers/firefox.sh", "{{template_dir}}/scripts/installers/firefox.sh",
"{{template_dir}}/scripts/installers/microsoft-edge.sh", "{{template_dir}}/scripts/installers/microsoft-edge.sh",
"{{template_dir}}/scripts/installers/gcc.sh", "{{template_dir}}/scripts/installers/gcc.sh",