diff --git a/Dockerfile b/Dockerfile index 8c7be925d97dc..67db9746fc4e9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -267,6 +267,16 @@ function install_mssql_client() { curl --silent https://packages.microsoft.com/keys/microsoft.asc | apt-key add - >/dev/null 2>&1 curl --silent "https://packages.microsoft.com/config/${distro}/${version}/prod.list" > \ /etc/apt/sources.list.d/mssql-release.list + + # Fix https://github.com/microsoft/linux-package-repositories/issues/36 for pyodbc<=4.0.32 + # Deny upgrade unixodbc related packages from Microsoft repo + pin_packages=("libodbc1" "odbcinst1debian2" "odbcinst" "unixodbc-dev" "unixodbc") + for package in "${pin_packages[@]}" + do + printf "Package: %s\nPin: origin packages.microsoft.com\nPin-Priority: -1\n\n" "${package}" >> \ + /etc/apt/preferences.d/99-deny-packages-from-ms-repo.pref + done + apt-get update -yqq apt-get upgrade -yqq ACCEPT_EULA=Y apt-get -yqq install -y --no-install-recommends "${driver}" diff --git a/Dockerfile.ci b/Dockerfile.ci index ed9170c39ccfc..8fadf05ec8886 100644 --- a/Dockerfile.ci +++ b/Dockerfile.ci @@ -227,6 +227,16 @@ function install_mssql_client() { curl --silent https://packages.microsoft.com/keys/microsoft.asc | apt-key add - >/dev/null 2>&1 curl --silent "https://packages.microsoft.com/config/${distro}/${version}/prod.list" > \ /etc/apt/sources.list.d/mssql-release.list + + # Fix https://github.com/microsoft/linux-package-repositories/issues/36 for pyodbc<=4.0.32 + # Deny upgrade unixodbc related packages from Microsoft repo + pin_packages=("libodbc1" "odbcinst1debian2" "odbcinst" "unixodbc-dev" "unixodbc") + for package in "${pin_packages[@]}" + do + printf "Package: %s\nPin: origin packages.microsoft.com\nPin-Priority: -1\n\n" "${package}" >> \ + /etc/apt/preferences.d/99-deny-packages-from-ms-repo.pref + done + apt-get update -yqq apt-get upgrade -yqq ACCEPT_EULA=Y apt-get -yqq install -y --no-install-recommends "${driver}" diff --git a/scripts/docker/install_mssql.sh b/scripts/docker/install_mssql.sh index fa0cfc0033cb6..1791591d9342c 100644 --- a/scripts/docker/install_mssql.sh +++ b/scripts/docker/install_mssql.sh @@ -43,6 +43,16 @@ function install_mssql_client() { curl --silent https://packages.microsoft.com/keys/microsoft.asc | apt-key add - >/dev/null 2>&1 curl --silent "https://packages.microsoft.com/config/${distro}/${version}/prod.list" > \ /etc/apt/sources.list.d/mssql-release.list + + # Fix https://github.com/microsoft/linux-package-repositories/issues/36 for pyodbc<=4.0.32 + # Deny upgrade unixodbc related packages from Microsoft repo + pin_packages=("libodbc1" "odbcinst1debian2" "odbcinst" "unixodbc-dev" "unixodbc") + for package in "${pin_packages[@]}" + do + printf "Package: %s\nPin: origin packages.microsoft.com\nPin-Priority: -1\n\n" "${package}" >> \ + /etc/apt/preferences.d/99-deny-packages-from-ms-repo.pref + done + apt-get update -yqq apt-get upgrade -yqq ACCEPT_EULA=Y apt-get -yqq install -y --no-install-recommends "${driver}"