You've already forked postgres
mirror of
https://github.com/docker-library/postgres.git
synced 2025-07-28 10:42:06 +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
|
# let's build binaries from their published source packages
|
||||||
echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
|
echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
|
||||||
\
|
\
|
||||||
|
savedAptMark="$(apt-mark showmanual)"; \
|
||||||
|
\
|
||||||
tempDir="$(mktemp -d)"; \
|
tempDir="$(mktemp -d)"; \
|
||||||
cd "$tempDir"; \
|
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)
|
# build .deb files from upstream's source packages (which are verified by apt-get)
|
||||||
apt-get update; \
|
nproc="$(nproc)"; \
|
||||||
apt-get build-dep -y \
|
export DEB_BUILD_OPTIONS="nocheck parallel=$nproc"; \
|
||||||
postgresql-common pgdg-keyring \
|
# 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
|
||||||
"postgresql-$PG_MAJOR=$PG_VERSION" \
|
# (and it "Depends: pgdg-keyring")
|
||||||
; \
|
apt-get build-dep -y postgresql-common pgdg-keyring; \
|
||||||
DEB_BUILD_OPTIONS="nocheck parallel=$(nproc)" \
|
apt-get source --compile postgresql-common pgdg-keyring; \
|
||||||
apt-get source --compile \
|
_update_repo; \
|
||||||
postgresql-common pgdg-keyring \
|
apt-get build-dep -y "postgresql-$PG_MAJOR=$PG_VERSION"; \
|
||||||
"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
|
# 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
|
# 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 showmanual | xargs apt-mark auto > /dev/null; \
|
||||||
apt-mark manual $savedAptMark; \
|
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; \
|
ls -lAFh; \
|
||||||
dpkg-scanpackages . > Packages; \
|
_update_repo; \
|
||||||
grep '^Package: ' Packages; \
|
grep '^Package: ' Packages; \
|
||||||
echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list; \
|
cd /; \
|
||||||
# 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; \
|
|
||||||
;; \
|
;; \
|
||||||
esac; \
|
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
|
# let's build binaries from their published source packages
|
||||||
echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
|
echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
|
||||||
\
|
\
|
||||||
|
savedAptMark="$(apt-mark showmanual)"; \
|
||||||
|
\
|
||||||
tempDir="$(mktemp -d)"; \
|
tempDir="$(mktemp -d)"; \
|
||||||
cd "$tempDir"; \
|
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)
|
# build .deb files from upstream's source packages (which are verified by apt-get)
|
||||||
apt-get update; \
|
nproc="$(nproc)"; \
|
||||||
apt-get build-dep -y \
|
export DEB_BUILD_OPTIONS="nocheck parallel=$nproc"; \
|
||||||
postgresql-common pgdg-keyring \
|
# 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
|
||||||
"postgresql-$PG_MAJOR=$PG_VERSION" \
|
# (and it "Depends: pgdg-keyring")
|
||||||
; \
|
apt-get build-dep -y postgresql-common pgdg-keyring; \
|
||||||
DEB_BUILD_OPTIONS="nocheck parallel=$(nproc)" \
|
apt-get source --compile postgresql-common pgdg-keyring; \
|
||||||
apt-get source --compile \
|
_update_repo; \
|
||||||
postgresql-common pgdg-keyring \
|
apt-get build-dep -y "postgresql-$PG_MAJOR=$PG_VERSION"; \
|
||||||
"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
|
# 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
|
# 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 showmanual | xargs apt-mark auto > /dev/null; \
|
||||||
apt-mark manual $savedAptMark; \
|
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; \
|
ls -lAFh; \
|
||||||
dpkg-scanpackages . > Packages; \
|
_update_repo; \
|
||||||
grep '^Package: ' Packages; \
|
grep '^Package: ' Packages; \
|
||||||
echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list; \
|
cd /; \
|
||||||
# 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; \
|
|
||||||
;; \
|
;; \
|
||||||
esac; \
|
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
|
# let's build binaries from their published source packages
|
||||||
echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
|
echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
|
||||||
\
|
\
|
||||||
|
savedAptMark="$(apt-mark showmanual)"; \
|
||||||
|
\
|
||||||
tempDir="$(mktemp -d)"; \
|
tempDir="$(mktemp -d)"; \
|
||||||
cd "$tempDir"; \
|
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)
|
# build .deb files from upstream's source packages (which are verified by apt-get)
|
||||||
apt-get update; \
|
nproc="$(nproc)"; \
|
||||||
apt-get build-dep -y \
|
export DEB_BUILD_OPTIONS="nocheck parallel=$nproc"; \
|
||||||
postgresql-common pgdg-keyring \
|
# 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
|
||||||
"postgresql-$PG_MAJOR=$PG_VERSION" \
|
# (and it "Depends: pgdg-keyring")
|
||||||
; \
|
apt-get build-dep -y postgresql-common pgdg-keyring; \
|
||||||
DEB_BUILD_OPTIONS="nocheck parallel=$(nproc)" \
|
apt-get source --compile postgresql-common pgdg-keyring; \
|
||||||
apt-get source --compile \
|
_update_repo; \
|
||||||
postgresql-common pgdg-keyring \
|
apt-get build-dep -y "postgresql-$PG_MAJOR=$PG_VERSION"; \
|
||||||
"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
|
# 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
|
# 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 showmanual | xargs apt-mark auto > /dev/null; \
|
||||||
apt-mark manual $savedAptMark; \
|
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; \
|
ls -lAFh; \
|
||||||
dpkg-scanpackages . > Packages; \
|
_update_repo; \
|
||||||
grep '^Package: ' Packages; \
|
grep '^Package: ' Packages; \
|
||||||
echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list; \
|
cd /; \
|
||||||
# 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; \
|
|
||||||
;; \
|
;; \
|
||||||
esac; \
|
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
|
# let's build binaries from their published source packages
|
||||||
echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
|
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)
|
# 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; \
|
||||||
|
# ... 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)"; \
|
tempDir="$(mktemp -d)"; \
|
||||||
cd "$tempDir"; \
|
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)
|
# build .deb files from upstream's source packages (which are verified by apt-get)
|
||||||
apt-get update; \
|
nproc="$(nproc)"; \
|
||||||
apt-get build-dep -y \
|
export DEB_BUILD_OPTIONS="nocheck parallel=$nproc"; \
|
||||||
postgresql-common pgdg-keyring \
|
# 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
|
||||||
"postgresql-$PG_MAJOR=$PG_VERSION" \
|
# (and it "Depends: pgdg-keyring")
|
||||||
; \
|
apt-get build-dep -y postgresql-common pgdg-keyring; \
|
||||||
DEB_BUILD_OPTIONS="nocheck parallel=$(nproc)" \
|
apt-get source --compile postgresql-common pgdg-keyring; \
|
||||||
apt-get source --compile \
|
_update_repo; \
|
||||||
postgresql-common pgdg-keyring \
|
apt-get build-dep -y "postgresql-$PG_MAJOR=$PG_VERSION"; \
|
||||||
"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
|
# 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
|
# 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 showmanual | xargs apt-mark auto > /dev/null; \
|
||||||
apt-mark manual $savedAptMark; \
|
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; \
|
ls -lAFh; \
|
||||||
dpkg-scanpackages . > Packages; \
|
_update_repo; \
|
||||||
grep '^Package: ' Packages; \
|
grep '^Package: ' Packages; \
|
||||||
echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list; \
|
cd /; \
|
||||||
# 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; \
|
|
||||||
;; \
|
;; \
|
||||||
esac; \
|
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
|
# let's build binaries from their published source packages
|
||||||
echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
|
echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
|
||||||
\
|
\
|
||||||
|
savedAptMark="$(apt-mark showmanual)"; \
|
||||||
|
\
|
||||||
tempDir="$(mktemp -d)"; \
|
tempDir="$(mktemp -d)"; \
|
||||||
cd "$tempDir"; \
|
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)
|
# build .deb files from upstream's source packages (which are verified by apt-get)
|
||||||
apt-get update; \
|
nproc="$(nproc)"; \
|
||||||
apt-get build-dep -y \
|
export DEB_BUILD_OPTIONS="nocheck parallel=$nproc"; \
|
||||||
postgresql-common pgdg-keyring \
|
# 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
|
||||||
"postgresql-$PG_MAJOR=$PG_VERSION" \
|
# (and it "Depends: pgdg-keyring")
|
||||||
; \
|
apt-get build-dep -y postgresql-common pgdg-keyring; \
|
||||||
DEB_BUILD_OPTIONS="nocheck parallel=$(nproc)" \
|
apt-get source --compile postgresql-common pgdg-keyring; \
|
||||||
apt-get source --compile \
|
_update_repo; \
|
||||||
postgresql-common pgdg-keyring \
|
apt-get build-dep -y "postgresql-$PG_MAJOR=$PG_VERSION"; \
|
||||||
"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
|
# 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
|
# 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 showmanual | xargs apt-mark auto > /dev/null; \
|
||||||
apt-mark manual $savedAptMark; \
|
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; \
|
ls -lAFh; \
|
||||||
dpkg-scanpackages . > Packages; \
|
_update_repo; \
|
||||||
grep '^Package: ' Packages; \
|
grep '^Package: ' Packages; \
|
||||||
echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list; \
|
cd /; \
|
||||||
# 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; \
|
|
||||||
;; \
|
;; \
|
||||||
esac; \
|
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
|
# let's build binaries from their published source packages
|
||||||
echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
|
echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
|
||||||
\
|
\
|
||||||
|
savedAptMark="$(apt-mark showmanual)"; \
|
||||||
|
\
|
||||||
tempDir="$(mktemp -d)"; \
|
tempDir="$(mktemp -d)"; \
|
||||||
cd "$tempDir"; \
|
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)
|
# 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
|
# 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 \
|
DEBIAN_FRONTEND=noninteractive \
|
||||||
apt-get build-dep -y \
|
apt-get build-dep -y "postgresql-$PG_MAJOR=$PG_VERSION"; \
|
||||||
postgresql-common pgdg-keyring \
|
apt-get source --compile "postgresql-$PG_MAJOR=$PG_VERSION"; \
|
||||||
"postgresql-$PG_MAJOR=$PG_VERSION" \
|
\
|
||||||
; \
|
|
||||||
DEB_BUILD_OPTIONS="nocheck parallel=$(nproc)" \
|
|
||||||
apt-get source --compile \
|
|
||||||
postgresql-common pgdg-keyring \
|
|
||||||
"postgresql-$PG_MAJOR=$PG_VERSION" \
|
|
||||||
; \
|
|
||||||
# we don't remove APT lists here because they get re-downloaded and removed later
|
# 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
|
# 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 showmanual | xargs apt-mark auto > /dev/null; \
|
||||||
apt-mark manual $savedAptMark; \
|
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; \
|
ls -lAFh; \
|
||||||
dpkg-scanpackages . > Packages; \
|
_update_repo; \
|
||||||
grep '^Package: ' Packages; \
|
grep '^Package: ' Packages; \
|
||||||
echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list; \
|
cd /; \
|
||||||
# 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; \
|
|
||||||
;; \
|
;; \
|
||||||
esac; \
|
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
|
# let's build binaries from their published source packages
|
||||||
echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
|
echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
|
||||||
\
|
\
|
||||||
|
savedAptMark="$(apt-mark showmanual)"; \
|
||||||
|
\
|
||||||
tempDir="$(mktemp -d)"; \
|
tempDir="$(mktemp -d)"; \
|
||||||
cd "$tempDir"; \
|
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)
|
# build .deb files from upstream's source packages (which are verified by apt-get)
|
||||||
apt-get update; \
|
nproc="$(nproc)"; \
|
||||||
apt-get build-dep -y \
|
export DEB_BUILD_OPTIONS="nocheck parallel=$nproc"; \
|
||||||
postgresql-common pgdg-keyring \
|
# 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
|
||||||
"postgresql-$PG_MAJOR=$PG_VERSION" \
|
# (and it "Depends: pgdg-keyring")
|
||||||
; \
|
apt-get build-dep -y postgresql-common pgdg-keyring; \
|
||||||
DEB_BUILD_OPTIONS="nocheck parallel=$(nproc)" \
|
apt-get source --compile postgresql-common pgdg-keyring; \
|
||||||
apt-get source --compile \
|
_update_repo; \
|
||||||
postgresql-common pgdg-keyring \
|
apt-get build-dep -y "postgresql-$PG_MAJOR=$PG_VERSION"; \
|
||||||
"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
|
# 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
|
# 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 showmanual | xargs apt-mark auto > /dev/null; \
|
||||||
apt-mark manual $savedAptMark; \
|
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; \
|
ls -lAFh; \
|
||||||
dpkg-scanpackages . > Packages; \
|
_update_repo; \
|
||||||
grep '^Package: ' Packages; \
|
grep '^Package: ' Packages; \
|
||||||
echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list; \
|
cd /; \
|
||||||
# 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; \
|
|
||||||
;; \
|
;; \
|
||||||
esac; \
|
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
|
# let's build binaries from their published source packages
|
||||||
echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
|
echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
|
||||||
\
|
\
|
||||||
|
savedAptMark="$(apt-mark showmanual)"; \
|
||||||
|
\
|
||||||
tempDir="$(mktemp -d)"; \
|
tempDir="$(mktemp -d)"; \
|
||||||
cd "$tempDir"; \
|
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)
|
# build .deb files from upstream's source packages (which are verified by apt-get)
|
||||||
apt-get update; \
|
nproc="$(nproc)"; \
|
||||||
apt-get build-dep -y \
|
export DEB_BUILD_OPTIONS="nocheck parallel=$nproc"; \
|
||||||
postgresql-common pgdg-keyring \
|
# 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
|
||||||
"postgresql-$PG_MAJOR=$PG_VERSION" \
|
# (and it "Depends: pgdg-keyring")
|
||||||
; \
|
apt-get build-dep -y postgresql-common pgdg-keyring; \
|
||||||
DEB_BUILD_OPTIONS="nocheck parallel=$(nproc)" \
|
apt-get source --compile postgresql-common pgdg-keyring; \
|
||||||
apt-get source --compile \
|
_update_repo; \
|
||||||
postgresql-common pgdg-keyring \
|
apt-get build-dep -y "postgresql-$PG_MAJOR=$PG_VERSION"; \
|
||||||
"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
|
# 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
|
# 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 showmanual | xargs apt-mark auto > /dev/null; \
|
||||||
apt-mark manual $savedAptMark; \
|
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; \
|
ls -lAFh; \
|
||||||
dpkg-scanpackages . > Packages; \
|
_update_repo; \
|
||||||
grep '^Package: ' Packages; \
|
grep '^Package: ' Packages; \
|
||||||
echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list; \
|
cd /; \
|
||||||
# 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; \
|
|
||||||
;; \
|
;; \
|
||||||
esac; \
|
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
|
# let's build binaries from their published source packages
|
||||||
echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
|
echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
|
||||||
\
|
\
|
||||||
|
savedAptMark="$(apt-mark showmanual)"; \
|
||||||
|
\
|
||||||
tempDir="$(mktemp -d)"; \
|
tempDir="$(mktemp -d)"; \
|
||||||
cd "$tempDir"; \
|
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)
|
# build .deb files from upstream's source packages (which are verified by apt-get)
|
||||||
apt-get update; \
|
nproc="$(nproc)"; \
|
||||||
apt-get build-dep -y \
|
export DEB_BUILD_OPTIONS="nocheck parallel=$nproc"; \
|
||||||
postgresql-common pgdg-keyring \
|
# 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
|
||||||
"postgresql-$PG_MAJOR=$PG_VERSION" \
|
# (and it "Depends: pgdg-keyring")
|
||||||
; \
|
apt-get build-dep -y postgresql-common pgdg-keyring; \
|
||||||
DEB_BUILD_OPTIONS="nocheck parallel=$(nproc)" \
|
apt-get source --compile postgresql-common pgdg-keyring; \
|
||||||
apt-get source --compile \
|
_update_repo; \
|
||||||
postgresql-common pgdg-keyring \
|
apt-get build-dep -y "postgresql-$PG_MAJOR=$PG_VERSION"; \
|
||||||
"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
|
# 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
|
# 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 showmanual | xargs apt-mark auto > /dev/null; \
|
||||||
apt-mark manual $savedAptMark; \
|
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; \
|
ls -lAFh; \
|
||||||
dpkg-scanpackages . > Packages; \
|
_update_repo; \
|
||||||
grep '^Package: ' Packages; \
|
grep '^Package: ' Packages; \
|
||||||
echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list; \
|
cd /; \
|
||||||
# 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; \
|
|
||||||
;; \
|
;; \
|
||||||
esac; \
|
esac; \
|
||||||
\
|
\
|
||||||
|
@ -104,31 +104,48 @@ RUN set -ex; \
|
|||||||
# let's build binaries from their published source packages
|
# let's build binaries from their published source packages
|
||||||
echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
|
echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; \
|
||||||
\
|
\
|
||||||
|
savedAptMark="$(apt-mark showmanual)"; \
|
||||||
|
\
|
||||||
{{ 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)
|
||||||
echo 'deb http://deb.debian.org/debian {{ env.variant }}-backports main' >> /etc/apt/sources.list.d/pgdg.list; \
|
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 -}}
|
{{ ) else "" end -}}
|
||||||
tempDir="$(mktemp -d)"; \
|
tempDir="$(mktemp -d)"; \
|
||||||
cd "$tempDir"; \
|
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)
|
# 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 ( -}}
|
{{ 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
|
# 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 \
|
DEBIAN_FRONTEND=noninteractive \
|
||||||
{{ ) else "" end -}}
|
{{ ) else "" end -}}
|
||||||
apt-get build-dep -y \
|
apt-get build-dep -y "postgresql-$PG_MAJOR=$PG_VERSION"; \
|
||||||
postgresql-common pgdg-keyring \
|
apt-get source --compile "postgresql-$PG_MAJOR=$PG_VERSION"; \
|
||||||
"postgresql-$PG_MAJOR=$PG_VERSION" \
|
\
|
||||||
; \
|
|
||||||
DEB_BUILD_OPTIONS="nocheck parallel=$(nproc)" \
|
|
||||||
apt-get source --compile \
|
|
||||||
postgresql-common pgdg-keyring \
|
|
||||||
"postgresql-$PG_MAJOR=$PG_VERSION" \
|
|
||||||
; \
|
|
||||||
# we don't remove APT lists here because they get re-downloaded and removed later
|
# 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
|
# 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 showmanual | xargs apt-mark auto > /dev/null; \
|
||||||
apt-mark manual $savedAptMark; \
|
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; \
|
ls -lAFh; \
|
||||||
dpkg-scanpackages . > Packages; \
|
_update_repo; \
|
||||||
grep '^Package: ' Packages; \
|
grep '^Package: ' Packages; \
|
||||||
echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list; \
|
cd /; \
|
||||||
# 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; \
|
|
||||||
;; \
|
;; \
|
||||||
esac; \
|
esac; \
|
||||||
\
|
\
|
||||||
|
Reference in New Issue
Block a user