summaryrefslogtreecommitdiffstats
path: root/debian/supported-versions
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 12:08:39 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 12:08:39 +0000
commit039175d5d6adfc3f96e3ffdd5ee946576e22233a (patch)
treef1ba3073275e4441e417ed8b149729d0f5122884 /debian/supported-versions
parentAdding upstream version 225+deb11u1. (diff)
downloadpostgresql-common-debian.tar.xz
postgresql-common-debian.zip
Adding debian version 225+deb11u1.debian/225+deb11u1debian
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rwxr-xr-xdebian/supported-versions195
1 files changed, 195 insertions, 0 deletions
diff --git a/debian/supported-versions b/debian/supported-versions
new file mode 100755
index 0000000..f7a7cdc
--- /dev/null
+++ b/debian/supported-versions
@@ -0,0 +1,195 @@
+#!/bin/sh
+
+# print a list of PostgreSQL versions that are supported for the platform this
+# script runs on.
+# Note: Newer installed versions than the highest one listed here are always
+# considered supported, so that backports will not cause an "obsolete" warning.
+#
+# /usr/share/postgresql-common/supported-versions decides which PostgreSQL
+# server versions are supported. This information is used
+# 1) for notifying users of obsolete versions, suggesting to upgrade
+# 2) by postgresql-common itself (in debian/rules) to determine the
+# dependencies of the postgresql meta packages (default version), and to
+# generate the list of postgresql-server-dev-* packages
+# postgresql-server-dev-all depends on
+# 3) by the pg_buildext tool to decide which server versions to build extension
+# modules for
+#
+# The *last* version returned here will be considered the default version, the
+# remaining lines list other supported versions in an undefined order.
+#
+# * PG_SUPPORTED_VERSIONS
+# * DEB_PG_SUPPORTED_VERSIONS
+# * ~/.pg_supported_versions
+# * /etc/postgresql-common/supported_versions
+# (in that order) can be used to override the defaults. (Tokens separated by
+# newlines.)
+#
+# Recognized tokens:
+# default: use the appropiate defaults for the current distribution and release
+# (as determined by os-release or lsb_release)
+# debian [release]: use Debian defaults
+# debian-backports [release]: use Debian Backports defaults
+# ubuntu [release]: use Ubuntu defaults
+# pgdg [release]: use defaults for apt.postgresql.org
+# installed: consider all installed versions supported (determined by
+# postgresql-server-dev-X packages)
+# X: consider this version supported
+#
+# (C) 2005-2016 Martin Pitt <mpitt@debian.org>
+# (C) 2012-2020 Christoph Berg <myon@debian.org>
+
+set -eu
+
+# at build time, use our pgcommon.sh, not the system one (this assumes
+# debian/supported-versions is one directory deeper than ./pgcommon.sh)
+if [ -e "${0%/supported-versions}/../pgcommon.sh" ]; then
+ . "${0%/supported-versions}/../pgcommon.sh"
+else
+ . /usr/share/postgresql-common/pgcommon.sh
+fi
+
+DEFAULT="13"
+
+# functions
+
+default() {
+ case "$DISTRO" in
+ [uU]buntu)
+ ubuntu "$RELEASE"
+ ;;
+ [dD]ebian)
+ debian "$RELEASE"
+ ;;
+ *)
+ echo "supported-versions: WARNING! Unknown distribution: $DISTRO" >&2
+ if echo $ID_LIKE | egrep '(^| )ubuntu($| )' > /dev/null; then
+ echo "ubuntu found in ID_LIKE, treating as Ubuntu" >&2
+ ubuntu "$RELEASE"
+ elif echo $ID_LIKE | egrep '(^| )debian($| )' > /dev/null; then
+ echo "debian found in ID_LIKE, treating as Debian" >&2
+ debian "$RELEASE"
+ else
+ echo "Please submit this as a bug report to your distribution." >&2
+ /bin/echo -e "$DEFAULT"
+ fi
+ ;;
+ esac
+}
+
+ubuntu() {
+ case "$1" in
+ 12.04) /bin/echo -e "9.1" ;;
+ 14.04) /bin/echo -e "9.3" ;;
+ 16.04|16.10) /bin/echo -e "9.5" ;;
+ 17.04|17.10) /bin/echo -e "9.6" ;;
+ 18.04|18.10) /bin/echo -e "10" ;;
+ 19.04|19.10) /bin/echo -e "11" ;;
+ 20.04|20.10) /bin/echo -e "12" ;;
+ 21.04|21.10) /bin/echo -e "13" ;;
+ *)
+ echo "supported-versions: WARNING: Unknown Ubuntu release: $1" >&2
+ /bin/echo -e "$DEFAULT" ;;
+ esac
+}
+
+debian() {
+ case "$1" in
+ 5.0*) /bin/echo -e "8.3" ;; # Lenny
+ 6.0*) /bin/echo -e "8.4" ;; # Squeeze
+ 7|7.*) /bin/echo -e "9.1" ;; # Wheezy
+ 8|8.*) /bin/echo -e "9.4" ;; # Jessie
+ 9|9.*) /bin/echo -e "9.6" ;; # Stretch
+ 10|10.*) /bin/echo -e "11" ;; # Buster
+ 11|11.*) /bin/echo -e "13" ;; # Bullseye
+ testing | unstable)
+ /bin/echo -e "$DEFAULT" ;;
+ *)
+ echo "supported-versions: WARNING: Unknown Debian release: $1" >&2
+ /bin/echo -e "$DEFAULT" ;;
+ esac
+}
+
+debian_backports() {
+ case "$1" in
+ 5.0*) /bin/echo -e "8.3" ;; # Lenny
+ 6.0*) /bin/echo -e "8.4\n9.1" ;; # Squeeze
+ 7|7.*) /bin/echo -e "9.1\n9.4" ;; # Wheezy
+ 8|8.*) /bin/echo -e "9.4\n9.6" ;; # Jessie
+ 9|9.*) /bin/echo -e "9.6" ;; # Stretch
+ 10|10.*) /bin/echo -e "11" ;; # Buster
+ 11|11.*) /bin/echo -e "13" ;; # Bullseye
+ testing | unstable)
+ /bin/echo -e "$DEFAULT" ;;
+ *)
+ echo "supported-versions: WARNING: Unknown Debian release: $1" >&2
+ /bin/echo -e "$DEFAULT" ;;
+ esac
+}
+
+pgdg() {
+ cat <<-EOF
+ 9.5
+ 9.6
+ 10
+ 11
+ 12
+ 13
+ EOF
+}
+
+installed() {
+ dpkg -l 'postgresql-server-dev-[1-9]*' | \
+ sed -ne 's/^ii *postgresql-server-dev-\([^ ]*\).*/\1/p' | \
+ sort -V
+}
+
+# main
+
+if [ "${PG_SUPPORTED_VERSIONS:-}" ] ; then
+ SUPPORTED_VERSIONS=$(echo "$PG_SUPPORTED_VERSIONS" | xargs -n1)
+elif [ "${DEB_PG_SUPPORTED_VERSIONS:-}" ] ; then
+ SUPPORTED_VERSIONS=$(echo "$DEB_PG_SUPPORTED_VERSIONS" | xargs -n1)
+elif [ -f ${HOME:-}/.pg_supported_versions ] ; then
+ SUPPORTED_VERSIONS="$(cat ${HOME:-}/.pg_supported_versions)"
+elif [ -f ${PGSYSCONFDIR:-/etc/postgresql-common}/supported_versions ] ; then
+ SUPPORTED_VERSIONS="$(cat ${PGSYSCONFDIR:-/etc/postgresql-common}/supported_versions)"
+else
+ SUPPORTED_VERSIONS="default"
+fi
+
+echo "$SUPPORTED_VERSIONS" | while read version release; do
+ COMMENT="#"
+ case $version in
+ "") ;;
+ $COMMENT*) ;;
+ default)
+ get_release
+ default
+ ;;
+ debian)
+ get_release
+ debian "${release:-$RELEASE}"
+ ;;
+ debian-backports)
+ get_release
+ debian_backports "${release:-$RELEASE}"
+ ;;
+ ubuntu)
+ get_release
+ ubuntu "${release:-$RELEASE}"
+ ;;
+ pgdg) # apt.postgresql.org
+ get_release
+ pgdg "${release:-$RELEASE}"
+ ;;
+ installed)
+ installed
+ ;;
+ *)
+ /bin/echo -e "$version"
+ ;;
+ esac
+done
+
+exit 0