-
Notifications
You must be signed in to change notification settings - Fork 469
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #386 from thomasboussekey/create_pg17beta_release
Add PG 17beta2 and PostGIS 3.5.0alpha2 Images; Upgrade to Alpine 3.20
- Loading branch information
Showing
22 changed files
with
927 additions
and
38 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# placeholder Dockerfile | ||
# Debian version of postgis is not detected! | ||
# This is an autogenerated message of ./update.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,124 @@ | ||
# | ||
# NOTE: THIS DOCKERFILE IS GENERATED VIA "make update"! PLEASE DO NOT EDIT IT DIRECTLY. | ||
# | ||
ARG BASE_IMAGE=postgres:16-alpine3.20 | ||
FROM ${BASE_IMAGE} | ||
|
||
LABEL maintainer="PostGIS Project - https://postgis.net" \ | ||
org.opencontainers.image.description="PostGIS 3.5.0alpha2 spatial database extension with PostgreSQL 16 Alpine" \ | ||
org.opencontainers.image.source="https://github.com/postgis/docker-postgis" | ||
|
||
ENV POSTGIS_VERSION 3.5.0alpha2 | ||
ENV POSTGIS_SHA256 27c69b0f3d0a1329897060fb5e8345162d960f30b95f8903e98356fb3236427f | ||
|
||
RUN set -eux \ | ||
&& apk add --no-cache --virtual .fetch-deps \ | ||
ca-certificates \ | ||
openssl \ | ||
tar \ | ||
\ | ||
&& wget -O postgis.tar.gz "https://github.com/postgis/postgis/archive/${POSTGIS_VERSION}.tar.gz" \ | ||
&& echo "${POSTGIS_SHA256} *postgis.tar.gz" | sha256sum -c - \ | ||
&& mkdir -p /usr/src/postgis \ | ||
&& tar \ | ||
--extract \ | ||
--file postgis.tar.gz \ | ||
--directory /usr/src/postgis \ | ||
--strip-components 1 \ | ||
&& rm postgis.tar.gz \ | ||
\ | ||
&& apk add --no-cache --virtual .build-deps \ | ||
\ | ||
gdal-dev \ | ||
geos-dev \ | ||
proj-dev \ | ||
proj-util \ | ||
sfcgal-dev \ | ||
\ | ||
# The upstream variable, '$DOCKER_PG_LLVM_DEPS' contains | ||
# the correct versions of 'llvm-dev' and 'clang' for the current version of PostgreSQL. | ||
# This improvement has been discussed in https://github.com/docker-library/postgres/pull/1077 | ||
$DOCKER_PG_LLVM_DEPS \ | ||
\ | ||
autoconf \ | ||
automake \ | ||
cunit-dev \ | ||
file \ | ||
g++ \ | ||
gcc \ | ||
gettext-dev \ | ||
git \ | ||
json-c-dev \ | ||
libtool \ | ||
libxml2-dev \ | ||
make \ | ||
pcre2-dev \ | ||
perl \ | ||
protobuf-c-dev \ | ||
\ | ||
# build PostGIS - with Link Time Optimization (LTO) enabled | ||
&& cd /usr/src/postgis \ | ||
&& gettextize \ | ||
&& ./autogen.sh \ | ||
&& ./configure \ | ||
--enable-lto \ | ||
&& make -j$(nproc) \ | ||
&& make install \ | ||
\ | ||
# This section is for refreshing the proj data for the regression tests. | ||
# It serves as a workaround for an issue documented at https://trac.osgeo.org/postgis/ticket/5316 | ||
# This increases the Docker image size by about 1 MB. | ||
&& projsync --system-directory --file ch_swisstopo_CHENyx06_ETRS \ | ||
&& projsync --system-directory --file us_noaa_eshpgn \ | ||
&& projsync --system-directory --file us_noaa_prvi \ | ||
&& projsync --system-directory --file us_noaa_wmhpgn \ | ||
# This section performs a regression check. | ||
&& mkdir /tempdb \ | ||
&& chown -R postgres:postgres /tempdb \ | ||
&& su postgres -c 'pg_ctl -D /tempdb init' \ | ||
&& su postgres -c 'pg_ctl -D /tempdb -c -l /tmp/logfile -o '-F' start ' \ | ||
&& cd regress \ | ||
&& make -j$(nproc) check RUNTESTFLAGS=--extension PGUSER=postgres \ | ||
\ | ||
&& su postgres -c 'psql -c "CREATE EXTENSION IF NOT EXISTS postgis;"' \ | ||
&& su postgres -c 'psql -c "CREATE EXTENSION IF NOT EXISTS postgis_raster;"' \ | ||
&& su postgres -c 'psql -c "CREATE EXTENSION IF NOT EXISTS postgis_sfcgal;"' \ | ||
&& su postgres -c 'psql -c "CREATE EXTENSION IF NOT EXISTS fuzzystrmatch; --needed for postgis_tiger_geocoder "' \ | ||
&& su postgres -c 'psql -c "CREATE EXTENSION IF NOT EXISTS address_standardizer;"' \ | ||
&& su postgres -c 'psql -c "CREATE EXTENSION IF NOT EXISTS address_standardizer_data_us;"' \ | ||
&& su postgres -c 'psql -c "CREATE EXTENSION IF NOT EXISTS postgis_tiger_geocoder;"' \ | ||
&& su postgres -c 'psql -c "CREATE EXTENSION IF NOT EXISTS postgis_topology;"' \ | ||
&& su postgres -c 'psql -t -c "SELECT version();"' >> /_pgis_full_version.txt \ | ||
&& su postgres -c 'psql -t -c "SELECT PostGIS_Full_Version();"' >> /_pgis_full_version.txt \ | ||
&& su postgres -c 'psql -t -c "\dx"' >> /_pgis_full_version.txt \ | ||
\ | ||
&& su postgres -c 'pg_ctl -D /tempdb --mode=immediate stop' \ | ||
&& rm -rf /tempdb \ | ||
&& rm -rf /tmp/logfile \ | ||
&& rm -rf /tmp/pgis_reg \ | ||
# add .postgis-rundeps | ||
&& apk add --no-cache --virtual .postgis-rundeps \ | ||
\ | ||
gdal \ | ||
geos \ | ||
proj \ | ||
sfcgal \ | ||
\ | ||
json-c \ | ||
libstdc++ \ | ||
pcre2 \ | ||
protobuf-c \ | ||
\ | ||
# ca-certificates: for accessing remote raster files | ||
# fix https://github.com/postgis/docker-postgis/issues/307 | ||
ca-certificates \ | ||
# clean | ||
&& cd / \ | ||
&& rm -rf /usr/src/postgis \ | ||
&& apk del .fetch-deps .build-deps \ | ||
# At the end of the build, we print the collected information | ||
# from the '/_pgis_full_version.txt' file. This is for experimental and internal purposes. | ||
&& cat /_pgis_full_version.txt | ||
|
||
COPY ./initdb-postgis.sh /docker-entrypoint-initdb.d/10_postgis.sh | ||
COPY ./update-postgis.sh /usr/local/bin |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
#!/bin/bash | ||
|
||
set -e | ||
|
||
# Perform all actions as $POSTGRES_USER | ||
export PGUSER="$POSTGRES_USER" | ||
|
||
# Create the 'template_postgis' template db | ||
"${psql[@]}" <<- 'EOSQL' | ||
CREATE DATABASE template_postgis IS_TEMPLATE true; | ||
EOSQL | ||
|
||
# Load PostGIS into both template_database and $POSTGRES_DB | ||
for DB in template_postgis "$POSTGRES_DB"; do | ||
echo "Loading PostGIS extensions into $DB" | ||
"${psql[@]}" --dbname="$DB" <<-'EOSQL' | ||
CREATE EXTENSION IF NOT EXISTS postgis; | ||
CREATE EXTENSION IF NOT EXISTS postgis_topology; | ||
-- Reconnect to update pg_setting.resetval | ||
-- See https://github.com/postgis/docker-postgis/issues/288 | ||
\c | ||
CREATE EXTENSION IF NOT EXISTS fuzzystrmatch; | ||
CREATE EXTENSION IF NOT EXISTS postgis_tiger_geocoder; | ||
EOSQL | ||
done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
#!/bin/sh | ||
|
||
set -e | ||
|
||
# Perform all actions as $POSTGRES_USER | ||
export PGUSER="$POSTGRES_USER" | ||
|
||
POSTGIS_VERSION="${POSTGIS_VERSION%%+*}" | ||
|
||
# Load PostGIS into both template_database and $POSTGRES_DB | ||
for DB in template_postgis "$POSTGRES_DB" "${@}"; do | ||
echo "Updating PostGIS extensions '$DB' to $POSTGIS_VERSION" | ||
psql --dbname="$DB" -c " | ||
-- Upgrade PostGIS (includes raster) | ||
CREATE EXTENSION IF NOT EXISTS postgis VERSION '$POSTGIS_VERSION'; | ||
ALTER EXTENSION postgis UPDATE TO '$POSTGIS_VERSION'; | ||
-- Upgrade Topology | ||
CREATE EXTENSION IF NOT EXISTS postgis_topology VERSION '$POSTGIS_VERSION'; | ||
ALTER EXTENSION postgis_topology UPDATE TO '$POSTGIS_VERSION'; | ||
-- Install Tiger dependencies in case not already installed | ||
CREATE EXTENSION IF NOT EXISTS fuzzystrmatch; | ||
-- Upgrade US Tiger Geocoder | ||
CREATE EXTENSION IF NOT EXISTS postgis_tiger_geocoder VERSION '$POSTGIS_VERSION'; | ||
ALTER EXTENSION postgis_tiger_geocoder UPDATE TO '$POSTGIS_VERSION'; | ||
" | ||
done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# placeholder Dockerfile | ||
# Debian version of postgis is not detected! | ||
# This is an autogenerated message of ./update.sh |
Oops, something went wrong.