From: Denis Laxalde Date: Sun, 8 Jan 2023 09:39:35 +0000 (+0100) Subject: ci: factor out common logic in libpq install script X-Git-Tag: pool-3.2.0~137^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=18e0a1545dbd58b9c300c6ebd157b5bf7dbe3c0c;p=thirdparty%2Fpsycopg.git ci: factor out common logic in libpq install script --- diff --git a/tools/build/ci_install_libpq.sh b/tools/build/ci_install_libpq.sh index 5f14181d7..9d14f9df6 100755 --- a/tools/build/ci_install_libpq.sh +++ b/tools/build/ci_install_libpq.sh @@ -9,6 +9,17 @@ set -euo pipefail set -x libpq=${1:-} +rel=$(lsb_release -c -s) + +setup_repo () { + version=${1:-} + curl -sL https://www.postgresql.org/media/keys/ACCC4CF8.asc \ + | gpg --dearmor \ + | sudo tee /etc/apt/trusted.gpg.d/apt.postgresql.org.gpg > /dev/null + echo "deb http://apt.postgresql.org/pub/repos/apt ${rel}-pgdg main ${version}" \ + | sudo tee -a /etc/apt/sources.list.d/pgdg.list > /dev/null + sudo apt-get -qq update +} case "$libpq" in "") @@ -18,31 +29,13 @@ case "$libpq" in ;; oldest) - curl -sL https://www.postgresql.org/media/keys/ACCC4CF8.asc \ - | gpg --dearmor \ - | sudo tee /etc/apt/trusted.gpg.d/apt.postgresql.org.gpg > /dev/null - - rel=$(lsb_release -c -s) - echo "deb http://apt.postgresql.org/pub/repos/apt ${rel}-pgdg main 10" \ - | sudo tee -a /etc/apt/sources.list.d/pgdg.list > /dev/null - sudo apt-get -qq update + setup_repo 10 pqver=$(apt-cache show libpq5 | grep ^Version: | tail -1 | awk '{print $2}') sudo apt-get -qq -y --allow-downgrades install "libpq-dev=${pqver}" "libpq5=${pqver}" ;; newest) - curl -sL https://www.postgresql.org/media/keys/ACCC4CF8.asc \ - | gpg --dearmor \ - | sudo tee /etc/apt/trusted.gpg.d/apt.postgresql.org.gpg > /dev/null - - # NOTE: in order to test with a preview release, add its number to - # the deb entry. For instance, to test on preview Postgres 16, use: - # "deb http://apt.postgresql.org/pub/repos/apt ${rel}-pgdg main 16" - rel=$(lsb_release -c -s) - echo "deb http://apt.postgresql.org/pub/repos/apt ${rel}-pgdg main" \ - | sudo tee -a /etc/apt/sources.list.d/pgdg.list > /dev/null - sudo apt-get -qq update - + setup_repo pqver=$(apt-cache show libpq5 | grep ^Version: | head -1 | awk '{print $2}') sudo apt-get -qq -y install "libpq-dev=${pqver}" "libpq5=${pqver}" ;;