diff --git a/17/alpine3.19/Dockerfile b/17/alpine3.19/Dockerfile index 6505cd6020..56021b807d 100644 --- a/17/alpine3.19/Dockerfile +++ b/17/alpine3.19/Dockerfile @@ -47,7 +47,7 @@ RUN set -eux; \ $DOCKER_PG_LLVM_DEPS \ bison \ coreutils \ - docbook-xsl \ + docbook-xml \ dpkg-dev dpkg \ flex \ g++ \ @@ -124,10 +124,25 @@ RUN set -eux; \ --with-lz4 \ --with-zstd \ ; \ + curl -sSL https://sourceforge.net/projects/docbook/files/docbook-xsl/1.79.1/docbook-xsl-1.79.1.tar.bz2 -O docbook-xsl.tar.bz2; \ + docbookdir="/etc/xml/docbook"; \ + catalogdir="/etc/xml/catalog"; \ + mkdir -p ${docbookdir}; \ + tar \ + --extract \ + --file docbook-xsl.tar.bz2 \ + --directory ${docbookdir} \ + --strip-components 1; \ + if [ ! -f /etc/xml/catalog ]; then \ + xmlcatalog --noout --create /etc/xml/catalog; \ + fi; \ + for rewrite in rewriteSystem rewriteURI; do \ + xmlcatalog --noout --add "$rewrite" "http://docbook.sourceforge.net/release/xsl/current" "file://${docbookdir}" "${catalogdir}"; \ + done; \ make -j "$(nproc)" world; \ - # TODO: Figure out why man pages aren't generated - # https://github.com/docker-library/postgres/actions/runs/9271070104/job/25505640101?pr=1244 - make install; \ + rm -rf ${docbookdir}; \ + xmlcatalog --noout --del "file://${docbookdir}" "${catalogdir}"; \ + make install-world; \ make -C contrib install; \ \ runDeps="$( \ diff --git a/17/alpine3.20/Dockerfile b/17/alpine3.20/Dockerfile index ac7cd878f7..3be624f829 100644 --- a/17/alpine3.20/Dockerfile +++ b/17/alpine3.20/Dockerfile @@ -47,7 +47,7 @@ RUN set -eux; \ $DOCKER_PG_LLVM_DEPS \ bison \ coreutils \ - docbook-xsl \ + docbook-xml \ dpkg-dev dpkg \ flex \ g++ \ @@ -124,10 +124,25 @@ RUN set -eux; \ --with-lz4 \ --with-zstd \ ; \ + curl -sSL https://sourceforge.net/projects/docbook/files/docbook-xsl/1.79.1/docbook-xsl-1.79.1.tar.bz2 -O docbook-xsl.tar.bz2; \ + docbookdir="/etc/xml/docbook"; \ + catalogdir="/etc/xml/catalog"; \ + mkdir -p ${docbookdir}; \ + tar \ + --extract \ + --file docbook-xsl.tar.bz2 \ + --directory ${docbookdir} \ + --strip-components 1; \ + if [ ! -f /etc/xml/catalog ]; then \ + xmlcatalog --noout --create /etc/xml/catalog; \ + fi; \ + for rewrite in rewriteSystem rewriteURI; do \ + xmlcatalog --noout --add "$rewrite" "http://docbook.sourceforge.net/release/xsl/current" "file://${docbookdir}" "${catalogdir}"; \ + done; \ make -j "$(nproc)" world; \ - # TODO: Figure out why man pages aren't generated - # https://github.com/docker-library/postgres/actions/runs/9271070104/job/25505640101?pr=1244 - make install; \ + rm -rf ${docbookdir}; \ + xmlcatalog --noout --del "file://${docbookdir}" "${catalogdir}"; \ + make install-world; \ make -C contrib install; \ \ runDeps="$( \ diff --git a/Dockerfile-alpine.template b/Dockerfile-alpine.template index bf146549d7..058d0f8f25 100644 --- a/Dockerfile-alpine.template +++ b/Dockerfile-alpine.template @@ -43,7 +43,7 @@ RUN set -eux; \ bison \ coreutils \ {{ if .major >= 17 then ( -}} - docbook-xsl \ + docbook-xml \ {{ ) else "" end -}} dpkg-dev dpkg \ flex \ @@ -137,14 +137,30 @@ RUN set -eux; \ --with-zstd \ {{ ) else "" end -}} ; \ +{{ if .major >= 17 then ( -}} +{{ # install docbook locally (not compatible with the latest alpine package) -}} + curl -sSL https://sourceforge.net/projects/docbook/files/docbook-xsl/1.79.1/docbook-xsl-1.79.1.tar.bz2 -O docbook-xsl.tar.bz2; \ + docbookdir="/etc/xml/docbook"; \ + catalogdir="/etc/xml/catalog"; \ + mkdir -p ${docbookdir}; \ + tar \ + --extract \ + --file docbook-xsl.tar.bz2 \ + --directory ${docbookdir} \ + --strip-components 1; \ + if [ ! -f /etc/xml/catalog ]; then \ + xmlcatalog --noout --create /etc/xml/catalog; \ + fi; \ + for rewrite in rewriteSystem rewriteURI; do \ + xmlcatalog --noout --add "$rewrite" "http://docbook.sourceforge.net/release/xsl/current" "file://${docbookdir}" "${catalogdir}"; \ + done; \ +{{ ) else "" end -}} make -j "$(nproc)" world; \ -{{ if .major <= 16 then ( -}} +{{ if .major >= 17 then ( -}} + rm -rf ${docbookdir}; \ + xmlcatalog --noout --del "file://${docbookdir}" "${catalogdir}"; \ +{{ ) else "" end -}} make install-world; \ -{{ ) else ( -}} - # TODO: Figure out why man pages aren't generated - # https://github.com/docker-library/postgres/actions/runs/9271070104/job/25505640101?pr=1244 - make install; \ -{{ ) end -}} make -C contrib install; \ \ runDeps="$( \