Skip to content

Commit b6a6278

Browse files
committed
fix: build postgis from source
1 parent f4a1906 commit b6a6278

File tree

1 file changed

+7
-12
lines changed

1 file changed

+7
-12
lines changed

Dockerfile

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
5050
&& rm -rf /var/lib/apt/lists/*
5151
# Add Postgres PPA
5252
ARG postgresql_gpg_key=B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8
53-
RUN set -ex; \
54-
mkdir -p /usr/local/share/keyrings/; \
55-
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${postgresql_gpg_key}"; \
56-
gpg --batch --export --armor "${postgresql_gpg_key}" > /usr/local/share/keyrings/postgres.gpg.asc; \
57-
gpgconf --kill all; \
58-
aptRepo="[ signed-by=/usr/local/share/keyrings/postgres.gpg.asc ] https://apt-archive.postgresql.org/pub/repos/apt focal-pgdg-archive main"; \
59-
echo "deb $aptRepo" > /etc/apt/sources.list.d/pgdg.list
53+
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys "${postgresql_gpg_key}" && \
54+
echo "deb https://apt-archive.postgresql.org/pub/repos/apt focal-pgdg-archive main" > /etc/apt/sources.list.d/pgdg.list
6055

6156
####################
6257
# Download pre-built postgres
@@ -95,7 +90,7 @@ RUN set -ex; \
9590
apt-get install -y --no-install-recommends /tmp/postgresql-common_*.deb /tmp/postgresql-client-common_*.deb; \
9691
sed -ri 's/#(create_main_cluster) .*$/\1 = false/' /etc/postgresql-common/createcluster.conf; \
9792
apt-get install -y --no-install-recommends /tmp/*.deb; \
98-
rm -rf /var/lib/apt/lists/*; \
93+
rm -rf /var/lib/apt/lists/* /tmp/*; \
9994
find /usr -name '*.pyc' -type f -exec bash -c 'for pyc; do dpkg -S "$pyc" &> /dev/null || rm -vf "$pyc"; done' -- '{}' +
10095

10196
ENV PATH=$PATH:/usr/lib/postgresql/${postgresql_major}/bin
@@ -114,7 +109,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
114109
build-essential \
115110
checkinstall \
116111
cmake \
117-
&& rm -rf /var/lib/apt/lists/*
112+
&& rm -rf /var/lib/apt/lists/* /tmp/*
118113

119114
FROM builder as ccache
120115
# Cache large build artifacts
@@ -152,7 +147,7 @@ RUN cmake ..
152147
RUN --mount=type=cache,target=/ccache,from=public.ecr.aws/supabase/postgres:ccache \
153148
make -j$(nproc)
154149
# Create debian package
155-
RUN checkinstall -D --install=yes --fstrans=no --backup=no --pakdir=/tmp --requires=libgmpxx4ldbl,libboost-serialization1.71.0,libmpfr6 --nodoc
150+
RUN checkinstall -D --install=yes --fstrans=no --backup=no --pakdir=/tmp --pkgname=sfcgal --pkgversion=${sfcgal_release} --requires=libgmpxx4ldbl,libboost-serialization1.71.0,libmpfr6 --nodoc
156151

157152
FROM sfcgal as postgis-source
158153
# Download and extract
@@ -179,7 +174,7 @@ RUN ./configure --with-sfcgal
179174
RUN --mount=type=cache,target=/ccache,from=public.ecr.aws/supabase/postgres:ccache \
180175
make -j$(nproc)
181176
# Create debian package
182-
RUN checkinstall -D --install=no --fstrans=no --backup=no --pakdir=/tmp --requires=libgeos-c1v5,libproj19,libjson-c5,libprotobuf-c1,libgdal28 --nodoc
177+
RUN checkinstall -D --install=no --fstrans=no --backup=no --pakdir=/tmp --requires=libgeos-c1v5,libproj15,libjson-c4,libprotobuf-c1,libgdal26 --nodoc
183178

184179
FROM ppa as postgis
185180
# Latest available is 3.3.2
@@ -818,7 +813,7 @@ RUN arch=$([ "$TARGETARCH" = "arm64" ] && echo "aarch64" || echo "$TARGETARCH")
818813
# Collect extension packages
819814
####################
820815
FROM scratch as extensions
821-
COPY --from=postgis /tmp/*.deb /tmp/
816+
COPY --from=postgis-source /tmp/*.deb /tmp/
822817
COPY --from=pgrouting-source /tmp/*.deb /tmp/
823818
COPY --from=pgtap-source /tmp/*.deb /tmp/
824819
COPY --from=pg_cron-source /tmp/*.deb /tmp/

0 commit comments

Comments
 (0)