Narrow postgres apt key package scope

This commit is contained in:
Joe Ferguson 2022-01-06 13:48:58 -08:00
parent a83005b407
commit 0fa62a8a9a
10 changed files with 60 additions and 50 deletions

11
10/bullseye/Dockerfile generated
View File

@ -81,11 +81,11 @@ RUN set -ex; \
# uid PostgreSQL Debian Repository # uid PostgreSQL Debian Repository
key='B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8'; \ key='B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8'; \
export GNUPGHOME="$(mktemp -d)"; \ export GNUPGHOME="$(mktemp -d)"; \
mkdir -p /usr/local/share/keyrings/; \
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
gpg --batch --export "$key" > /etc/apt/trusted.gpg.d/postgres.gpg; \ gpg --batch --export --armor "$key" > /usr/local/share/keyrings/postgres.gpg.asc; \
command -v gpgconf > /dev/null && gpgconf --kill all; \ command -v gpgconf > /dev/null && gpgconf --kill all; \
rm -rf "$GNUPGHOME"; \ rm -rf "$GNUPGHOME"
apt-key list
ENV PG_MAJOR 10 ENV PG_MAJOR 10
ENV PATH $PATH:/usr/lib/postgresql/$PG_MAJOR/bin ENV PATH $PATH:/usr/lib/postgresql/$PG_MAJOR/bin
@ -98,16 +98,17 @@ RUN set -ex; \
export PYTHONDONTWRITEBYTECODE=1; \ export PYTHONDONTWRITEBYTECODE=1; \
\ \
dpkgArch="$(dpkg --print-architecture)"; \ dpkgArch="$(dpkg --print-architecture)"; \
aptRepo="[ signed-by=/usr/local/share/keyrings/postgres.gpg.asc ] http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main $PG_MAJOR"; \
case "$dpkgArch" in \ case "$dpkgArch" in \
amd64 | arm64 | ppc64el) \ amd64 | arm64 | ppc64el) \
# arches officialy built by upstream # arches officialy built by upstream
echo "deb http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main $PG_MAJOR" > /etc/apt/sources.list.d/pgdg.list; \ echo "deb $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
apt-get update; \ apt-get update; \
;; \ ;; \
*) \ *) \
# we're on an architecture upstream doesn't officially build for # we're on an architecture upstream doesn't officially build for
# let's build binaries from their published source packages # let's build binaries from their published source packages
echo "deb-src http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main $PG_MAJOR" > /etc/apt/sources.list.d/pgdg.list; \ echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
\ \
tempDir="$(mktemp -d)"; \ tempDir="$(mktemp -d)"; \
cd "$tempDir"; \ cd "$tempDir"; \

11
10/stretch/Dockerfile generated
View File

@ -81,11 +81,11 @@ RUN set -ex; \
# uid PostgreSQL Debian Repository # uid PostgreSQL Debian Repository
key='B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8'; \ key='B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8'; \
export GNUPGHOME="$(mktemp -d)"; \ export GNUPGHOME="$(mktemp -d)"; \
mkdir -p /usr/local/share/keyrings/; \
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
gpg --batch --export "$key" > /etc/apt/trusted.gpg.d/postgres.gpg; \ gpg --batch --export --armor "$key" > /usr/local/share/keyrings/postgres.gpg.asc; \
command -v gpgconf > /dev/null && gpgconf --kill all; \ command -v gpgconf > /dev/null && gpgconf --kill all; \
rm -rf "$GNUPGHOME"; \ rm -rf "$GNUPGHOME"
apt-key list
ENV PG_MAJOR 10 ENV PG_MAJOR 10
ENV PATH $PATH:/usr/lib/postgresql/$PG_MAJOR/bin ENV PATH $PATH:/usr/lib/postgresql/$PG_MAJOR/bin
@ -98,16 +98,17 @@ RUN set -ex; \
export PYTHONDONTWRITEBYTECODE=1; \ export PYTHONDONTWRITEBYTECODE=1; \
\ \
dpkgArch="$(dpkg --print-architecture)"; \ dpkgArch="$(dpkg --print-architecture)"; \
aptRepo="[ signed-by=/usr/local/share/keyrings/postgres.gpg.asc ] http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main $PG_MAJOR"; \
case "$dpkgArch" in \ case "$dpkgArch" in \
amd64 | i386 | ppc64el) \ amd64 | i386 | ppc64el) \
# arches officialy built by upstream # arches officialy built by upstream
echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main $PG_MAJOR" > /etc/apt/sources.list.d/pgdg.list; \ echo "deb $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
apt-get update; \ apt-get update; \
;; \ ;; \
*) \ *) \
# we're on an architecture upstream doesn't officially build for # we're on an architecture upstream doesn't officially build for
# let's build binaries from their published source packages # let's build binaries from their published source packages
echo "deb-src http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main $PG_MAJOR" > /etc/apt/sources.list.d/pgdg.list; \ echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
\ \
tempDir="$(mktemp -d)"; \ tempDir="$(mktemp -d)"; \
cd "$tempDir"; \ cd "$tempDir"; \

11
11/bullseye/Dockerfile generated
View File

@ -81,11 +81,11 @@ RUN set -ex; \
# uid PostgreSQL Debian Repository # uid PostgreSQL Debian Repository
key='B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8'; \ key='B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8'; \
export GNUPGHOME="$(mktemp -d)"; \ export GNUPGHOME="$(mktemp -d)"; \
mkdir -p /usr/local/share/keyrings/; \
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
gpg --batch --export "$key" > /etc/apt/trusted.gpg.d/postgres.gpg; \ gpg --batch --export --armor "$key" > /usr/local/share/keyrings/postgres.gpg.asc; \
command -v gpgconf > /dev/null && gpgconf --kill all; \ command -v gpgconf > /dev/null && gpgconf --kill all; \
rm -rf "$GNUPGHOME"; \ rm -rf "$GNUPGHOME"
apt-key list
ENV PG_MAJOR 11 ENV PG_MAJOR 11
ENV PATH $PATH:/usr/lib/postgresql/$PG_MAJOR/bin ENV PATH $PATH:/usr/lib/postgresql/$PG_MAJOR/bin
@ -98,16 +98,17 @@ RUN set -ex; \
export PYTHONDONTWRITEBYTECODE=1; \ export PYTHONDONTWRITEBYTECODE=1; \
\ \
dpkgArch="$(dpkg --print-architecture)"; \ dpkgArch="$(dpkg --print-architecture)"; \
aptRepo="[ signed-by=/usr/local/share/keyrings/postgres.gpg.asc ] http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main $PG_MAJOR"; \
case "$dpkgArch" in \ case "$dpkgArch" in \
amd64 | arm64 | ppc64el) \ amd64 | arm64 | ppc64el) \
# arches officialy built by upstream # arches officialy built by upstream
echo "deb http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main $PG_MAJOR" > /etc/apt/sources.list.d/pgdg.list; \ echo "deb $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
apt-get update; \ apt-get update; \
;; \ ;; \
*) \ *) \
# we're on an architecture upstream doesn't officially build for # we're on an architecture upstream doesn't officially build for
# let's build binaries from their published source packages # let's build binaries from their published source packages
echo "deb-src http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main $PG_MAJOR" > /etc/apt/sources.list.d/pgdg.list; \ echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
\ \
tempDir="$(mktemp -d)"; \ tempDir="$(mktemp -d)"; \
cd "$tempDir"; \ cd "$tempDir"; \

11
11/stretch/Dockerfile generated
View File

@ -81,11 +81,11 @@ RUN set -ex; \
# uid PostgreSQL Debian Repository # uid PostgreSQL Debian Repository
key='B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8'; \ key='B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8'; \
export GNUPGHOME="$(mktemp -d)"; \ export GNUPGHOME="$(mktemp -d)"; \
mkdir -p /usr/local/share/keyrings/; \
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
gpg --batch --export "$key" > /etc/apt/trusted.gpg.d/postgres.gpg; \ gpg --batch --export --armor "$key" > /usr/local/share/keyrings/postgres.gpg.asc; \
command -v gpgconf > /dev/null && gpgconf --kill all; \ command -v gpgconf > /dev/null && gpgconf --kill all; \
rm -rf "$GNUPGHOME"; \ rm -rf "$GNUPGHOME"
apt-key list
ENV PG_MAJOR 11 ENV PG_MAJOR 11
ENV PATH $PATH:/usr/lib/postgresql/$PG_MAJOR/bin ENV PATH $PATH:/usr/lib/postgresql/$PG_MAJOR/bin
@ -98,16 +98,17 @@ RUN set -ex; \
export PYTHONDONTWRITEBYTECODE=1; \ export PYTHONDONTWRITEBYTECODE=1; \
\ \
dpkgArch="$(dpkg --print-architecture)"; \ dpkgArch="$(dpkg --print-architecture)"; \
aptRepo="[ signed-by=/usr/local/share/keyrings/postgres.gpg.asc ] http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main $PG_MAJOR"; \
case "$dpkgArch" in \ case "$dpkgArch" in \
amd64 | i386 | ppc64el) \ amd64 | i386 | ppc64el) \
# arches officialy built by upstream # arches officialy built by upstream
echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main $PG_MAJOR" > /etc/apt/sources.list.d/pgdg.list; \ echo "deb $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
apt-get update; \ apt-get update; \
;; \ ;; \
*) \ *) \
# we're on an architecture upstream doesn't officially build for # we're on an architecture upstream doesn't officially build for
# let's build binaries from their published source packages # let's build binaries from their published source packages
echo "deb-src http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main $PG_MAJOR" > /etc/apt/sources.list.d/pgdg.list; \ echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
\ \
# https://github.com/docker-library/postgres/issues/484 (clang-6.0 required, only available in stretch-backports) # https://github.com/docker-library/postgres/issues/484 (clang-6.0 required, only available in stretch-backports)
echo 'deb http://deb.debian.org/debian stretch-backports main' >> /etc/apt/sources.list.d/pgdg.list; \ echo 'deb http://deb.debian.org/debian stretch-backports main' >> /etc/apt/sources.list.d/pgdg.list; \

11
12/bullseye/Dockerfile generated
View File

@ -81,11 +81,11 @@ RUN set -ex; \
# uid PostgreSQL Debian Repository # uid PostgreSQL Debian Repository
key='B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8'; \ key='B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8'; \
export GNUPGHOME="$(mktemp -d)"; \ export GNUPGHOME="$(mktemp -d)"; \
mkdir -p /usr/local/share/keyrings/; \
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
gpg --batch --export "$key" > /etc/apt/trusted.gpg.d/postgres.gpg; \ gpg --batch --export --armor "$key" > /usr/local/share/keyrings/postgres.gpg.asc; \
command -v gpgconf > /dev/null && gpgconf --kill all; \ command -v gpgconf > /dev/null && gpgconf --kill all; \
rm -rf "$GNUPGHOME"; \ rm -rf "$GNUPGHOME"
apt-key list
ENV PG_MAJOR 12 ENV PG_MAJOR 12
ENV PATH $PATH:/usr/lib/postgresql/$PG_MAJOR/bin ENV PATH $PATH:/usr/lib/postgresql/$PG_MAJOR/bin
@ -98,16 +98,17 @@ RUN set -ex; \
export PYTHONDONTWRITEBYTECODE=1; \ export PYTHONDONTWRITEBYTECODE=1; \
\ \
dpkgArch="$(dpkg --print-architecture)"; \ dpkgArch="$(dpkg --print-architecture)"; \
aptRepo="[ signed-by=/usr/local/share/keyrings/postgres.gpg.asc ] http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main $PG_MAJOR"; \
case "$dpkgArch" in \ case "$dpkgArch" in \
amd64 | arm64 | ppc64el) \ amd64 | arm64 | ppc64el) \
# arches officialy built by upstream # arches officialy built by upstream
echo "deb http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main $PG_MAJOR" > /etc/apt/sources.list.d/pgdg.list; \ echo "deb $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
apt-get update; \ apt-get update; \
;; \ ;; \
*) \ *) \
# we're on an architecture upstream doesn't officially build for # we're on an architecture upstream doesn't officially build for
# let's build binaries from their published source packages # let's build binaries from their published source packages
echo "deb-src http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main $PG_MAJOR" > /etc/apt/sources.list.d/pgdg.list; \ echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
\ \
tempDir="$(mktemp -d)"; \ tempDir="$(mktemp -d)"; \
cd "$tempDir"; \ cd "$tempDir"; \

11
13/bullseye/Dockerfile generated
View File

@ -81,11 +81,11 @@ RUN set -ex; \
# uid PostgreSQL Debian Repository # uid PostgreSQL Debian Repository
key='B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8'; \ key='B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8'; \
export GNUPGHOME="$(mktemp -d)"; \ export GNUPGHOME="$(mktemp -d)"; \
mkdir -p /usr/local/share/keyrings/; \
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
gpg --batch --export "$key" > /etc/apt/trusted.gpg.d/postgres.gpg; \ gpg --batch --export --armor "$key" > /usr/local/share/keyrings/postgres.gpg.asc; \
command -v gpgconf > /dev/null && gpgconf --kill all; \ command -v gpgconf > /dev/null && gpgconf --kill all; \
rm -rf "$GNUPGHOME"; \ rm -rf "$GNUPGHOME"
apt-key list
ENV PG_MAJOR 13 ENV PG_MAJOR 13
ENV PATH $PATH:/usr/lib/postgresql/$PG_MAJOR/bin ENV PATH $PATH:/usr/lib/postgresql/$PG_MAJOR/bin
@ -98,16 +98,17 @@ RUN set -ex; \
export PYTHONDONTWRITEBYTECODE=1; \ export PYTHONDONTWRITEBYTECODE=1; \
\ \
dpkgArch="$(dpkg --print-architecture)"; \ dpkgArch="$(dpkg --print-architecture)"; \
aptRepo="[ signed-by=/usr/local/share/keyrings/postgres.gpg.asc ] http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main $PG_MAJOR"; \
case "$dpkgArch" in \ case "$dpkgArch" in \
amd64 | arm64 | ppc64el) \ amd64 | arm64 | ppc64el) \
# arches officialy built by upstream # arches officialy built by upstream
echo "deb http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main $PG_MAJOR" > /etc/apt/sources.list.d/pgdg.list; \ echo "deb $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
apt-get update; \ apt-get update; \
;; \ ;; \
*) \ *) \
# we're on an architecture upstream doesn't officially build for # we're on an architecture upstream doesn't officially build for
# let's build binaries from their published source packages # let's build binaries from their published source packages
echo "deb-src http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main $PG_MAJOR" > /etc/apt/sources.list.d/pgdg.list; \ echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
\ \
tempDir="$(mktemp -d)"; \ tempDir="$(mktemp -d)"; \
cd "$tempDir"; \ cd "$tempDir"; \

11
14/bullseye/Dockerfile generated
View File

@ -81,11 +81,11 @@ RUN set -ex; \
# uid PostgreSQL Debian Repository # uid PostgreSQL Debian Repository
key='B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8'; \ key='B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8'; \
export GNUPGHOME="$(mktemp -d)"; \ export GNUPGHOME="$(mktemp -d)"; \
mkdir -p /usr/local/share/keyrings/; \
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
gpg --batch --export "$key" > /etc/apt/trusted.gpg.d/postgres.gpg; \ gpg --batch --export --armor "$key" > /usr/local/share/keyrings/postgres.gpg.asc; \
command -v gpgconf > /dev/null && gpgconf --kill all; \ command -v gpgconf > /dev/null && gpgconf --kill all; \
rm -rf "$GNUPGHOME"; \ rm -rf "$GNUPGHOME"
apt-key list
ENV PG_MAJOR 14 ENV PG_MAJOR 14
ENV PATH $PATH:/usr/lib/postgresql/$PG_MAJOR/bin ENV PATH $PATH:/usr/lib/postgresql/$PG_MAJOR/bin
@ -98,16 +98,17 @@ RUN set -ex; \
export PYTHONDONTWRITEBYTECODE=1; \ export PYTHONDONTWRITEBYTECODE=1; \
\ \
dpkgArch="$(dpkg --print-architecture)"; \ dpkgArch="$(dpkg --print-architecture)"; \
aptRepo="[ signed-by=/usr/local/share/keyrings/postgres.gpg.asc ] http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main $PG_MAJOR"; \
case "$dpkgArch" in \ case "$dpkgArch" in \
amd64 | arm64 | ppc64el) \ amd64 | arm64 | ppc64el) \
# arches officialy built by upstream # arches officialy built by upstream
echo "deb http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main $PG_MAJOR" > /etc/apt/sources.list.d/pgdg.list; \ echo "deb $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
apt-get update; \ apt-get update; \
;; \ ;; \
*) \ *) \
# we're on an architecture upstream doesn't officially build for # we're on an architecture upstream doesn't officially build for
# let's build binaries from their published source packages # let's build binaries from their published source packages
echo "deb-src http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main $PG_MAJOR" > /etc/apt/sources.list.d/pgdg.list; \ echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
\ \
tempDir="$(mktemp -d)"; \ tempDir="$(mktemp -d)"; \
cd "$tempDir"; \ cd "$tempDir"; \

View File

@ -81,11 +81,11 @@ RUN set -ex; \
# uid PostgreSQL Debian Repository # uid PostgreSQL Debian Repository
key='B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8'; \ key='B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8'; \
export GNUPGHOME="$(mktemp -d)"; \ export GNUPGHOME="$(mktemp -d)"; \
mkdir -p /usr/local/share/keyrings/; \
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
gpg --batch --export "$key" > /etc/apt/trusted.gpg.d/postgres.gpg; \ gpg --batch --export --armor "$key" > /usr/local/share/keyrings/postgres.gpg.asc; \
command -v gpgconf > /dev/null && gpgconf --kill all; \ command -v gpgconf > /dev/null && gpgconf --kill all; \
rm -rf "$GNUPGHOME"; \ rm -rf "$GNUPGHOME"
apt-key list
ENV PG_MAJOR 9.6 ENV PG_MAJOR 9.6
ENV PATH $PATH:/usr/lib/postgresql/$PG_MAJOR/bin ENV PATH $PATH:/usr/lib/postgresql/$PG_MAJOR/bin
@ -98,16 +98,17 @@ RUN set -ex; \
export PYTHONDONTWRITEBYTECODE=1; \ export PYTHONDONTWRITEBYTECODE=1; \
\ \
dpkgArch="$(dpkg --print-architecture)"; \ dpkgArch="$(dpkg --print-architecture)"; \
aptRepo="[ signed-by=/usr/local/share/keyrings/postgres.gpg.asc ] http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main $PG_MAJOR"; \
case "$dpkgArch" in \ case "$dpkgArch" in \
amd64 | arm64 | ppc64el) \ amd64 | arm64 | ppc64el) \
# arches officialy built by upstream # arches officialy built by upstream
echo "deb http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main $PG_MAJOR" > /etc/apt/sources.list.d/pgdg.list; \ echo "deb $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
apt-get update; \ apt-get update; \
;; \ ;; \
*) \ *) \
# we're on an architecture upstream doesn't officially build for # we're on an architecture upstream doesn't officially build for
# let's build binaries from their published source packages # let's build binaries from their published source packages
echo "deb-src http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main $PG_MAJOR" > /etc/apt/sources.list.d/pgdg.list; \ echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
\ \
tempDir="$(mktemp -d)"; \ tempDir="$(mktemp -d)"; \
cd "$tempDir"; \ cd "$tempDir"; \

11
9.6/stretch/Dockerfile generated
View File

@ -81,11 +81,11 @@ RUN set -ex; \
# uid PostgreSQL Debian Repository # uid PostgreSQL Debian Repository
key='B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8'; \ key='B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8'; \
export GNUPGHOME="$(mktemp -d)"; \ export GNUPGHOME="$(mktemp -d)"; \
mkdir -p /usr/local/share/keyrings/; \
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
gpg --batch --export "$key" > /etc/apt/trusted.gpg.d/postgres.gpg; \ gpg --batch --export --armor "$key" > /usr/local/share/keyrings/postgres.gpg.asc; \
command -v gpgconf > /dev/null && gpgconf --kill all; \ command -v gpgconf > /dev/null && gpgconf --kill all; \
rm -rf "$GNUPGHOME"; \ rm -rf "$GNUPGHOME"
apt-key list
ENV PG_MAJOR 9.6 ENV PG_MAJOR 9.6
ENV PATH $PATH:/usr/lib/postgresql/$PG_MAJOR/bin ENV PATH $PATH:/usr/lib/postgresql/$PG_MAJOR/bin
@ -98,16 +98,17 @@ RUN set -ex; \
export PYTHONDONTWRITEBYTECODE=1; \ export PYTHONDONTWRITEBYTECODE=1; \
\ \
dpkgArch="$(dpkg --print-architecture)"; \ dpkgArch="$(dpkg --print-architecture)"; \
aptRepo="[ signed-by=/usr/local/share/keyrings/postgres.gpg.asc ] http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main $PG_MAJOR"; \
case "$dpkgArch" in \ case "$dpkgArch" in \
amd64 | i386 | ppc64el) \ amd64 | i386 | ppc64el) \
# arches officialy built by upstream # arches officialy built by upstream
echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main $PG_MAJOR" > /etc/apt/sources.list.d/pgdg.list; \ echo "deb $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
apt-get update; \ apt-get update; \
;; \ ;; \
*) \ *) \
# we're on an architecture upstream doesn't officially build for # we're on an architecture upstream doesn't officially build for
# let's build binaries from their published source packages # let's build binaries from their published source packages
echo "deb-src http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main $PG_MAJOR" > /etc/apt/sources.list.d/pgdg.list; \ echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
\ \
tempDir="$(mktemp -d)"; \ tempDir="$(mktemp -d)"; \
cd "$tempDir"; \ cd "$tempDir"; \

View File

@ -75,11 +75,11 @@ RUN set -ex; \
# uid PostgreSQL Debian Repository # uid PostgreSQL Debian Repository
key='B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8'; \ key='B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8'; \
export GNUPGHOME="$(mktemp -d)"; \ export GNUPGHOME="$(mktemp -d)"; \
mkdir -p /usr/local/share/keyrings/; \
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
gpg --batch --export "$key" > /etc/apt/trusted.gpg.d/postgres.gpg; \ gpg --batch --export --armor "$key" > /usr/local/share/keyrings/postgres.gpg.asc; \
command -v gpgconf > /dev/null && gpgconf --kill all; \ command -v gpgconf > /dev/null && gpgconf --kill all; \
rm -rf "$GNUPGHOME"; \ rm -rf "$GNUPGHOME"
apt-key list
ENV PG_MAJOR {{ env.version }} ENV PG_MAJOR {{ env.version }}
ENV PATH $PATH:/usr/lib/postgresql/$PG_MAJOR/bin ENV PATH $PATH:/usr/lib/postgresql/$PG_MAJOR/bin
@ -92,16 +92,17 @@ RUN set -ex; \
export PYTHONDONTWRITEBYTECODE=1; \ export PYTHONDONTWRITEBYTECODE=1; \
\ \
dpkgArch="$(dpkg --print-architecture)"; \ dpkgArch="$(dpkg --print-architecture)"; \
aptRepo="[ signed-by=/usr/local/share/keyrings/postgres.gpg.asc ] http://apt.postgresql.org/pub/repos/apt/ {{ env.variant }}-pgdg main $PG_MAJOR"; \
case "$dpkgArch" in \ case "$dpkgArch" in \
{{ .[env.variant].arches | join(" | ") }}) \ {{ .[env.variant].arches | join(" | ") }}) \
# arches officialy built by upstream # arches officialy built by upstream
echo "deb http://apt.postgresql.org/pub/repos/apt/ {{ env.variant }}-pgdg main $PG_MAJOR" > /etc/apt/sources.list.d/pgdg.list; \ echo "deb $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
apt-get update; \ apt-get update; \
;; \ ;; \
*) \ *) \
# we're on an architecture upstream doesn't officially build for # we're on an architecture upstream doesn't officially build for
# let's build binaries from their published source packages # let's build binaries from their published source packages
echo "deb-src http://apt.postgresql.org/pub/repos/apt/ {{ env.variant }}-pgdg main $PG_MAJOR" > /etc/apt/sources.list.d/pgdg.list; \ echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
\ \
{{ if env.variant == "stretch" and .major >= 11 then ( -}} {{ if env.variant == "stretch" and .major >= 11 then ( -}}
# https://github.com/docker-library/postgres/issues/484 (clang-6.0 required, only available in stretch-backports) # https://github.com/docker-library/postgres/issues/484 (clang-6.0 required, only available in stretch-backports)