diff --git a/langs/qsharp.yaml b/langs/qsharp.yaml index 6155b1f..14c6224 100644 --- a/langs/qsharp.yaml +++ b/langs/qsharp.yaml @@ -9,9 +9,9 @@ install: # 3.x of the .NET SDK. Not sure why. prepare: &install-dotnet preface: | - sudo --preserve-env=DEBIAN_FRONTEND apt-get update wget "https://packages.microsoft.com/config/ubuntu/${ubuntu_ver}/packages-microsoft-prod.deb" sudo --preserve-env=DEBIAN_FRONTEND apt-get install ./packages-microsoft-prod.deb + sudo --preserve-env=DEBIAN_FRONTEND apt-get update apt: - $(grep-aptavail -wF Package "dotnet-sdk-3\.[0-9.]+" -s Package -n | sort -Vr | head -n1) <<: *install-dotnet @@ -33,6 +33,10 @@ install: cp -R * "${HOME}/.dotnet" "${HOME}/.nuget" "${pkg}/opt/qsharp/skel/" rm "${pkg}/opt/qsharp/skel/main/Program.qs" chmod -R a=u,go-w "${pkg}/opt/qsharp/skel" + manualInstall: | + wget "https://packages.microsoft.com/config/ubuntu/${ubuntu_ver}/packages-microsoft-prod.deb" + sudo --preserve-env=DEBIAN_FRONTEND apt-get update + sudo --preserve-env=DEBIAN_FRONTEND apt-get install ./packages-microsoft-prod.deb setup: | shopt -s dotglob diff --git a/tools/generate-build-script.js b/tools/generate-build-script.js index 0f9fd08..d594090 100644 --- a/tools/generate-build-script.js +++ b/tools/generate-build-script.js @@ -340,6 +340,9 @@ latest_release() { if (parts.join("\n\n").includes("ubuntu_name")) { parts.unshift(`ubuntu_name="$(lsb_release -cs)"`); } + if (parts.join("\n\n").includes("ubuntu_ver")) { + parts.unshift(`ubuntu_ver="$(lsb_release -rs)"`); + } if (install && install.disallowCI) { parts.unshift(`\ if [[ -n "\${CI:-}" ]]; then @@ -372,7 +375,7 @@ function makeInstallScript(langConfig) { let parts = []; const { id, install } = langConfig; if (install) { - const { apt, cert, aptKey, aptRepo } = install; + const { apt, cert, aptKey, aptRepo, manualInstall } = install; if (apt && apt.filter((pkg) => pkg.includes(":i386")).length > 0) { parts.push(`\ sudo dpkg --add-architecture i386`); @@ -408,10 +411,16 @@ sudo dpkg --add-architecture i386`); ${aptRepo.join("\n")} EOF`); } + if (manualInstall) { + parts.push(manualInstall); + } } if (parts.join("\n\n").includes("ubuntu_name")) { parts.unshift(`ubuntu_name="$(lsb_release -cs)"`); } + if (parts.join("\n\n").includes("ubuntu_ver")) { + parts.unshift(`ubuntu_name="$(lsb_release -rs)"`); + } parts.unshift(`\ #!/usr/bin/env bash diff --git a/tools/jsonschema.yaml b/tools/jsonschema.yaml index c21c5fd..168357d 100644 --- a/tools/jsonschema.yaml +++ b/tools/jsonschema.yaml @@ -627,6 +627,9 @@ properties: manual: type: string minLength: 1 + manualInstall: + type: string + minLength: 1 deb: type: array items: