File: supported-versions

package info (click to toggle)
postgresql-common 282
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,528 kB
  • sloc: perl: 4,170; sh: 1,572; makefile: 327; sql: 13; ansic: 10
file content (105 lines) | stat: -rwxr-xr-x 2,986 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#!/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 appropriate defaults for the current distribution
#          (as determined by os-release)
# debian: use Debian defaults
# debian-backports: use Debian Backports defaults
# ubuntu: use Ubuntu defaults
# pgdg: 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-2025 Christoph Berg <myon@debian.org>

set -eu

DEFAULT="17"

# functions

default() {
    echo "$DEFAULT"
}

pgdg() {
    cat <<-EOF
	10
	11
	12
	13
	14
	15
	16
	17
	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|debian*|ubuntu*)
            default
            ;;
        pgdg) # apt.postgresql.org
            pgdg
            ;;
        installed)
            installed
            ;;
        *)
            /bin/echo -e "$version"
            ;;
    esac
done

exit 0