You've already forked postgres
mirror of
https://github.com/docker-library/postgres.git
synced 2025-07-26 23:21:10 +03:00
Merge pull request #931 from infosiftr/fix-deb-build
Fix deb-build with newer packages that Build-Depends: postgresql-common
This commit is contained in:
46
10/bullseye/Dockerfile
generated
46
10/bullseye/Dockerfile
generated
@ -110,22 +110,36 @@ RUN set -ex; \
|
||||
# let's build binaries from their published source packages
|
||||
echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
|
||||
\
|
||||
savedAptMark="$(apt-mark showmanual)"; \
|
||||
\
|
||||
tempDir="$(mktemp -d)"; \
|
||||
cd "$tempDir"; \
|
||||
\
|
||||
savedAptMark="$(apt-mark showmanual)"; \
|
||||
# create a temporary local APT repo to install from (so that dependency resolution can be handled by APT, as it should be)
|
||||
apt-get update; \
|
||||
apt-get install -y --no-install-recommends dpkg-dev; \
|
||||
echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list; \
|
||||
_update_repo() { \
|
||||
dpkg-scanpackages . > Packages; \
|
||||
# work around the following APT issue by using "Acquire::GzipIndexes=false" (overriding "/etc/apt/apt.conf.d/docker-gzip-indexes")
|
||||
# Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
# ...
|
||||
# E: Failed to fetch store:/var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
apt-get -o Acquire::GzipIndexes=false update; \
|
||||
}; \
|
||||
_update_repo; \
|
||||
\
|
||||
# build .deb files from upstream's source packages (which are verified by apt-get)
|
||||
apt-get update; \
|
||||
apt-get build-dep -y \
|
||||
postgresql-common pgdg-keyring \
|
||||
"postgresql-$PG_MAJOR=$PG_VERSION" \
|
||||
; \
|
||||
DEB_BUILD_OPTIONS="nocheck parallel=$(nproc)" \
|
||||
apt-get source --compile \
|
||||
postgresql-common pgdg-keyring \
|
||||
"postgresql-$PG_MAJOR=$PG_VERSION" \
|
||||
; \
|
||||
nproc="$(nproc)"; \
|
||||
export DEB_BUILD_OPTIONS="nocheck parallel=$nproc"; \
|
||||
# we have to build postgresql-common first because postgresql-$PG_MAJOR shares "debian/rules" logic with it: https://salsa.debian.org/postgresql/postgresql/-/commit/99f44476e258cae6bf9e919219fa2c5414fa2876
|
||||
# (and it "Depends: pgdg-keyring")
|
||||
apt-get build-dep -y postgresql-common pgdg-keyring; \
|
||||
apt-get source --compile postgresql-common pgdg-keyring; \
|
||||
_update_repo; \
|
||||
apt-get build-dep -y "postgresql-$PG_MAJOR=$PG_VERSION"; \
|
||||
apt-get source --compile "postgresql-$PG_MAJOR=$PG_VERSION"; \
|
||||
\
|
||||
# we don't remove APT lists here because they get re-downloaded and removed later
|
||||
\
|
||||
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
|
||||
@ -133,16 +147,10 @@ RUN set -ex; \
|
||||
apt-mark showmanual | xargs apt-mark auto > /dev/null; \
|
||||
apt-mark manual $savedAptMark; \
|
||||
\
|
||||
# create a temporary local APT repo to install from (so that dependency resolution can be handled by APT, as it should be)
|
||||
ls -lAFh; \
|
||||
dpkg-scanpackages . > Packages; \
|
||||
_update_repo; \
|
||||
grep '^Package: ' Packages; \
|
||||
echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list; \
|
||||
# work around the following APT issue by using "Acquire::GzipIndexes=false" (overriding "/etc/apt/apt.conf.d/docker-gzip-indexes")
|
||||
# Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
# ...
|
||||
# E: Failed to fetch store:/var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
apt-get -o Acquire::GzipIndexes=false update; \
|
||||
cd /; \
|
||||
;; \
|
||||
esac; \
|
||||
\
|
||||
|
46
10/stretch/Dockerfile
generated
46
10/stretch/Dockerfile
generated
@ -110,22 +110,36 @@ RUN set -ex; \
|
||||
# let's build binaries from their published source packages
|
||||
echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
|
||||
\
|
||||
savedAptMark="$(apt-mark showmanual)"; \
|
||||
\
|
||||
tempDir="$(mktemp -d)"; \
|
||||
cd "$tempDir"; \
|
||||
\
|
||||
savedAptMark="$(apt-mark showmanual)"; \
|
||||
# create a temporary local APT repo to install from (so that dependency resolution can be handled by APT, as it should be)
|
||||
apt-get update; \
|
||||
apt-get install -y --no-install-recommends dpkg-dev; \
|
||||
echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list; \
|
||||
_update_repo() { \
|
||||
dpkg-scanpackages . > Packages; \
|
||||
# work around the following APT issue by using "Acquire::GzipIndexes=false" (overriding "/etc/apt/apt.conf.d/docker-gzip-indexes")
|
||||
# Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
# ...
|
||||
# E: Failed to fetch store:/var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
apt-get -o Acquire::GzipIndexes=false update; \
|
||||
}; \
|
||||
_update_repo; \
|
||||
\
|
||||
# build .deb files from upstream's source packages (which are verified by apt-get)
|
||||
apt-get update; \
|
||||
apt-get build-dep -y \
|
||||
postgresql-common pgdg-keyring \
|
||||
"postgresql-$PG_MAJOR=$PG_VERSION" \
|
||||
; \
|
||||
DEB_BUILD_OPTIONS="nocheck parallel=$(nproc)" \
|
||||
apt-get source --compile \
|
||||
postgresql-common pgdg-keyring \
|
||||
"postgresql-$PG_MAJOR=$PG_VERSION" \
|
||||
; \
|
||||
nproc="$(nproc)"; \
|
||||
export DEB_BUILD_OPTIONS="nocheck parallel=$nproc"; \
|
||||
# we have to build postgresql-common first because postgresql-$PG_MAJOR shares "debian/rules" logic with it: https://salsa.debian.org/postgresql/postgresql/-/commit/99f44476e258cae6bf9e919219fa2c5414fa2876
|
||||
# (and it "Depends: pgdg-keyring")
|
||||
apt-get build-dep -y postgresql-common pgdg-keyring; \
|
||||
apt-get source --compile postgresql-common pgdg-keyring; \
|
||||
_update_repo; \
|
||||
apt-get build-dep -y "postgresql-$PG_MAJOR=$PG_VERSION"; \
|
||||
apt-get source --compile "postgresql-$PG_MAJOR=$PG_VERSION"; \
|
||||
\
|
||||
# we don't remove APT lists here because they get re-downloaded and removed later
|
||||
\
|
||||
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
|
||||
@ -133,16 +147,10 @@ RUN set -ex; \
|
||||
apt-mark showmanual | xargs apt-mark auto > /dev/null; \
|
||||
apt-mark manual $savedAptMark; \
|
||||
\
|
||||
# create a temporary local APT repo to install from (so that dependency resolution can be handled by APT, as it should be)
|
||||
ls -lAFh; \
|
||||
dpkg-scanpackages . > Packages; \
|
||||
_update_repo; \
|
||||
grep '^Package: ' Packages; \
|
||||
echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list; \
|
||||
# work around the following APT issue by using "Acquire::GzipIndexes=false" (overriding "/etc/apt/apt.conf.d/docker-gzip-indexes")
|
||||
# Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
# ...
|
||||
# E: Failed to fetch store:/var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
apt-get -o Acquire::GzipIndexes=false update; \
|
||||
cd /; \
|
||||
;; \
|
||||
esac; \
|
||||
\
|
||||
|
46
11/bullseye/Dockerfile
generated
46
11/bullseye/Dockerfile
generated
@ -110,22 +110,36 @@ RUN set -ex; \
|
||||
# let's build binaries from their published source packages
|
||||
echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
|
||||
\
|
||||
savedAptMark="$(apt-mark showmanual)"; \
|
||||
\
|
||||
tempDir="$(mktemp -d)"; \
|
||||
cd "$tempDir"; \
|
||||
\
|
||||
savedAptMark="$(apt-mark showmanual)"; \
|
||||
# create a temporary local APT repo to install from (so that dependency resolution can be handled by APT, as it should be)
|
||||
apt-get update; \
|
||||
apt-get install -y --no-install-recommends dpkg-dev; \
|
||||
echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list; \
|
||||
_update_repo() { \
|
||||
dpkg-scanpackages . > Packages; \
|
||||
# work around the following APT issue by using "Acquire::GzipIndexes=false" (overriding "/etc/apt/apt.conf.d/docker-gzip-indexes")
|
||||
# Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
# ...
|
||||
# E: Failed to fetch store:/var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
apt-get -o Acquire::GzipIndexes=false update; \
|
||||
}; \
|
||||
_update_repo; \
|
||||
\
|
||||
# build .deb files from upstream's source packages (which are verified by apt-get)
|
||||
apt-get update; \
|
||||
apt-get build-dep -y \
|
||||
postgresql-common pgdg-keyring \
|
||||
"postgresql-$PG_MAJOR=$PG_VERSION" \
|
||||
; \
|
||||
DEB_BUILD_OPTIONS="nocheck parallel=$(nproc)" \
|
||||
apt-get source --compile \
|
||||
postgresql-common pgdg-keyring \
|
||||
"postgresql-$PG_MAJOR=$PG_VERSION" \
|
||||
; \
|
||||
nproc="$(nproc)"; \
|
||||
export DEB_BUILD_OPTIONS="nocheck parallel=$nproc"; \
|
||||
# we have to build postgresql-common first because postgresql-$PG_MAJOR shares "debian/rules" logic with it: https://salsa.debian.org/postgresql/postgresql/-/commit/99f44476e258cae6bf9e919219fa2c5414fa2876
|
||||
# (and it "Depends: pgdg-keyring")
|
||||
apt-get build-dep -y postgresql-common pgdg-keyring; \
|
||||
apt-get source --compile postgresql-common pgdg-keyring; \
|
||||
_update_repo; \
|
||||
apt-get build-dep -y "postgresql-$PG_MAJOR=$PG_VERSION"; \
|
||||
apt-get source --compile "postgresql-$PG_MAJOR=$PG_VERSION"; \
|
||||
\
|
||||
# we don't remove APT lists here because they get re-downloaded and removed later
|
||||
\
|
||||
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
|
||||
@ -133,16 +147,10 @@ RUN set -ex; \
|
||||
apt-mark showmanual | xargs apt-mark auto > /dev/null; \
|
||||
apt-mark manual $savedAptMark; \
|
||||
\
|
||||
# create a temporary local APT repo to install from (so that dependency resolution can be handled by APT, as it should be)
|
||||
ls -lAFh; \
|
||||
dpkg-scanpackages . > Packages; \
|
||||
_update_repo; \
|
||||
grep '^Package: ' Packages; \
|
||||
echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list; \
|
||||
# work around the following APT issue by using "Acquire::GzipIndexes=false" (overriding "/etc/apt/apt.conf.d/docker-gzip-indexes")
|
||||
# Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
# ...
|
||||
# E: Failed to fetch store:/var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
apt-get -o Acquire::GzipIndexes=false update; \
|
||||
cd /; \
|
||||
;; \
|
||||
esac; \
|
||||
\
|
||||
|
49
11/stretch/Dockerfile
generated
49
11/stretch/Dockerfile
generated
@ -110,25 +110,42 @@ RUN set -ex; \
|
||||
# let's build binaries from their published source packages
|
||||
echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
|
||||
\
|
||||
savedAptMark="$(apt-mark showmanual)"; \
|
||||
\
|
||||
# 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; \
|
||||
# ... and thanks to https://salsa.debian.org/postgresql/postgresql/-/commit/e914bb060a9b58dae661f1c3439de5ffe4ba62d0 it doesn't get pulled in automatically any more (but if we install it manually it gets used by the build appropriately 🙈)
|
||||
apt-get update; \
|
||||
apt-get install -y --no-install-recommends clang-6.0; \
|
||||
\
|
||||
tempDir="$(mktemp -d)"; \
|
||||
cd "$tempDir"; \
|
||||
\
|
||||
savedAptMark="$(apt-mark showmanual)"; \
|
||||
# create a temporary local APT repo to install from (so that dependency resolution can be handled by APT, as it should be)
|
||||
apt-get update; \
|
||||
apt-get install -y --no-install-recommends dpkg-dev; \
|
||||
echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list; \
|
||||
_update_repo() { \
|
||||
dpkg-scanpackages . > Packages; \
|
||||
# work around the following APT issue by using "Acquire::GzipIndexes=false" (overriding "/etc/apt/apt.conf.d/docker-gzip-indexes")
|
||||
# Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
# ...
|
||||
# E: Failed to fetch store:/var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
apt-get -o Acquire::GzipIndexes=false update; \
|
||||
}; \
|
||||
_update_repo; \
|
||||
\
|
||||
# build .deb files from upstream's source packages (which are verified by apt-get)
|
||||
apt-get update; \
|
||||
apt-get build-dep -y \
|
||||
postgresql-common pgdg-keyring \
|
||||
"postgresql-$PG_MAJOR=$PG_VERSION" \
|
||||
; \
|
||||
DEB_BUILD_OPTIONS="nocheck parallel=$(nproc)" \
|
||||
apt-get source --compile \
|
||||
postgresql-common pgdg-keyring \
|
||||
"postgresql-$PG_MAJOR=$PG_VERSION" \
|
||||
; \
|
||||
nproc="$(nproc)"; \
|
||||
export DEB_BUILD_OPTIONS="nocheck parallel=$nproc"; \
|
||||
# we have to build postgresql-common first because postgresql-$PG_MAJOR shares "debian/rules" logic with it: https://salsa.debian.org/postgresql/postgresql/-/commit/99f44476e258cae6bf9e919219fa2c5414fa2876
|
||||
# (and it "Depends: pgdg-keyring")
|
||||
apt-get build-dep -y postgresql-common pgdg-keyring; \
|
||||
apt-get source --compile postgresql-common pgdg-keyring; \
|
||||
_update_repo; \
|
||||
apt-get build-dep -y "postgresql-$PG_MAJOR=$PG_VERSION"; \
|
||||
apt-get source --compile "postgresql-$PG_MAJOR=$PG_VERSION"; \
|
||||
\
|
||||
# we don't remove APT lists here because they get re-downloaded and removed later
|
||||
\
|
||||
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
|
||||
@ -136,16 +153,10 @@ RUN set -ex; \
|
||||
apt-mark showmanual | xargs apt-mark auto > /dev/null; \
|
||||
apt-mark manual $savedAptMark; \
|
||||
\
|
||||
# create a temporary local APT repo to install from (so that dependency resolution can be handled by APT, as it should be)
|
||||
ls -lAFh; \
|
||||
dpkg-scanpackages . > Packages; \
|
||||
_update_repo; \
|
||||
grep '^Package: ' Packages; \
|
||||
echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list; \
|
||||
# work around the following APT issue by using "Acquire::GzipIndexes=false" (overriding "/etc/apt/apt.conf.d/docker-gzip-indexes")
|
||||
# Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
# ...
|
||||
# E: Failed to fetch store:/var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
apt-get -o Acquire::GzipIndexes=false update; \
|
||||
cd /; \
|
||||
;; \
|
||||
esac; \
|
||||
\
|
||||
|
46
12/bullseye/Dockerfile
generated
46
12/bullseye/Dockerfile
generated
@ -110,22 +110,36 @@ RUN set -ex; \
|
||||
# let's build binaries from their published source packages
|
||||
echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
|
||||
\
|
||||
savedAptMark="$(apt-mark showmanual)"; \
|
||||
\
|
||||
tempDir="$(mktemp -d)"; \
|
||||
cd "$tempDir"; \
|
||||
\
|
||||
savedAptMark="$(apt-mark showmanual)"; \
|
||||
# create a temporary local APT repo to install from (so that dependency resolution can be handled by APT, as it should be)
|
||||
apt-get update; \
|
||||
apt-get install -y --no-install-recommends dpkg-dev; \
|
||||
echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list; \
|
||||
_update_repo() { \
|
||||
dpkg-scanpackages . > Packages; \
|
||||
# work around the following APT issue by using "Acquire::GzipIndexes=false" (overriding "/etc/apt/apt.conf.d/docker-gzip-indexes")
|
||||
# Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
# ...
|
||||
# E: Failed to fetch store:/var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
apt-get -o Acquire::GzipIndexes=false update; \
|
||||
}; \
|
||||
_update_repo; \
|
||||
\
|
||||
# build .deb files from upstream's source packages (which are verified by apt-get)
|
||||
apt-get update; \
|
||||
apt-get build-dep -y \
|
||||
postgresql-common pgdg-keyring \
|
||||
"postgresql-$PG_MAJOR=$PG_VERSION" \
|
||||
; \
|
||||
DEB_BUILD_OPTIONS="nocheck parallel=$(nproc)" \
|
||||
apt-get source --compile \
|
||||
postgresql-common pgdg-keyring \
|
||||
"postgresql-$PG_MAJOR=$PG_VERSION" \
|
||||
; \
|
||||
nproc="$(nproc)"; \
|
||||
export DEB_BUILD_OPTIONS="nocheck parallel=$nproc"; \
|
||||
# we have to build postgresql-common first because postgresql-$PG_MAJOR shares "debian/rules" logic with it: https://salsa.debian.org/postgresql/postgresql/-/commit/99f44476e258cae6bf9e919219fa2c5414fa2876
|
||||
# (and it "Depends: pgdg-keyring")
|
||||
apt-get build-dep -y postgresql-common pgdg-keyring; \
|
||||
apt-get source --compile postgresql-common pgdg-keyring; \
|
||||
_update_repo; \
|
||||
apt-get build-dep -y "postgresql-$PG_MAJOR=$PG_VERSION"; \
|
||||
apt-get source --compile "postgresql-$PG_MAJOR=$PG_VERSION"; \
|
||||
\
|
||||
# we don't remove APT lists here because they get re-downloaded and removed later
|
||||
\
|
||||
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
|
||||
@ -133,16 +147,10 @@ RUN set -ex; \
|
||||
apt-mark showmanual | xargs apt-mark auto > /dev/null; \
|
||||
apt-mark manual $savedAptMark; \
|
||||
\
|
||||
# create a temporary local APT repo to install from (so that dependency resolution can be handled by APT, as it should be)
|
||||
ls -lAFh; \
|
||||
dpkg-scanpackages . > Packages; \
|
||||
_update_repo; \
|
||||
grep '^Package: ' Packages; \
|
||||
echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list; \
|
||||
# work around the following APT issue by using "Acquire::GzipIndexes=false" (overriding "/etc/apt/apt.conf.d/docker-gzip-indexes")
|
||||
# Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
# ...
|
||||
# E: Failed to fetch store:/var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
apt-get -o Acquire::GzipIndexes=false update; \
|
||||
cd /; \
|
||||
;; \
|
||||
esac; \
|
||||
\
|
||||
|
46
13/bullseye/Dockerfile
generated
46
13/bullseye/Dockerfile
generated
@ -110,24 +110,38 @@ RUN set -ex; \
|
||||
# let's build binaries from their published source packages
|
||||
echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
|
||||
\
|
||||
savedAptMark="$(apt-mark showmanual)"; \
|
||||
\
|
||||
tempDir="$(mktemp -d)"; \
|
||||
cd "$tempDir"; \
|
||||
\
|
||||
savedAptMark="$(apt-mark showmanual)"; \
|
||||
# create a temporary local APT repo to install from (so that dependency resolution can be handled by APT, as it should be)
|
||||
apt-get update; \
|
||||
apt-get install -y --no-install-recommends dpkg-dev; \
|
||||
echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list; \
|
||||
_update_repo() { \
|
||||
dpkg-scanpackages . > Packages; \
|
||||
# work around the following APT issue by using "Acquire::GzipIndexes=false" (overriding "/etc/apt/apt.conf.d/docker-gzip-indexes")
|
||||
# Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
# ...
|
||||
# E: Failed to fetch store:/var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
apt-get -o Acquire::GzipIndexes=false update; \
|
||||
}; \
|
||||
_update_repo; \
|
||||
\
|
||||
# build .deb files from upstream's source packages (which are verified by apt-get)
|
||||
apt-get update; \
|
||||
nproc="$(nproc)"; \
|
||||
export DEB_BUILD_OPTIONS="nocheck parallel=$nproc"; \
|
||||
# we have to build postgresql-common first because postgresql-$PG_MAJOR shares "debian/rules" logic with it: https://salsa.debian.org/postgresql/postgresql/-/commit/99f44476e258cae6bf9e919219fa2c5414fa2876
|
||||
# (and it "Depends: pgdg-keyring")
|
||||
apt-get build-dep -y postgresql-common pgdg-keyring; \
|
||||
apt-get source --compile postgresql-common pgdg-keyring; \
|
||||
_update_repo; \
|
||||
# we need DEBIAN_FRONTEND on postgresql-13 for slapd ("Please enter the password for the admin entry in your LDAP directory."); see https://bugs.debian.org/929417
|
||||
DEBIAN_FRONTEND=noninteractive \
|
||||
apt-get build-dep -y \
|
||||
postgresql-common pgdg-keyring \
|
||||
"postgresql-$PG_MAJOR=$PG_VERSION" \
|
||||
; \
|
||||
DEB_BUILD_OPTIONS="nocheck parallel=$(nproc)" \
|
||||
apt-get source --compile \
|
||||
postgresql-common pgdg-keyring \
|
||||
"postgresql-$PG_MAJOR=$PG_VERSION" \
|
||||
; \
|
||||
apt-get build-dep -y "postgresql-$PG_MAJOR=$PG_VERSION"; \
|
||||
apt-get source --compile "postgresql-$PG_MAJOR=$PG_VERSION"; \
|
||||
\
|
||||
# we don't remove APT lists here because they get re-downloaded and removed later
|
||||
\
|
||||
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
|
||||
@ -135,16 +149,10 @@ RUN set -ex; \
|
||||
apt-mark showmanual | xargs apt-mark auto > /dev/null; \
|
||||
apt-mark manual $savedAptMark; \
|
||||
\
|
||||
# create a temporary local APT repo to install from (so that dependency resolution can be handled by APT, as it should be)
|
||||
ls -lAFh; \
|
||||
dpkg-scanpackages . > Packages; \
|
||||
_update_repo; \
|
||||
grep '^Package: ' Packages; \
|
||||
echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list; \
|
||||
# work around the following APT issue by using "Acquire::GzipIndexes=false" (overriding "/etc/apt/apt.conf.d/docker-gzip-indexes")
|
||||
# Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
# ...
|
||||
# E: Failed to fetch store:/var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
apt-get -o Acquire::GzipIndexes=false update; \
|
||||
cd /; \
|
||||
;; \
|
||||
esac; \
|
||||
\
|
||||
|
46
14/bullseye/Dockerfile
generated
46
14/bullseye/Dockerfile
generated
@ -110,22 +110,36 @@ RUN set -ex; \
|
||||
# let's build binaries from their published source packages
|
||||
echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
|
||||
\
|
||||
savedAptMark="$(apt-mark showmanual)"; \
|
||||
\
|
||||
tempDir="$(mktemp -d)"; \
|
||||
cd "$tempDir"; \
|
||||
\
|
||||
savedAptMark="$(apt-mark showmanual)"; \
|
||||
# create a temporary local APT repo to install from (so that dependency resolution can be handled by APT, as it should be)
|
||||
apt-get update; \
|
||||
apt-get install -y --no-install-recommends dpkg-dev; \
|
||||
echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list; \
|
||||
_update_repo() { \
|
||||
dpkg-scanpackages . > Packages; \
|
||||
# work around the following APT issue by using "Acquire::GzipIndexes=false" (overriding "/etc/apt/apt.conf.d/docker-gzip-indexes")
|
||||
# Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
# ...
|
||||
# E: Failed to fetch store:/var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
apt-get -o Acquire::GzipIndexes=false update; \
|
||||
}; \
|
||||
_update_repo; \
|
||||
\
|
||||
# build .deb files from upstream's source packages (which are verified by apt-get)
|
||||
apt-get update; \
|
||||
apt-get build-dep -y \
|
||||
postgresql-common pgdg-keyring \
|
||||
"postgresql-$PG_MAJOR=$PG_VERSION" \
|
||||
; \
|
||||
DEB_BUILD_OPTIONS="nocheck parallel=$(nproc)" \
|
||||
apt-get source --compile \
|
||||
postgresql-common pgdg-keyring \
|
||||
"postgresql-$PG_MAJOR=$PG_VERSION" \
|
||||
; \
|
||||
nproc="$(nproc)"; \
|
||||
export DEB_BUILD_OPTIONS="nocheck parallel=$nproc"; \
|
||||
# we have to build postgresql-common first because postgresql-$PG_MAJOR shares "debian/rules" logic with it: https://salsa.debian.org/postgresql/postgresql/-/commit/99f44476e258cae6bf9e919219fa2c5414fa2876
|
||||
# (and it "Depends: pgdg-keyring")
|
||||
apt-get build-dep -y postgresql-common pgdg-keyring; \
|
||||
apt-get source --compile postgresql-common pgdg-keyring; \
|
||||
_update_repo; \
|
||||
apt-get build-dep -y "postgresql-$PG_MAJOR=$PG_VERSION"; \
|
||||
apt-get source --compile "postgresql-$PG_MAJOR=$PG_VERSION"; \
|
||||
\
|
||||
# we don't remove APT lists here because they get re-downloaded and removed later
|
||||
\
|
||||
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
|
||||
@ -133,16 +147,10 @@ RUN set -ex; \
|
||||
apt-mark showmanual | xargs apt-mark auto > /dev/null; \
|
||||
apt-mark manual $savedAptMark; \
|
||||
\
|
||||
# create a temporary local APT repo to install from (so that dependency resolution can be handled by APT, as it should be)
|
||||
ls -lAFh; \
|
||||
dpkg-scanpackages . > Packages; \
|
||||
_update_repo; \
|
||||
grep '^Package: ' Packages; \
|
||||
echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list; \
|
||||
# work around the following APT issue by using "Acquire::GzipIndexes=false" (overriding "/etc/apt/apt.conf.d/docker-gzip-indexes")
|
||||
# Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
# ...
|
||||
# E: Failed to fetch store:/var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
apt-get -o Acquire::GzipIndexes=false update; \
|
||||
cd /; \
|
||||
;; \
|
||||
esac; \
|
||||
\
|
||||
|
46
9.6/bullseye/Dockerfile
generated
46
9.6/bullseye/Dockerfile
generated
@ -110,22 +110,36 @@ RUN set -ex; \
|
||||
# let's build binaries from their published source packages
|
||||
echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
|
||||
\
|
||||
savedAptMark="$(apt-mark showmanual)"; \
|
||||
\
|
||||
tempDir="$(mktemp -d)"; \
|
||||
cd "$tempDir"; \
|
||||
\
|
||||
savedAptMark="$(apt-mark showmanual)"; \
|
||||
# create a temporary local APT repo to install from (so that dependency resolution can be handled by APT, as it should be)
|
||||
apt-get update; \
|
||||
apt-get install -y --no-install-recommends dpkg-dev; \
|
||||
echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list; \
|
||||
_update_repo() { \
|
||||
dpkg-scanpackages . > Packages; \
|
||||
# work around the following APT issue by using "Acquire::GzipIndexes=false" (overriding "/etc/apt/apt.conf.d/docker-gzip-indexes")
|
||||
# Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
# ...
|
||||
# E: Failed to fetch store:/var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
apt-get -o Acquire::GzipIndexes=false update; \
|
||||
}; \
|
||||
_update_repo; \
|
||||
\
|
||||
# build .deb files from upstream's source packages (which are verified by apt-get)
|
||||
apt-get update; \
|
||||
apt-get build-dep -y \
|
||||
postgresql-common pgdg-keyring \
|
||||
"postgresql-$PG_MAJOR=$PG_VERSION" \
|
||||
; \
|
||||
DEB_BUILD_OPTIONS="nocheck parallel=$(nproc)" \
|
||||
apt-get source --compile \
|
||||
postgresql-common pgdg-keyring \
|
||||
"postgresql-$PG_MAJOR=$PG_VERSION" \
|
||||
; \
|
||||
nproc="$(nproc)"; \
|
||||
export DEB_BUILD_OPTIONS="nocheck parallel=$nproc"; \
|
||||
# we have to build postgresql-common first because postgresql-$PG_MAJOR shares "debian/rules" logic with it: https://salsa.debian.org/postgresql/postgresql/-/commit/99f44476e258cae6bf9e919219fa2c5414fa2876
|
||||
# (and it "Depends: pgdg-keyring")
|
||||
apt-get build-dep -y postgresql-common pgdg-keyring; \
|
||||
apt-get source --compile postgresql-common pgdg-keyring; \
|
||||
_update_repo; \
|
||||
apt-get build-dep -y "postgresql-$PG_MAJOR=$PG_VERSION"; \
|
||||
apt-get source --compile "postgresql-$PG_MAJOR=$PG_VERSION"; \
|
||||
\
|
||||
# we don't remove APT lists here because they get re-downloaded and removed later
|
||||
\
|
||||
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
|
||||
@ -133,16 +147,10 @@ RUN set -ex; \
|
||||
apt-mark showmanual | xargs apt-mark auto > /dev/null; \
|
||||
apt-mark manual $savedAptMark; \
|
||||
\
|
||||
# create a temporary local APT repo to install from (so that dependency resolution can be handled by APT, as it should be)
|
||||
ls -lAFh; \
|
||||
dpkg-scanpackages . > Packages; \
|
||||
_update_repo; \
|
||||
grep '^Package: ' Packages; \
|
||||
echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list; \
|
||||
# work around the following APT issue by using "Acquire::GzipIndexes=false" (overriding "/etc/apt/apt.conf.d/docker-gzip-indexes")
|
||||
# Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
# ...
|
||||
# E: Failed to fetch store:/var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
apt-get -o Acquire::GzipIndexes=false update; \
|
||||
cd /; \
|
||||
;; \
|
||||
esac; \
|
||||
\
|
||||
|
46
9.6/stretch/Dockerfile
generated
46
9.6/stretch/Dockerfile
generated
@ -110,22 +110,36 @@ RUN set -ex; \
|
||||
# let's build binaries from their published source packages
|
||||
echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
|
||||
\
|
||||
savedAptMark="$(apt-mark showmanual)"; \
|
||||
\
|
||||
tempDir="$(mktemp -d)"; \
|
||||
cd "$tempDir"; \
|
||||
\
|
||||
savedAptMark="$(apt-mark showmanual)"; \
|
||||
# create a temporary local APT repo to install from (so that dependency resolution can be handled by APT, as it should be)
|
||||
apt-get update; \
|
||||
apt-get install -y --no-install-recommends dpkg-dev; \
|
||||
echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list; \
|
||||
_update_repo() { \
|
||||
dpkg-scanpackages . > Packages; \
|
||||
# work around the following APT issue by using "Acquire::GzipIndexes=false" (overriding "/etc/apt/apt.conf.d/docker-gzip-indexes")
|
||||
# Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
# ...
|
||||
# E: Failed to fetch store:/var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
apt-get -o Acquire::GzipIndexes=false update; \
|
||||
}; \
|
||||
_update_repo; \
|
||||
\
|
||||
# build .deb files from upstream's source packages (which are verified by apt-get)
|
||||
apt-get update; \
|
||||
apt-get build-dep -y \
|
||||
postgresql-common pgdg-keyring \
|
||||
"postgresql-$PG_MAJOR=$PG_VERSION" \
|
||||
; \
|
||||
DEB_BUILD_OPTIONS="nocheck parallel=$(nproc)" \
|
||||
apt-get source --compile \
|
||||
postgresql-common pgdg-keyring \
|
||||
"postgresql-$PG_MAJOR=$PG_VERSION" \
|
||||
; \
|
||||
nproc="$(nproc)"; \
|
||||
export DEB_BUILD_OPTIONS="nocheck parallel=$nproc"; \
|
||||
# we have to build postgresql-common first because postgresql-$PG_MAJOR shares "debian/rules" logic with it: https://salsa.debian.org/postgresql/postgresql/-/commit/99f44476e258cae6bf9e919219fa2c5414fa2876
|
||||
# (and it "Depends: pgdg-keyring")
|
||||
apt-get build-dep -y postgresql-common pgdg-keyring; \
|
||||
apt-get source --compile postgresql-common pgdg-keyring; \
|
||||
_update_repo; \
|
||||
apt-get build-dep -y "postgresql-$PG_MAJOR=$PG_VERSION"; \
|
||||
apt-get source --compile "postgresql-$PG_MAJOR=$PG_VERSION"; \
|
||||
\
|
||||
# we don't remove APT lists here because they get re-downloaded and removed later
|
||||
\
|
||||
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
|
||||
@ -133,16 +147,10 @@ RUN set -ex; \
|
||||
apt-mark showmanual | xargs apt-mark auto > /dev/null; \
|
||||
apt-mark manual $savedAptMark; \
|
||||
\
|
||||
# create a temporary local APT repo to install from (so that dependency resolution can be handled by APT, as it should be)
|
||||
ls -lAFh; \
|
||||
dpkg-scanpackages . > Packages; \
|
||||
_update_repo; \
|
||||
grep '^Package: ' Packages; \
|
||||
echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list; \
|
||||
# work around the following APT issue by using "Acquire::GzipIndexes=false" (overriding "/etc/apt/apt.conf.d/docker-gzip-indexes")
|
||||
# Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
# ...
|
||||
# E: Failed to fetch store:/var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
apt-get -o Acquire::GzipIndexes=false update; \
|
||||
cd /; \
|
||||
;; \
|
||||
esac; \
|
||||
\
|
||||
|
@ -104,31 +104,48 @@ RUN set -ex; \
|
||||
# let's build binaries from their published source packages
|
||||
echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
|
||||
\
|
||||
savedAptMark="$(apt-mark showmanual)"; \
|
||||
\
|
||||
{{ 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)
|
||||
echo 'deb http://deb.debian.org/debian {{ env.variant }}-backports main' >> /etc/apt/sources.list.d/pgdg.list; \
|
||||
# ... and thanks to https://salsa.debian.org/postgresql/postgresql/-/commit/e914bb060a9b58dae661f1c3439de5ffe4ba62d0 it doesn't get pulled in automatically any more (but if we install it manually it gets used by the build appropriately 🙈)
|
||||
apt-get update; \
|
||||
apt-get install -y --no-install-recommends clang-6.0; \
|
||||
\
|
||||
{{ ) else "" end -}}
|
||||
tempDir="$(mktemp -d)"; \
|
||||
cd "$tempDir"; \
|
||||
\
|
||||
savedAptMark="$(apt-mark showmanual)"; \
|
||||
# create a temporary local APT repo to install from (so that dependency resolution can be handled by APT, as it should be)
|
||||
apt-get update; \
|
||||
apt-get install -y --no-install-recommends dpkg-dev; \
|
||||
echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list; \
|
||||
_update_repo() { \
|
||||
dpkg-scanpackages . > Packages; \
|
||||
# work around the following APT issue by using "Acquire::GzipIndexes=false" (overriding "/etc/apt/apt.conf.d/docker-gzip-indexes")
|
||||
# Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
# ...
|
||||
# E: Failed to fetch store:/var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
apt-get -o Acquire::GzipIndexes=false update; \
|
||||
}; \
|
||||
_update_repo; \
|
||||
\
|
||||
# build .deb files from upstream's source packages (which are verified by apt-get)
|
||||
apt-get update; \
|
||||
nproc="$(nproc)"; \
|
||||
export DEB_BUILD_OPTIONS="nocheck parallel=$nproc"; \
|
||||
# we have to build postgresql-common first because postgresql-$PG_MAJOR shares "debian/rules" logic with it: https://salsa.debian.org/postgresql/postgresql/-/commit/99f44476e258cae6bf9e919219fa2c5414fa2876
|
||||
# (and it "Depends: pgdg-keyring")
|
||||
apt-get build-dep -y postgresql-common pgdg-keyring; \
|
||||
apt-get source --compile postgresql-common pgdg-keyring; \
|
||||
_update_repo; \
|
||||
{{ if .major == 13 then ( -}}
|
||||
# we need DEBIAN_FRONTEND on postgresql-13 for slapd ("Please enter the password for the admin entry in your LDAP directory."); see https://bugs.debian.org/929417
|
||||
DEBIAN_FRONTEND=noninteractive \
|
||||
{{ ) else "" end -}}
|
||||
apt-get build-dep -y \
|
||||
postgresql-common pgdg-keyring \
|
||||
"postgresql-$PG_MAJOR=$PG_VERSION" \
|
||||
; \
|
||||
DEB_BUILD_OPTIONS="nocheck parallel=$(nproc)" \
|
||||
apt-get source --compile \
|
||||
postgresql-common pgdg-keyring \
|
||||
"postgresql-$PG_MAJOR=$PG_VERSION" \
|
||||
; \
|
||||
apt-get build-dep -y "postgresql-$PG_MAJOR=$PG_VERSION"; \
|
||||
apt-get source --compile "postgresql-$PG_MAJOR=$PG_VERSION"; \
|
||||
\
|
||||
# we don't remove APT lists here because they get re-downloaded and removed later
|
||||
\
|
||||
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
|
||||
@ -136,16 +153,10 @@ RUN set -ex; \
|
||||
apt-mark showmanual | xargs apt-mark auto > /dev/null; \
|
||||
apt-mark manual $savedAptMark; \
|
||||
\
|
||||
# create a temporary local APT repo to install from (so that dependency resolution can be handled by APT, as it should be)
|
||||
ls -lAFh; \
|
||||
dpkg-scanpackages . > Packages; \
|
||||
_update_repo; \
|
||||
grep '^Package: ' Packages; \
|
||||
echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list; \
|
||||
# work around the following APT issue by using "Acquire::GzipIndexes=false" (overriding "/etc/apt/apt.conf.d/docker-gzip-indexes")
|
||||
# Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
# ...
|
||||
# E: Failed to fetch store:/var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages Could not open file /var/lib/apt/lists/partial/_tmp_tmp.ODWljpQfkE_._Packages - open (13: Permission denied)
|
||||
apt-get -o Acquire::GzipIndexes=false update; \
|
||||
cd /; \
|
||||
;; \
|
||||
esac; \
|
||||
\
|
||||
|
Reference in New Issue
Block a user