diff --git a/.ansible/group_vars/all/work.yml b/.ansible/group_vars/all/work.yml index ed4cd2d..bd5b439 100644 --- a/.ansible/group_vars/all/work.yml +++ b/.ansible/group_vars/all/work.yml @@ -41,6 +41,7 @@ tools_enabled: - vim - vue-cli - webpack-cli + - wkhtmltopdf - wp-cli - yamllint - yq @@ -606,6 +607,62 @@ tools_available: run_dep: [] pre: post: + wkhtmltopdf: + disabled: [5.2, 5.3, 5.4, 5.5] + check: wkhtmltopdf --version | grep ^wkhtmltopdf | grep -E '[0-9]\.[0-9]+' | grep patched || (wkhtmltopdf --version; false) + all: + type: custom + pre: OS_RELEASE="bullseye" + command: | + DEB_HOST_ARCH="$( dpkg-architecture --query DEB_HOST_ARCH )" \ + && WK_URL="$( \ + curl -sSL -L --fail https://api.github.com/repos/wkhtmltopdf/packaging/releases \ + | awk -F\" "/wkhtmltopdf.*.${OS_RELEASE}_${DEB_HOST_ARCH}\.deb/{print \$(NF-1)}" \ + | head -1 \ + )" \ + && echo "URL: ${WK_URL}" \ + && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb "${WK_URL}" \ + && dpkg -i /tmp/wkhtmltopdf.deb \ + && rm -f /tmp/wkhtmltopdf.deb \ + run_dep: + - fontconfig + - libfontenc1 + - libxfont2 + - libxrender1 + - xfonts-75dpi + - xfonts-base + - xfonts-encodings + - xfonts-utils + 7.2: + type: custom + pre: OS_RELEASE="buster" + 7.1: + type: custom + pre: OS_RELEASE="buster" + 7.0: + type: custom + pre: OS_RELEASE="stretch" + run_dep: + - fontconfig + - libfontenc1 + - libxfont1 + - libxrender1 + - xfonts-75dpi + - xfonts-base + - xfonts-encodings + - xfonts-utils + 5.6: + type: custom + pre: OS_RELEASE="stretch" + run_dep: + - fontconfig + - libfontenc1 + - libxfont1 + - libxrender1 + - xfonts-75dpi + - xfonts-base + - xfonts-encodings + - xfonts-utils wp-cli: disabled: [5.2] check: wp --allow-root --version | grep -E '[0-9][.0-9]+' || (wp --allow-root --version; false) diff --git a/Dockerfiles/work/Dockerfile-5.6 b/Dockerfiles/work/Dockerfile-5.6 index 980d61d..f61483d 100644 --- a/Dockerfiles/work/Dockerfile-5.6 +++ b/Dockerfiles/work/Dockerfile-5.6 @@ -266,8 +266,16 @@ RUN set -eux \ # ---------- run_deps ---------- dos2unix \ file \ + fontconfig \ + libfontenc1 \ + libxfont1 \ + libxrender1 \ moreutils \ ruby \ + xfonts-75dpi \ + xfonts-base \ + xfonts-encodings \ + xfonts-utils \ # ---------- type: apt ---------- git \ jq \ @@ -592,6 +600,23 @@ RUN set -eux \ && webpack-cli --version | grep -E '[0-9][.0-9]+' || (webpack-cli --version; false) \ && true +# -------------------- (custom) wkhtmltopdf -------------------- +RUN set -eux \ + && OS_RELEASE="stretch" \ + && DEB_HOST_ARCH="$( dpkg-architecture --query DEB_HOST_ARCH )" \ + && WK_URL="$( \ + curl -sSL -L --fail https://api.github.com/repos/wkhtmltopdf/packaging/releases \ + | awk -F\" "/wkhtmltopdf.*.${OS_RELEASE}_${DEB_HOST_ARCH}\.deb/{print \$(NF-1)}" \ + | head -1 \ + )" \ + && echo "URL: ${WK_URL}" \ + && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb "${WK_URL}" \ + && dpkg -i /tmp/wkhtmltopdf.deb \ + && rm -f /tmp/wkhtmltopdf.deb \ + \ + && wkhtmltopdf --version | grep ^wkhtmltopdf | grep -E '[0-9]\.[0-9]+' | grep patched || (wkhtmltopdf --version; false) \ + && true + # -------------------- (custom) wp-cli -------------------- RUN set -eux \ && WPCLI_URL="https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar" \ @@ -649,8 +674,16 @@ RUN set -eux \ # ---------- run_deps ---------- dos2unix \ file \ + fontconfig \ + libfontenc1 \ + libxfont1 \ + libxrender1 \ moreutils \ ruby \ + xfonts-75dpi \ + xfonts-base \ + xfonts-encodings \ + xfonts-utils \ # ---------- type: apt ---------- git \ jq \ @@ -920,6 +953,11 @@ RUN set -eux \ && webpack-cli --version | grep -E '[0-9][.0-9]+' || (webpack-cli --version; false) \ && true +# -------------------- (custom) wkhtmltopdf -------------------- +RUN set -eux \ + && wkhtmltopdf --version | grep ^wkhtmltopdf | grep -E '[0-9]\.[0-9]+' | grep patched || (wkhtmltopdf --version; false) \ + && true + # -------------------- (custom) wp-cli -------------------- RUN set -eux \ && wp --allow-root --version | grep -E '[0-9][.0-9]+' || (wp --allow-root --version; false) \ diff --git a/Dockerfiles/work/Dockerfile-7.0 b/Dockerfiles/work/Dockerfile-7.0 index 73af324..a178c77 100644 --- a/Dockerfiles/work/Dockerfile-7.0 +++ b/Dockerfiles/work/Dockerfile-7.0 @@ -266,8 +266,16 @@ RUN set -eux \ # ---------- run_deps ---------- dos2unix \ file \ + fontconfig \ + libfontenc1 \ + libxfont1 \ + libxrender1 \ moreutils \ ruby \ + xfonts-75dpi \ + xfonts-base \ + xfonts-encodings \ + xfonts-utils \ # ---------- type: apt ---------- git \ jq \ @@ -592,6 +600,23 @@ RUN set -eux \ && webpack-cli --version | grep -E '[0-9][.0-9]+' || (webpack-cli --version; false) \ && true +# -------------------- (custom) wkhtmltopdf -------------------- +RUN set -eux \ + && OS_RELEASE="stretch" \ + && DEB_HOST_ARCH="$( dpkg-architecture --query DEB_HOST_ARCH )" \ + && WK_URL="$( \ + curl -sSL -L --fail https://api.github.com/repos/wkhtmltopdf/packaging/releases \ + | awk -F\" "/wkhtmltopdf.*.${OS_RELEASE}_${DEB_HOST_ARCH}\.deb/{print \$(NF-1)}" \ + | head -1 \ + )" \ + && echo "URL: ${WK_URL}" \ + && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb "${WK_URL}" \ + && dpkg -i /tmp/wkhtmltopdf.deb \ + && rm -f /tmp/wkhtmltopdf.deb \ + \ + && wkhtmltopdf --version | grep ^wkhtmltopdf | grep -E '[0-9]\.[0-9]+' | grep patched || (wkhtmltopdf --version; false) \ + && true + # -------------------- (custom) wp-cli -------------------- RUN set -eux \ && WPCLI_URL="https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar" \ @@ -649,8 +674,16 @@ RUN set -eux \ # ---------- run_deps ---------- dos2unix \ file \ + fontconfig \ + libfontenc1 \ + libxfont1 \ + libxrender1 \ moreutils \ ruby \ + xfonts-75dpi \ + xfonts-base \ + xfonts-encodings \ + xfonts-utils \ # ---------- type: apt ---------- git \ jq \ @@ -920,6 +953,11 @@ RUN set -eux \ && webpack-cli --version | grep -E '[0-9][.0-9]+' || (webpack-cli --version; false) \ && true +# -------------------- (custom) wkhtmltopdf -------------------- +RUN set -eux \ + && wkhtmltopdf --version | grep ^wkhtmltopdf | grep -E '[0-9]\.[0-9]+' | grep patched || (wkhtmltopdf --version; false) \ + && true + # -------------------- (custom) wp-cli -------------------- RUN set -eux \ && wp --allow-root --version | grep -E '[0-9][.0-9]+' || (wp --allow-root --version; false) \ diff --git a/Dockerfiles/work/Dockerfile-7.1 b/Dockerfiles/work/Dockerfile-7.1 index c166825..40d2e9a 100644 --- a/Dockerfiles/work/Dockerfile-7.1 +++ b/Dockerfiles/work/Dockerfile-7.1 @@ -266,8 +266,16 @@ RUN set -eux \ # ---------- run_deps ---------- dos2unix \ file \ + fontconfig \ + libfontenc1 \ + libxfont2 \ + libxrender1 \ moreutils \ ruby \ + xfonts-75dpi \ + xfonts-base \ + xfonts-encodings \ + xfonts-utils \ # ---------- type: apt ---------- git \ jq \ @@ -592,6 +600,23 @@ RUN set -eux \ && webpack-cli --version | grep -E '[0-9][.0-9]+' || (webpack-cli --version; false) \ && true +# -------------------- (custom) wkhtmltopdf -------------------- +RUN set -eux \ + && OS_RELEASE="buster" \ + && DEB_HOST_ARCH="$( dpkg-architecture --query DEB_HOST_ARCH )" \ + && WK_URL="$( \ + curl -sSL -L --fail https://api.github.com/repos/wkhtmltopdf/packaging/releases \ + | awk -F\" "/wkhtmltopdf.*.${OS_RELEASE}_${DEB_HOST_ARCH}\.deb/{print \$(NF-1)}" \ + | head -1 \ + )" \ + && echo "URL: ${WK_URL}" \ + && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb "${WK_URL}" \ + && dpkg -i /tmp/wkhtmltopdf.deb \ + && rm -f /tmp/wkhtmltopdf.deb \ + \ + && wkhtmltopdf --version | grep ^wkhtmltopdf | grep -E '[0-9]\.[0-9]+' | grep patched || (wkhtmltopdf --version; false) \ + && true + # -------------------- (custom) wp-cli -------------------- RUN set -eux \ && WPCLI_URL="https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar" \ @@ -649,8 +674,16 @@ RUN set -eux \ # ---------- run_deps ---------- dos2unix \ file \ + fontconfig \ + libfontenc1 \ + libxfont2 \ + libxrender1 \ moreutils \ ruby \ + xfonts-75dpi \ + xfonts-base \ + xfonts-encodings \ + xfonts-utils \ # ---------- type: apt ---------- git \ jq \ @@ -920,6 +953,11 @@ RUN set -eux \ && webpack-cli --version | grep -E '[0-9][.0-9]+' || (webpack-cli --version; false) \ && true +# -------------------- (custom) wkhtmltopdf -------------------- +RUN set -eux \ + && wkhtmltopdf --version | grep ^wkhtmltopdf | grep -E '[0-9]\.[0-9]+' | grep patched || (wkhtmltopdf --version; false) \ + && true + # -------------------- (custom) wp-cli -------------------- RUN set -eux \ && wp --allow-root --version | grep -E '[0-9][.0-9]+' || (wp --allow-root --version; false) \ diff --git a/Dockerfiles/work/Dockerfile-7.2 b/Dockerfiles/work/Dockerfile-7.2 index e228c3c..1a4cbd1 100644 --- a/Dockerfiles/work/Dockerfile-7.2 +++ b/Dockerfiles/work/Dockerfile-7.2 @@ -266,8 +266,16 @@ RUN set -eux \ # ---------- run_deps ---------- dos2unix \ file \ + fontconfig \ + libfontenc1 \ + libxfont2 \ + libxrender1 \ moreutils \ ruby \ + xfonts-75dpi \ + xfonts-base \ + xfonts-encodings \ + xfonts-utils \ # ---------- type: apt ---------- git \ jq \ @@ -592,6 +600,23 @@ RUN set -eux \ && webpack-cli --version | grep -E '[0-9][.0-9]+' || (webpack-cli --version; false) \ && true +# -------------------- (custom) wkhtmltopdf -------------------- +RUN set -eux \ + && OS_RELEASE="buster" \ + && DEB_HOST_ARCH="$( dpkg-architecture --query DEB_HOST_ARCH )" \ + && WK_URL="$( \ + curl -sSL -L --fail https://api.github.com/repos/wkhtmltopdf/packaging/releases \ + | awk -F\" "/wkhtmltopdf.*.${OS_RELEASE}_${DEB_HOST_ARCH}\.deb/{print \$(NF-1)}" \ + | head -1 \ + )" \ + && echo "URL: ${WK_URL}" \ + && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb "${WK_URL}" \ + && dpkg -i /tmp/wkhtmltopdf.deb \ + && rm -f /tmp/wkhtmltopdf.deb \ + \ + && wkhtmltopdf --version | grep ^wkhtmltopdf | grep -E '[0-9]\.[0-9]+' | grep patched || (wkhtmltopdf --version; false) \ + && true + # -------------------- (custom) wp-cli -------------------- RUN set -eux \ && WPCLI_URL="https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar" \ @@ -649,8 +674,16 @@ RUN set -eux \ # ---------- run_deps ---------- dos2unix \ file \ + fontconfig \ + libfontenc1 \ + libxfont2 \ + libxrender1 \ moreutils \ ruby \ + xfonts-75dpi \ + xfonts-base \ + xfonts-encodings \ + xfonts-utils \ # ---------- type: apt ---------- git \ jq \ @@ -920,6 +953,11 @@ RUN set -eux \ && webpack-cli --version | grep -E '[0-9][.0-9]+' || (webpack-cli --version; false) \ && true +# -------------------- (custom) wkhtmltopdf -------------------- +RUN set -eux \ + && wkhtmltopdf --version | grep ^wkhtmltopdf | grep -E '[0-9]\.[0-9]+' | grep patched || (wkhtmltopdf --version; false) \ + && true + # -------------------- (custom) wp-cli -------------------- RUN set -eux \ && wp --allow-root --version | grep -E '[0-9][.0-9]+' || (wp --allow-root --version; false) \ diff --git a/Dockerfiles/work/Dockerfile-7.3 b/Dockerfiles/work/Dockerfile-7.3 index 24a62cd..bc6c504 100644 --- a/Dockerfiles/work/Dockerfile-7.3 +++ b/Dockerfiles/work/Dockerfile-7.3 @@ -268,8 +268,16 @@ RUN set -eux \ # ---------- run_deps ---------- dos2unix \ file \ + fontconfig \ + libfontenc1 \ + libxfont2 \ + libxrender1 \ moreutils \ ruby \ + xfonts-75dpi \ + xfonts-base \ + xfonts-encodings \ + xfonts-utils \ # ---------- type: apt ---------- git \ jq \ @@ -592,6 +600,23 @@ RUN set -eux \ && webpack-cli --version | grep -E '[0-9][.0-9]+' || (webpack-cli --version; false) \ && true +# -------------------- (custom) wkhtmltopdf -------------------- +RUN set -eux \ + && OS_RELEASE="bullseye" \ + && DEB_HOST_ARCH="$( dpkg-architecture --query DEB_HOST_ARCH )" \ + && WK_URL="$( \ + curl -sSL -L --fail https://api.github.com/repos/wkhtmltopdf/packaging/releases \ + | awk -F\" "/wkhtmltopdf.*.${OS_RELEASE}_${DEB_HOST_ARCH}\.deb/{print \$(NF-1)}" \ + | head -1 \ + )" \ + && echo "URL: ${WK_URL}" \ + && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb "${WK_URL}" \ + && dpkg -i /tmp/wkhtmltopdf.deb \ + && rm -f /tmp/wkhtmltopdf.deb \ + \ + && wkhtmltopdf --version | grep ^wkhtmltopdf | grep -E '[0-9]\.[0-9]+' | grep patched || (wkhtmltopdf --version; false) \ + && true + # -------------------- (custom) wp-cli -------------------- RUN set -eux \ && WPCLI_URL="https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar" \ @@ -649,8 +674,16 @@ RUN set -eux \ # ---------- run_deps ---------- dos2unix \ file \ + fontconfig \ + libfontenc1 \ + libxfont2 \ + libxrender1 \ moreutils \ ruby \ + xfonts-75dpi \ + xfonts-base \ + xfonts-encodings \ + xfonts-utils \ # ---------- type: apt ---------- git \ jq \ @@ -920,6 +953,11 @@ RUN set -eux \ && webpack-cli --version | grep -E '[0-9][.0-9]+' || (webpack-cli --version; false) \ && true +# -------------------- (custom) wkhtmltopdf -------------------- +RUN set -eux \ + && wkhtmltopdf --version | grep ^wkhtmltopdf | grep -E '[0-9]\.[0-9]+' | grep patched || (wkhtmltopdf --version; false) \ + && true + # -------------------- (custom) wp-cli -------------------- RUN set -eux \ && wp --allow-root --version | grep -E '[0-9][.0-9]+' || (wp --allow-root --version; false) \ diff --git a/Dockerfiles/work/Dockerfile-7.4 b/Dockerfiles/work/Dockerfile-7.4 index 4d61c5c..b87f08f 100644 --- a/Dockerfiles/work/Dockerfile-7.4 +++ b/Dockerfiles/work/Dockerfile-7.4 @@ -268,8 +268,16 @@ RUN set -eux \ # ---------- run_deps ---------- dos2unix \ file \ + fontconfig \ + libfontenc1 \ + libxfont2 \ + libxrender1 \ moreutils \ ruby \ + xfonts-75dpi \ + xfonts-base \ + xfonts-encodings \ + xfonts-utils \ # ---------- type: apt ---------- git \ jq \ @@ -592,6 +600,23 @@ RUN set -eux \ && webpack-cli --version | grep -E '[0-9][.0-9]+' || (webpack-cli --version; false) \ && true +# -------------------- (custom) wkhtmltopdf -------------------- +RUN set -eux \ + && OS_RELEASE="bullseye" \ + && DEB_HOST_ARCH="$( dpkg-architecture --query DEB_HOST_ARCH )" \ + && WK_URL="$( \ + curl -sSL -L --fail https://api.github.com/repos/wkhtmltopdf/packaging/releases \ + | awk -F\" "/wkhtmltopdf.*.${OS_RELEASE}_${DEB_HOST_ARCH}\.deb/{print \$(NF-1)}" \ + | head -1 \ + )" \ + && echo "URL: ${WK_URL}" \ + && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb "${WK_URL}" \ + && dpkg -i /tmp/wkhtmltopdf.deb \ + && rm -f /tmp/wkhtmltopdf.deb \ + \ + && wkhtmltopdf --version | grep ^wkhtmltopdf | grep -E '[0-9]\.[0-9]+' | grep patched || (wkhtmltopdf --version; false) \ + && true + # -------------------- (custom) wp-cli -------------------- RUN set -eux \ && WPCLI_URL="https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar" \ @@ -649,8 +674,16 @@ RUN set -eux \ # ---------- run_deps ---------- dos2unix \ file \ + fontconfig \ + libfontenc1 \ + libxfont2 \ + libxrender1 \ moreutils \ ruby \ + xfonts-75dpi \ + xfonts-base \ + xfonts-encodings \ + xfonts-utils \ # ---------- type: apt ---------- git \ jq \ @@ -920,6 +953,11 @@ RUN set -eux \ && webpack-cli --version | grep -E '[0-9][.0-9]+' || (webpack-cli --version; false) \ && true +# -------------------- (custom) wkhtmltopdf -------------------- +RUN set -eux \ + && wkhtmltopdf --version | grep ^wkhtmltopdf | grep -E '[0-9]\.[0-9]+' | grep patched || (wkhtmltopdf --version; false) \ + && true + # -------------------- (custom) wp-cli -------------------- RUN set -eux \ && wp --allow-root --version | grep -E '[0-9][.0-9]+' || (wp --allow-root --version; false) \ diff --git a/Dockerfiles/work/Dockerfile-8.0 b/Dockerfiles/work/Dockerfile-8.0 index 4808727..d763e48 100644 --- a/Dockerfiles/work/Dockerfile-8.0 +++ b/Dockerfiles/work/Dockerfile-8.0 @@ -268,8 +268,16 @@ RUN set -eux \ # ---------- run_deps ---------- dos2unix \ file \ + fontconfig \ + libfontenc1 \ + libxfont2 \ + libxrender1 \ moreutils \ ruby \ + xfonts-75dpi \ + xfonts-base \ + xfonts-encodings \ + xfonts-utils \ # ---------- type: apt ---------- git \ jq \ @@ -592,6 +600,23 @@ RUN set -eux \ && webpack-cli --version | grep -E '[0-9][.0-9]+' || (webpack-cli --version; false) \ && true +# -------------------- (custom) wkhtmltopdf -------------------- +RUN set -eux \ + && OS_RELEASE="bullseye" \ + && DEB_HOST_ARCH="$( dpkg-architecture --query DEB_HOST_ARCH )" \ + && WK_URL="$( \ + curl -sSL -L --fail https://api.github.com/repos/wkhtmltopdf/packaging/releases \ + | awk -F\" "/wkhtmltopdf.*.${OS_RELEASE}_${DEB_HOST_ARCH}\.deb/{print \$(NF-1)}" \ + | head -1 \ + )" \ + && echo "URL: ${WK_URL}" \ + && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb "${WK_URL}" \ + && dpkg -i /tmp/wkhtmltopdf.deb \ + && rm -f /tmp/wkhtmltopdf.deb \ + \ + && wkhtmltopdf --version | grep ^wkhtmltopdf | grep -E '[0-9]\.[0-9]+' | grep patched || (wkhtmltopdf --version; false) \ + && true + # -------------------- (custom) wp-cli -------------------- RUN set -eux \ && WPCLI_URL="https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar" \ @@ -649,8 +674,16 @@ RUN set -eux \ # ---------- run_deps ---------- dos2unix \ file \ + fontconfig \ + libfontenc1 \ + libxfont2 \ + libxrender1 \ moreutils \ ruby \ + xfonts-75dpi \ + xfonts-base \ + xfonts-encodings \ + xfonts-utils \ # ---------- type: apt ---------- git \ jq \ @@ -920,6 +953,11 @@ RUN set -eux \ && webpack-cli --version | grep -E '[0-9][.0-9]+' || (webpack-cli --version; false) \ && true +# -------------------- (custom) wkhtmltopdf -------------------- +RUN set -eux \ + && wkhtmltopdf --version | grep ^wkhtmltopdf | grep -E '[0-9]\.[0-9]+' | grep patched || (wkhtmltopdf --version; false) \ + && true + # -------------------- (custom) wp-cli -------------------- RUN set -eux \ && wp --allow-root --version | grep -E '[0-9][.0-9]+' || (wp --allow-root --version; false) \ diff --git a/Dockerfiles/work/Dockerfile-8.1 b/Dockerfiles/work/Dockerfile-8.1 index c24afcf..da5ef1e 100644 --- a/Dockerfiles/work/Dockerfile-8.1 +++ b/Dockerfiles/work/Dockerfile-8.1 @@ -268,8 +268,16 @@ RUN set -eux \ # ---------- run_deps ---------- dos2unix \ file \ + fontconfig \ + libfontenc1 \ + libxfont2 \ + libxrender1 \ moreutils \ ruby \ + xfonts-75dpi \ + xfonts-base \ + xfonts-encodings \ + xfonts-utils \ # ---------- type: apt ---------- git \ jq \ @@ -592,6 +600,23 @@ RUN set -eux \ && webpack-cli --version | grep -E '[0-9][.0-9]+' || (webpack-cli --version; false) \ && true +# -------------------- (custom) wkhtmltopdf -------------------- +RUN set -eux \ + && OS_RELEASE="bullseye" \ + && DEB_HOST_ARCH="$( dpkg-architecture --query DEB_HOST_ARCH )" \ + && WK_URL="$( \ + curl -sSL -L --fail https://api.github.com/repos/wkhtmltopdf/packaging/releases \ + | awk -F\" "/wkhtmltopdf.*.${OS_RELEASE}_${DEB_HOST_ARCH}\.deb/{print \$(NF-1)}" \ + | head -1 \ + )" \ + && echo "URL: ${WK_URL}" \ + && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb "${WK_URL}" \ + && dpkg -i /tmp/wkhtmltopdf.deb \ + && rm -f /tmp/wkhtmltopdf.deb \ + \ + && wkhtmltopdf --version | grep ^wkhtmltopdf | grep -E '[0-9]\.[0-9]+' | grep patched || (wkhtmltopdf --version; false) \ + && true + # -------------------- (custom) wp-cli -------------------- RUN set -eux \ && WPCLI_URL="https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar" \ @@ -649,8 +674,16 @@ RUN set -eux \ # ---------- run_deps ---------- dos2unix \ file \ + fontconfig \ + libfontenc1 \ + libxfont2 \ + libxrender1 \ moreutils \ ruby \ + xfonts-75dpi \ + xfonts-base \ + xfonts-encodings \ + xfonts-utils \ # ---------- type: apt ---------- git \ jq \ @@ -920,6 +953,11 @@ RUN set -eux \ && webpack-cli --version | grep -E '[0-9][.0-9]+' || (webpack-cli --version; false) \ && true +# -------------------- (custom) wkhtmltopdf -------------------- +RUN set -eux \ + && wkhtmltopdf --version | grep ^wkhtmltopdf | grep -E '[0-9]\.[0-9]+' | grep patched || (wkhtmltopdf --version; false) \ + && true + # -------------------- (custom) wp-cli -------------------- RUN set -eux \ && wp --allow-root --version | grep -E '[0-9][.0-9]+' || (wp --allow-root --version; false) \ diff --git a/Dockerfiles/work/Dockerfile-8.2 b/Dockerfiles/work/Dockerfile-8.2 index 588a862..f9f1bec 100644 --- a/Dockerfiles/work/Dockerfile-8.2 +++ b/Dockerfiles/work/Dockerfile-8.2 @@ -268,8 +268,16 @@ RUN set -eux \ # ---------- run_deps ---------- dos2unix \ file \ + fontconfig \ + libfontenc1 \ + libxfont2 \ + libxrender1 \ moreutils \ ruby \ + xfonts-75dpi \ + xfonts-base \ + xfonts-encodings \ + xfonts-utils \ # ---------- type: apt ---------- git \ jq \ @@ -545,6 +553,23 @@ RUN set -eux \ && webpack-cli --version | grep -E '[0-9][.0-9]+' || (webpack-cli --version; false) \ && true +# -------------------- (custom) wkhtmltopdf -------------------- +RUN set -eux \ + && OS_RELEASE="bullseye" \ + && DEB_HOST_ARCH="$( dpkg-architecture --query DEB_HOST_ARCH )" \ + && WK_URL="$( \ + curl -sSL -L --fail https://api.github.com/repos/wkhtmltopdf/packaging/releases \ + | awk -F\" "/wkhtmltopdf.*.${OS_RELEASE}_${DEB_HOST_ARCH}\.deb/{print \$(NF-1)}" \ + | head -1 \ + )" \ + && echo "URL: ${WK_URL}" \ + && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb "${WK_URL}" \ + && dpkg -i /tmp/wkhtmltopdf.deb \ + && rm -f /tmp/wkhtmltopdf.deb \ + \ + && wkhtmltopdf --version | grep ^wkhtmltopdf | grep -E '[0-9]\.[0-9]+' | grep patched || (wkhtmltopdf --version; false) \ + && true + # -------------------- (custom) wp-cli -------------------- RUN set -eux \ && WPCLI_URL="https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar" \ @@ -602,8 +627,16 @@ RUN set -eux \ # ---------- run_deps ---------- dos2unix \ file \ + fontconfig \ + libfontenc1 \ + libxfont2 \ + libxrender1 \ moreutils \ ruby \ + xfonts-75dpi \ + xfonts-base \ + xfonts-encodings \ + xfonts-utils \ # ---------- type: apt ---------- git \ jq \ @@ -846,6 +879,11 @@ RUN set -eux \ && webpack-cli --version | grep -E '[0-9][.0-9]+' || (webpack-cli --version; false) \ && true +# -------------------- (custom) wkhtmltopdf -------------------- +RUN set -eux \ + && wkhtmltopdf --version | grep ^wkhtmltopdf | grep -E '[0-9]\.[0-9]+' | grep patched || (wkhtmltopdf --version; false) \ + && true + # -------------------- (custom) wp-cli -------------------- RUN set -eux \ && wp --allow-root --version | grep -E '[0-9][.0-9]+' || (wp --allow-root --version; false) \ diff --git a/doc/available-tools.md b/doc/available-tools.md index d0d891e..41eb438 100644 --- a/doc/available-tools.md +++ b/doc/available-tools.md @@ -292,6 +292,7 @@ Additionally to all of the `slim` tools shown above, the following PHP cli tools | [vim][lnk_vim] | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | [vue-cli][lnk_vue-cli] | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | [webpack-cli][lnk_webpack-cli] | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | +| [wkhtmltopdf][lnk_wkhtmltopdf] | | | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | [wp-cli][lnk_wp-cli] | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | [yamllint][lnk_yamllint] | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | [**yarn**][lnk_**yarn**] | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | @@ -341,6 +342,7 @@ Additionally to all of the `slim` tools shown above, the following PHP cli tools [lnk_vim]: ../php_tools/vim [lnk_vue-cli]: ../php_tools/vue-cli [lnk_webpack-cli]: ../php_tools/webpack-cli +[lnk_wkhtmltopdf]: ../php_tools/wkhtmltopdf [lnk_wp-cli]: ../php_tools/wp-cli [lnk_yamllint]: ../php_tools/yamllint [lnk_**yarn**]: https://yarnpkg.com/cli/install diff --git a/php_tools/wkhtmltopdf/README.md b/php_tools/wkhtmltopdf/README.md new file mode 100644 index 0000000..0036202 --- /dev/null +++ b/php_tools/wkhtmltopdf/README.md @@ -0,0 +1,8 @@ +# wkhtmltopdf + +`wkhtmltopdf` and `wkhtmltoimage` are command line tools to render HTML into PDF and various image formats using the QT Webkit rendering engine. These run entirely "headless" and do not require a display or display service. + +| Platform | Url | +|----------|------------------------------------------------------------------| +| GitHub | https://github.com/wkhtmltopdf/wkhtmltopdf | +| Website | https://wkhtmltopdf.org/ | diff --git a/php_tools/wkhtmltopdf/install.yml b/php_tools/wkhtmltopdf/install.yml new file mode 100644 index 0000000..286f7d0 --- /dev/null +++ b/php_tools/wkhtmltopdf/install.yml @@ -0,0 +1,61 @@ +--- + +check: wkhtmltopdf --version | grep ^wkhtmltopdf | grep -E '[0-9]\.[0-9]+' | grep patched || (wkhtmltopdf --version; false) + +all: + type: custom + pre: OS_RELEASE="bullseye" + command: | + DEB_HOST_ARCH="$( dpkg-architecture --query DEB_HOST_ARCH )" \ + && WK_URL="$( \ + curl -sSL -L --fail https://api.github.com/repos/wkhtmltopdf/packaging/releases \ + | awk -F\" "/wkhtmltopdf.*.${OS_RELEASE}_${DEB_HOST_ARCH}\.deb/{print \$(NF-1)}" \ + | head -1 \ + )" \ + && echo "URL: ${WK_URL}" \ + && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb "${WK_URL}" \ + && dpkg -i /tmp/wkhtmltopdf.deb \ + && rm -f /tmp/wkhtmltopdf.deb \ + run_dep: + - fontconfig + - libfontenc1 + - libxfont2 + - libxrender1 + - xfonts-75dpi + - xfonts-base + - xfonts-encodings + - xfonts-utils + +7.2: + type: custom + pre: OS_RELEASE="buster" + +7.1: + type: custom + pre: OS_RELEASE="buster" + +7.0: + type: custom + pre: OS_RELEASE="stretch" + run_dep: + - fontconfig + - libfontenc1 + - libxfont1 + - libxrender1 + - xfonts-75dpi + - xfonts-base + - xfonts-encodings + - xfonts-utils + +5.6: + type: custom + pre: OS_RELEASE="stretch" + run_dep: + - fontconfig + - libfontenc1 + - libxfont1 + - libxrender1 + - xfonts-75dpi + - xfonts-base + - xfonts-encodings + - xfonts-utils diff --git a/php_tools/wkhtmltopdf/options.yml b/php_tools/wkhtmltopdf/options.yml new file mode 100644 index 0000000..4f5fdca --- /dev/null +++ b/php_tools/wkhtmltopdf/options.yml @@ -0,0 +1,11 @@ +--- + +# The name of the module +name: wkhtmltopdf + +# Exclude module build/installation for the following PHP versions +exclude: [5.2, 5.3, 5.4, 5.5] + +# In order for this tool to build/install correctly, +# the following tools must have been installed first. +depends: []