diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index d2b3d529..3830dfbe 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -41,7 +41,7 @@ jobs: - '8.2' refs: - 'master' - - '0.134' + - '0.135' steps: # ------------------------------------------------------------ diff --git a/CHANGELOG.md b/CHANGELOG.md index 5fd7cf66..22e92580 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,20 @@ ## Unreleased +## Release 0.135 + +#### Fixed +- Fixed cloning of gitflow +- Fixed pidof issue on QUEMU by replacing it with pgrep [#854](https://github.com/cytopia/devilbox/issues/854) + +#### Changed +- Changed PHP 5.2 and PHP 5.3 base images to Debian stretch +- Removed photoncms binaries (their GitHub organization went private) +- Removed `mongodb` extension from PHP 5.3 due to build errors +- Removed `ioncube` extension for PHP 5.2, PHP 5.3 and PHP 5.4 (arm64 only supported from PHP 5.5 onwards) +- Removed `codeception` from PHP 5.3 + + ## Release 0.134 #### Changed diff --git a/Dockerfiles/base/Dockerfile-5.2 b/Dockerfiles/base/Dockerfile-5.2 index 6ee44f8d..0496cb97 100644 --- a/Dockerfiles/base/Dockerfile-5.2 +++ b/Dockerfiles/base/Dockerfile-5.2 @@ -43,16 +43,11 @@ RUN set -eux \ ### ### Upgrade (install ps) ### -RUN set -eux \ - && rm -f /etc/apt/sources.list \ - && { \ - echo "deb http://ftp.debian.org/debian jessie main"; \ - echo "#deb http://ftp.debian.org/debian jessie-updates main"; \ - echo "deb http://security.debian.org/debian-security jessie/updates main"; \ - } | tee /etc/apt/sources.list RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update -q \ - && DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests procps \ + && DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \ + dpkg-dev \ + procps \ && rm -rf /var/lib/apt/lists/* diff --git a/Dockerfiles/base/Dockerfile-5.3 b/Dockerfiles/base/Dockerfile-5.3 index 5f804560..9ba4d1db 100644 --- a/Dockerfiles/base/Dockerfile-5.3 +++ b/Dockerfiles/base/Dockerfile-5.3 @@ -43,16 +43,11 @@ RUN set -eux \ ### ### Upgrade (install ps) ### -RUN set -eux \ - && rm -f /etc/apt/sources.list \ - && { \ - echo "deb http://ftp.debian.org/debian jessie main"; \ - echo "#deb http://ftp.debian.org/debian jessie-updates main"; \ - echo "deb http://security.debian.org/debian-security jessie/updates main"; \ - } | tee /etc/apt/sources.list RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update -q \ - && DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests procps \ + && DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \ + dpkg-dev \ + procps \ && rm -rf /var/lib/apt/lists/* diff --git a/Dockerfiles/base/Dockerfile-5.4 b/Dockerfiles/base/Dockerfile-5.4 index 48f52717..a36d13b9 100644 --- a/Dockerfiles/base/Dockerfile-5.4 +++ b/Dockerfiles/base/Dockerfile-5.4 @@ -52,7 +52,9 @@ RUN set -eux \ } | tee /etc/apt/sources.list RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update -q \ - && DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests procps \ + && DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \ + dpkg-dev \ + procps \ && rm -rf /var/lib/apt/lists/* diff --git a/Dockerfiles/base/Dockerfile-5.5 b/Dockerfiles/base/Dockerfile-5.5 index 5a633ea0..116e8417 100644 --- a/Dockerfiles/base/Dockerfile-5.5 +++ b/Dockerfiles/base/Dockerfile-5.5 @@ -52,7 +52,9 @@ RUN set -eux \ } | tee /etc/apt/sources.list RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update -q \ - && DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests procps \ + && DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \ + dpkg-dev \ + procps \ && rm -rf /var/lib/apt/lists/* diff --git a/Dockerfiles/base/Dockerfile-5.6 b/Dockerfiles/base/Dockerfile-5.6 index 071ede02..4efd27e6 100644 --- a/Dockerfiles/base/Dockerfile-5.6 +++ b/Dockerfiles/base/Dockerfile-5.6 @@ -45,7 +45,9 @@ RUN set -eux \ ### RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update -q \ - && DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests procps \ + && DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \ + dpkg-dev \ + procps \ && rm -rf /var/lib/apt/lists/* diff --git a/Dockerfiles/base/Dockerfile-7.0 b/Dockerfiles/base/Dockerfile-7.0 index 25381f5c..81bb3fe6 100644 --- a/Dockerfiles/base/Dockerfile-7.0 +++ b/Dockerfiles/base/Dockerfile-7.0 @@ -45,7 +45,9 @@ RUN set -eux \ ### RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update -q \ - && DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests procps \ + && DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \ + dpkg-dev \ + procps \ && rm -rf /var/lib/apt/lists/* diff --git a/Dockerfiles/base/Dockerfile-7.1 b/Dockerfiles/base/Dockerfile-7.1 index 28cfdb92..28d53cc8 100644 --- a/Dockerfiles/base/Dockerfile-7.1 +++ b/Dockerfiles/base/Dockerfile-7.1 @@ -45,7 +45,9 @@ RUN set -eux \ ### RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update -q \ - && DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests procps \ + && DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \ + dpkg-dev \ + procps \ && rm -rf /var/lib/apt/lists/* diff --git a/Dockerfiles/base/Dockerfile-7.2 b/Dockerfiles/base/Dockerfile-7.2 index 5626b780..42bdf177 100644 --- a/Dockerfiles/base/Dockerfile-7.2 +++ b/Dockerfiles/base/Dockerfile-7.2 @@ -45,7 +45,9 @@ RUN set -eux \ ### RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update -q \ - && DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests procps \ + && DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \ + dpkg-dev \ + procps \ && rm -rf /var/lib/apt/lists/* diff --git a/Dockerfiles/base/Dockerfile-7.3 b/Dockerfiles/base/Dockerfile-7.3 index 1662f153..550e88de 100644 --- a/Dockerfiles/base/Dockerfile-7.3 +++ b/Dockerfiles/base/Dockerfile-7.3 @@ -45,7 +45,9 @@ RUN set -eux \ ### RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update -q \ - && DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests procps \ + && DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \ + dpkg-dev \ + procps \ && rm -rf /var/lib/apt/lists/* diff --git a/Dockerfiles/base/Dockerfile-7.4 b/Dockerfiles/base/Dockerfile-7.4 index 2fa3fbe8..bf56ce7a 100644 --- a/Dockerfiles/base/Dockerfile-7.4 +++ b/Dockerfiles/base/Dockerfile-7.4 @@ -45,7 +45,9 @@ RUN set -eux \ ### RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update -q \ - && DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests procps \ + && DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \ + dpkg-dev \ + procps \ && rm -rf /var/lib/apt/lists/* diff --git a/Dockerfiles/base/Dockerfile-8.0 b/Dockerfiles/base/Dockerfile-8.0 index efa3d1d5..f631dfa8 100644 --- a/Dockerfiles/base/Dockerfile-8.0 +++ b/Dockerfiles/base/Dockerfile-8.0 @@ -45,7 +45,9 @@ RUN set -eux \ ### RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update -q \ - && DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests procps \ + && DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \ + dpkg-dev \ + procps \ && rm -rf /var/lib/apt/lists/* diff --git a/Dockerfiles/base/Dockerfile-8.1 b/Dockerfiles/base/Dockerfile-8.1 index 4f52670e..fe45252d 100644 --- a/Dockerfiles/base/Dockerfile-8.1 +++ b/Dockerfiles/base/Dockerfile-8.1 @@ -45,7 +45,9 @@ RUN set -eux \ ### RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update -q \ - && DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests procps \ + && DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \ + dpkg-dev \ + procps \ && rm -rf /var/lib/apt/lists/* diff --git a/Dockerfiles/base/Dockerfile-8.2 b/Dockerfiles/base/Dockerfile-8.2 index 001d3f7a..3d8e1d57 100644 --- a/Dockerfiles/base/Dockerfile-8.2 +++ b/Dockerfiles/base/Dockerfile-8.2 @@ -45,7 +45,9 @@ RUN set -eux \ ### RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update -q \ - && DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests procps \ + && DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \ + dpkg-dev \ + procps \ && rm -rf /var/lib/apt/lists/* diff --git a/Dockerfiles/mods/Dockerfile-5.2 b/Dockerfiles/mods/Dockerfile-5.2 index 53ae751b..b045dc73 100644 --- a/Dockerfiles/mods/Dockerfile-5.2 +++ b/Dockerfiles/mods/Dockerfile-5.2 @@ -37,6 +37,7 @@ RUN set -eux \ libssl-dev \ libtidy-dev \ libvpx-dev \ + libwebp-dev \ libxml2-dev \ libxpm-dev \ libxslt-dev \ @@ -60,29 +61,12 @@ RUN set -eux \ echo "ffi.enable = 1" >> /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini; \ fi -# -------------------- Installing PHP Extension: ioncube -------------------- -RUN set -eux \ - # Installation: Generic - # Type: Custom extension - && EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \ -&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \ -&& curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz -L -o ioncube.tar.gz \ -&& tar xvfz ioncube.tar.gz \ -&& cd ioncube \ -&& cp "ioncube_loader_lin_5.2.so" "${EXTENSION_DIR}/ioncube.so" \ -&& cd ../ \ -&& rm -rf ioncube \ -&& rm -rf ioncube.tar.gz \ - \ - && true - - # -------------------- Installing PHP Extension: amqp -------------------- RUN set -eux \ # Installation: Version specific # Type: PECL extension # Default: Pecl command - && pecl install amqp-1.4.0 \ + && pecl install amqp-1.6.1 \ # Enabling && docker-php-ext-enable amqp \ && true @@ -163,11 +147,9 @@ RUN set -eux \ # -------------------- Installing PHP Extension: gd -------------------- RUN set -eux \ # Version specific pre-command - && ln -s /usr/lib/x86_64-linux-gnu/libjpeg.* /usr/lib/ && \ -ln -s /usr/lib/x86_64-linux-gnu/libpng.* /usr/lib/ && \ -ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ && \ -mkdir /usr/include/freetype2/freetype && \ -ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h \ + && ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libjpeg.* /usr/lib/ && \ +ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libpng.* /usr/lib/ && \ +ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ \ \ # Installation: Version specific # Type: Built-in extension @@ -200,7 +182,7 @@ RUN set -eux \ # -------------------- Installing PHP Extension: imap -------------------- RUN set -eux \ # Generic pre-command - && ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \ + && ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libkrb5* /usr/lib/ \ # Installation: Generic # Type: Built-in extension # Custom: configure command @@ -231,7 +213,7 @@ RUN set -eux \ # -------------------- Installing PHP Extension: ldap -------------------- RUN set -eux \ # Generic pre-command - && ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \ + && ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libldap* /usr/lib/ \ # Installation: Generic # Type: Built-in extension # Custom: configure command @@ -326,7 +308,7 @@ RUN set -eux \ # -------------------- Installing PHP Extension: pdo_dblib -------------------- RUN set -eux \ # Generic pre-command - && ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \ + && ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libsybdb.* /usr/lib/ \ # Installation: Generic # Type: Built-in extension && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \ @@ -578,18 +560,19 @@ RUN set -eux \ libenchant1c2a \ libfbclient2 \ libfreetype6 \ - libicu52 \ + libicu57 \ libjpeg62-turbo \ + libmariadbclient18 \ libmcrypt4 \ libmemcachedutil2 \ - libmysqlclient18 \ - libpng12-0 \ + libpng16-16 \ libpq5 \ - librabbitmq1 \ + librabbitmq4 \ librecode0 \ libsybdb5 \ - libtidy-0.99-0 \ - libvpx1 \ + libtidy5 \ + libvpx4 \ + libwebp6 \ libxpm4 \ libxslt1.1 \ snmp \ diff --git a/Dockerfiles/mods/Dockerfile-5.3 b/Dockerfiles/mods/Dockerfile-5.3 index 8800348d..69c73c85 100644 --- a/Dockerfiles/mods/Dockerfile-5.3 +++ b/Dockerfiles/mods/Dockerfile-5.3 @@ -40,6 +40,7 @@ RUN set -eux \ libssl-dev \ libtidy-dev \ libvpx-dev \ + libwebp-dev \ libxml2-dev \ libxpm-dev \ libxslt-dev \ @@ -65,23 +66,6 @@ RUN set -eux \ echo "ffi.enable = 1" >> /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini; \ fi -# -------------------- Installing PHP Extension: ioncube -------------------- -RUN set -eux \ - # Installation: Generic - # Type: Custom extension - && EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \ -&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \ -&& curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz -L -o ioncube.tar.gz \ -&& tar xvfz ioncube.tar.gz \ -&& cd ioncube \ -&& cp "ioncube_loader_lin_5.3.so" "${EXTENSION_DIR}/ioncube.so" \ -&& cd ../ \ -&& rm -rf ioncube \ -&& rm -rf ioncube.tar.gz \ - \ - && true - - # -------------------- Installing PHP Extension: amqp -------------------- RUN set -eux \ # Installation: Version specific @@ -165,7 +149,7 @@ RUN set -eux \ # -------------------- Installing PHP Extension: gd -------------------- RUN set -eux \ # Version specific pre-command - && ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ && mkdir /usr/include/freetype2/freetype && ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h \ + && ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ \ # Installation: Version specific # Type: Built-in extension # Custom: configure command @@ -186,7 +170,7 @@ RUN set -eux \ # -------------------- Installing PHP Extension: gmp -------------------- RUN set -eux \ # Generic pre-command - && ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \ + && ln /usr/include/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/gmp.h /usr/include/ \ # Installation: Generic # Type: Built-in extension && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \ @@ -207,7 +191,7 @@ RUN set -eux \ # -------------------- Installing PHP Extension: imap -------------------- RUN set -eux \ # Generic pre-command - && ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \ + && ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libkrb5* /usr/lib/ \ # Installation: Generic # Type: Built-in extension # Custom: configure command @@ -236,7 +220,7 @@ RUN set -eux \ # -------------------- Installing PHP Extension: ldap -------------------- RUN set -eux \ # Generic pre-command - && ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \ + && ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libldap* /usr/lib/ \ # Installation: Generic # Type: Built-in extension # Custom: configure command @@ -306,17 +290,6 @@ RUN set -eux \ && true -# -------------------- Installing PHP Extension: mongodb -------------------- -RUN set -eux \ - # Installation: Version specific - # Type: PECL extension - # Default: Pecl command - && pecl install mongodb-0.6.3 \ - # Enabling - && docker-php-ext-enable mongodb \ - && true - - # -------------------- Installing PHP Extension: mysqli -------------------- RUN set -eux \ # Installation: Generic @@ -339,19 +312,27 @@ RUN set -eux \ # -------------------- Installing PHP Extension: oci8 -------------------- RUN set -eux \ # Generic pre-command - && ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ + && ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ && ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \ && ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//g' )" \ \ && rpm --import http://yum.oracle.com/RPM-GPG-KEY-oracle-ol7 \ -&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \ - https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \ -&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \ - https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \ -&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \ -&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \ -&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \ -&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \ +&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \ +https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \ +&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \ +https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \ +&& alien \ + -v \ + --target=$( dpkg --print-architecture ) \ + -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture \ + --query DEB_HOST_GNU_CPU).rpm \ +&& alien \ + -v \ + --target=$( dpkg --print-architecture ) \ + -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture \ + --query DEB_HOST_GNU_CPU).rpm \ +&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \ +&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \ \ # Installation: Generic # Type: Built-in extension @@ -359,7 +340,7 @@ RUN set -eux \ && docker-php-ext-configure oci8 --with-oci8=instantclient,/usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/,${ORACLE_VERSION_MAJOR} \ && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) oci8 \ # Generic post-command - && ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ + && ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ && ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \ && ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//g' )" \ && (ln -sf /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \ @@ -389,7 +370,7 @@ RUN set -eux \ # -------------------- Installing PHP Extension: pdo_dblib -------------------- RUN set -eux \ # Generic pre-command - && ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \ + && ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libsybdb.* /usr/lib/ \ # Installation: Generic # Type: Built-in extension && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \ @@ -702,20 +683,21 @@ RUN set -eux \ libenchant1c2a \ libfbclient2 \ libfreetype6 \ - libicu52 \ + libicu57 \ libjpeg62-turbo \ + libmariadbclient18 \ libmcrypt4 \ libmemcachedutil2 \ - libmysqlclient18 \ - libnghttp2-5 \ - libpng12-0 \ + libnghttp2-14 \ + libpng16-16 \ libpq5 \ - librabbitmq1 \ + librabbitmq4 \ librdkafka1 \ librecode0 \ libsybdb5 \ - libtidy-0.99-0 \ - libvpx1 \ + libtidy5 \ + libvpx4 \ + libwebp6 \ libxpm4 \ libxslt1.1 \ libyaml-0-2 \ @@ -732,7 +714,7 @@ RUN set -eux \ ### RUN set -eux \ # ---------- oci8 ---------- - && ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ + && ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ && ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \ && ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//g' )" \ && (ln -sf /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \ @@ -823,8 +805,6 @@ RUN set -eux \ && php-fpm -m | grep -oiE '^memcached$' \ && php -m | grep -oiE '^mongo$' \ && php-fpm -m | grep -oiE '^mongo$' \ - && php -m | grep -oiE '^mongodb$' \ - && php-fpm -m | grep -oiE '^mongodb$' \ && php -m | grep -oiE '^mysql$' \ && php-fpm -m | grep -oiE '^mysql$' \ && php -m | grep -oiE '^mysqli$' \ diff --git a/Dockerfiles/mods/Dockerfile-5.4 b/Dockerfiles/mods/Dockerfile-5.4 index b7f04b90..f761b12f 100644 --- a/Dockerfiles/mods/Dockerfile-5.4 +++ b/Dockerfiles/mods/Dockerfile-5.4 @@ -65,23 +65,6 @@ RUN set -eux \ echo "ffi.enable = 1" >> /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini; \ fi -# -------------------- Installing PHP Extension: ioncube -------------------- -RUN set -eux \ - # Installation: Generic - # Type: Custom extension - && EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \ -&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \ -&& curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz -L -o ioncube.tar.gz \ -&& tar xvfz ioncube.tar.gz \ -&& cd ioncube \ -&& cp "ioncube_loader_lin_5.4.so" "${EXTENSION_DIR}/ioncube.so" \ -&& cd ../ \ -&& rm -rf ioncube \ -&& rm -rf ioncube.tar.gz \ - \ - && true - - # -------------------- Installing PHP Extension: amqp -------------------- RUN set -eux \ # Installation: Version specific @@ -165,7 +148,7 @@ RUN set -eux \ # -------------------- Installing PHP Extension: gd -------------------- RUN set -eux \ # Version specific pre-command - && ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \ + && ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ \ # Installation: Version specific # Type: Built-in extension # Custom: configure command @@ -186,7 +169,7 @@ RUN set -eux \ # -------------------- Installing PHP Extension: gmp -------------------- RUN set -eux \ # Generic pre-command - && ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \ + && ln /usr/include/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/gmp.h /usr/include/ \ # Installation: Generic # Type: Built-in extension && docker-php-ext-install gmp \ @@ -207,7 +190,7 @@ RUN set -eux \ # -------------------- Installing PHP Extension: imap -------------------- RUN set -eux \ # Generic pre-command - && ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \ + && ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libkrb5* /usr/lib/ \ # Installation: Generic # Type: Built-in extension # Custom: configure command @@ -236,7 +219,7 @@ RUN set -eux \ # -------------------- Installing PHP Extension: ldap -------------------- RUN set -eux \ # Generic pre-command - && ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \ + && ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libldap* /usr/lib/ \ # Installation: Generic # Type: Built-in extension # Custom: configure command @@ -319,8 +302,9 @@ RUN set -eux \ # -------------------- Installing PHP Extension: mysql -------------------- RUN set -eux \ - # Installation: Generic + # Installation: Version specific # Type: Built-in extension + # Installation && docker-php-ext-install mysql \ && true @@ -347,19 +331,27 @@ RUN set -eux \ # -------------------- Installing PHP Extension: oci8 -------------------- RUN set -eux \ # Generic pre-command - && ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ + && ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ && ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \ && ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//g' )" \ \ && rpm --import http://yum.oracle.com/RPM-GPG-KEY-oracle-ol7 \ -&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \ - https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \ -&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \ - https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \ -&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \ -&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \ -&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \ -&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \ +&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \ +https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \ +&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \ +https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \ +&& alien \ + -v \ + --target=$( dpkg --print-architecture ) \ + -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture \ + --query DEB_HOST_GNU_CPU).rpm \ +&& alien \ + -v \ + --target=$( dpkg --print-architecture ) \ + -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture \ + --query DEB_HOST_GNU_CPU).rpm \ +&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \ +&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \ \ # Installation: Generic # Type: Built-in extension @@ -367,7 +359,7 @@ RUN set -eux \ && docker-php-ext-configure oci8 --with-oci8=instantclient,/usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/,${ORACLE_VERSION_MAJOR} \ && docker-php-ext-install oci8 \ # Generic post-command - && ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ + && ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ && ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \ && ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//g' )" \ && (ln -sf /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \ @@ -397,7 +389,7 @@ RUN set -eux \ # -------------------- Installing PHP Extension: pdo_dblib -------------------- RUN set -eux \ # Generic pre-command - && ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \ + && ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libsybdb.* /usr/lib/ \ # Installation: Generic # Type: Built-in extension && docker-php-ext-install pdo_dblib \ @@ -751,7 +743,7 @@ RUN set -eux \ ### RUN set -eux \ # ---------- oci8 ---------- - && ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ + && ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ && ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \ && ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//g' )" \ && (ln -sf /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \ diff --git a/Dockerfiles/mods/Dockerfile-5.5 b/Dockerfiles/mods/Dockerfile-5.5 index 2c6a445a..f6c083c3 100644 --- a/Dockerfiles/mods/Dockerfile-5.5 +++ b/Dockerfiles/mods/Dockerfile-5.5 @@ -75,7 +75,7 @@ RUN set -eux \ # Type: Custom extension && EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \ && if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \ -&& curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz -L -o ioncube.tar.gz \ +&& curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_$(dpkg-architecture --query DEB_HOST_GNU_CPU | sed 's/_/-/g').tar.gz -L -o ioncube.tar.gz \ && tar xvfz ioncube.tar.gz \ && cd ioncube \ && cp "ioncube_loader_lin_5.5.so" "${EXTENSION_DIR}/ioncube.so" \ @@ -159,7 +159,7 @@ RUN set -eux \ # -------------------- Installing PHP Extension: gd -------------------- RUN set -eux \ # Version specific pre-command - && ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \ + && ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ \ # Installation: Version specific # Type: Built-in extension # Custom: configure command @@ -180,7 +180,7 @@ RUN set -eux \ # -------------------- Installing PHP Extension: gmp -------------------- RUN set -eux \ # Generic pre-command - && ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \ + && ln /usr/include/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/gmp.h /usr/include/ \ # Installation: Generic # Type: Built-in extension && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \ @@ -223,7 +223,7 @@ RUN set -eux \ # -------------------- Installing PHP Extension: imap -------------------- RUN set -eux \ # Generic pre-command - && ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \ + && ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libkrb5* /usr/lib/ \ # Installation: Generic # Type: Built-in extension # Custom: configure command @@ -252,7 +252,7 @@ RUN set -eux \ # -------------------- Installing PHP Extension: ldap -------------------- RUN set -eux \ # Generic pre-command - && ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \ + && ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libldap* /usr/lib/ \ # Installation: Generic # Type: Built-in extension # Custom: configure command @@ -327,8 +327,9 @@ RUN set -eux \ # -------------------- Installing PHP Extension: mysql -------------------- RUN set -eux \ - # Installation: Generic + # Installation: Version specific # Type: Built-in extension + # Installation && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysql \ && true @@ -355,19 +356,27 @@ RUN set -eux \ # -------------------- Installing PHP Extension: oci8 -------------------- RUN set -eux \ # Generic pre-command - && ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ + && ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ && ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \ && ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//g' )" \ \ && rpm --import http://yum.oracle.com/RPM-GPG-KEY-oracle-ol7 \ -&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \ - https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \ -&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \ - https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \ -&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \ -&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \ -&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \ -&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \ +&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \ +https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \ +&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \ +https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \ +&& alien \ + -v \ + --target=$( dpkg --print-architecture ) \ + -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture \ + --query DEB_HOST_GNU_CPU).rpm \ +&& alien \ + -v \ + --target=$( dpkg --print-architecture ) \ + -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture \ + --query DEB_HOST_GNU_CPU).rpm \ +&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \ +&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \ \ # Installation: Generic # Type: Built-in extension @@ -375,7 +384,7 @@ RUN set -eux \ && docker-php-ext-configure oci8 --with-oci8=instantclient,/usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/,${ORACLE_VERSION_MAJOR} \ && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) oci8 \ # Generic post-command - && ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ + && ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ && ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \ && ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//g' )" \ && (ln -sf /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \ @@ -402,7 +411,7 @@ RUN set -eux \ # -------------------- Installing PHP Extension: pdo_dblib -------------------- RUN set -eux \ # Generic pre-command - && ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \ + && ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libsybdb.* /usr/lib/ \ # Installation: Generic # Type: Built-in extension && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \ @@ -778,7 +787,7 @@ RUN set -eux \ && sed -i'' 's|.*/dev/null 2>&1; then - echo "pidof is required for cleaning up tail command." +if ! command -v pgrep >/dev/null 2>&1; then + echo "pgrep is required for cleaning up tail command." exit 1 fi # Give rsyslogd some time to start up sleep 2 -if ! pidof rsyslogd >/dev/null 2>&1; then +if ! pgrep rsyslogd >/dev/null 2>&1; then echo "rsyslogd is not running, but required for mail logging." exit 1 fi diff --git a/Dockerfiles/work/Dockerfile-5.2 b/Dockerfiles/work/Dockerfile-5.2 index 29c9f411..3ab3c17c 100644 --- a/Dockerfiles/work/Dockerfile-5.2 +++ b/Dockerfiles/work/Dockerfile-5.2 @@ -54,16 +54,16 @@ RUN set -eux \ dirmngr \ gnupg \ \ - && echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until \ - && echo "deb http://archive.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \ + && apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138 \ + && echo "deb http://ftp.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list \ && curl -sS -L --fail "https://packages.blackfire.io/gpg.key" | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \ - && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \ - && echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" > /etc/apt/sources.list.d/mongo.list \ + && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 \ + && echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" > /etc/apt/sources.list.d/mongo.list \ && curl -sS -k -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ - && echo "deb https://apt-archive.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \ + && echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgsql.list \ && curl -sS -k -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ \ @@ -78,6 +78,7 @@ RUN set -eux \ blackfire-agent \ build-essential \ bzip2 \ + certbot \ coreutils \ dnsutils \ dos2unix \ @@ -187,7 +188,7 @@ RUN set -eux \ \ \ # -------------------- gitflow -------------------- - && git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \ + && git clone https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \ && cd /tmp/gitflow \ && make install \ && cd / && rm -rf /tmp/gitflow \ @@ -250,10 +251,10 @@ RUN set -eux \ \ \ # -------------------- wkhtmltopdf -------------------- - && VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )" \ + && VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ - libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \ + libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \ && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \ && dpkg -i /tmp/wkhtmltopdf.deb \ && rm -f /tmp/wkhtmltopdf.deb \ diff --git a/Dockerfiles/work/Dockerfile-5.3 b/Dockerfiles/work/Dockerfile-5.3 index 6ec6df3d..80d4d670 100644 --- a/Dockerfiles/work/Dockerfile-5.3 +++ b/Dockerfiles/work/Dockerfile-5.3 @@ -54,16 +54,16 @@ RUN set -eux \ dirmngr \ gnupg \ \ - && echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until \ - && echo "deb http://archive.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \ + && apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138 \ + && echo "deb http://ftp.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list \ && curl -sS -L --fail "https://packages.blackfire.io/gpg.key" | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \ - && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \ - && echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" > /etc/apt/sources.list.d/mongo.list \ + && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 \ + && echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" > /etc/apt/sources.list.d/mongo.list \ && curl -sS -k -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ - && echo "deb https://apt-archive.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \ + && echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgsql.list \ && curl -sS -k -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ \ @@ -78,6 +78,7 @@ RUN set -eux \ blackfire-agent \ build-essential \ bzip2 \ + certbot \ coreutils \ dnsutils \ dos2unix \ @@ -209,7 +210,7 @@ RUN set -eux \ \ \ # -------------------- gitflow -------------------- - && git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \ + && git clone https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \ && cd /tmp/gitflow \ && make install \ && cd / && rm -rf /tmp/gitflow \ @@ -300,10 +301,10 @@ RUN set -eux \ \ \ # -------------------- wkhtmltopdf -------------------- - && VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )" \ + && VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ - libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \ + libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \ && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \ && dpkg -i /tmp/wkhtmltopdf.deb \ && rm -f /tmp/wkhtmltopdf.deb \ @@ -358,10 +359,6 @@ RUN set -eux \ ### Install Composer (PHP) ### RUN set -eux \ -# -------------------- codeception -------------------- - && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require codeception/codeception \ - && ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \ - \ # -------------------- prestissimo -------------------- && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 global require hirak/prestissimo \ \ @@ -544,7 +541,6 @@ RUN set -eux \ && wp --allow-root --version | grep -E '[0-9][.0-9]+' \ \ # -------------------- Composer -------------------- - && codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$' \ \ # -------------------- PIP -------------------- && ansible --version | grep -E '^ansible [0-9][.0-9]+$' \ diff --git a/Dockerfiles/work/Dockerfile-5.4 b/Dockerfiles/work/Dockerfile-5.4 index a13a0f8e..085cdf9a 100644 --- a/Dockerfiles/work/Dockerfile-5.4 +++ b/Dockerfiles/work/Dockerfile-5.4 @@ -227,7 +227,7 @@ RUN set -eux \ \ \ # -------------------- gitflow -------------------- - && git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \ + && git clone https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \ && cd /tmp/gitflow \ && make install \ && cd / && rm -rf /tmp/gitflow \ diff --git a/Dockerfiles/work/Dockerfile-5.5 b/Dockerfiles/work/Dockerfile-5.5 index 021b2bcc..32ab4a44 100644 --- a/Dockerfiles/work/Dockerfile-5.5 +++ b/Dockerfiles/work/Dockerfile-5.5 @@ -232,7 +232,7 @@ RUN set -eux \ && chmod +x /usr/local/bin/drupal \ \ # -------------------- gitflow -------------------- - && git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \ + && git clone https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \ && cd /tmp/gitflow \ && make install \ && cd / && rm -rf /tmp/gitflow \ @@ -410,10 +410,6 @@ RUN set -eux \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require laravel/lumen-installer \ && ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \ \ -# -------------------- photon -------------------- - && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require photoncms/installer \ - && ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \ - \ # -------------------- prestissimo -------------------- && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 global require hirak/prestissimo \ \ @@ -604,7 +600,6 @@ RUN set -eux \ && asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.0-9]+' \ && codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$' \ && lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[0-9][.0-9]+$' \ - && photon --version | grep -E 'Installer [0-9][.0-9]+' \ \ # -------------------- PIP -------------------- && ansible --version | grep -E '^ansible [0-9][.0-9]+$' \ diff --git a/Dockerfiles/work/Dockerfile-5.6 b/Dockerfiles/work/Dockerfile-5.6 index db505555..6427ca2f 100644 --- a/Dockerfiles/work/Dockerfile-5.6 +++ b/Dockerfiles/work/Dockerfile-5.6 @@ -248,7 +248,7 @@ RUN set -eux \ && chmod +x /usr/local/bin/drupal \ \ # -------------------- gitflow -------------------- - && git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \ + && git clone https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \ && cd /tmp/gitflow \ && make install \ && cd / && rm -rf /tmp/gitflow \ @@ -426,10 +426,6 @@ RUN set -eux \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require laravel/lumen-installer \ && ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \ \ -# -------------------- photon -------------------- - && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require photoncms/installer \ - && ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \ - \ # -------------------- prestissimo -------------------- && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 global require hirak/prestissimo \ \ @@ -618,7 +614,6 @@ RUN set -eux \ && asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.0-9]+' \ && codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$' \ && lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[0-9][.0-9]+$' \ - && photon --version | grep -E 'Installer [0-9][.0-9]+' \ \ # -------------------- PIP -------------------- && ansible --version | grep -E '^ansible [0-9][.0-9]+$' \ diff --git a/Dockerfiles/work/Dockerfile-7.0 b/Dockerfiles/work/Dockerfile-7.0 index af23551c..f7251380 100644 --- a/Dockerfiles/work/Dockerfile-7.0 +++ b/Dockerfiles/work/Dockerfile-7.0 @@ -229,7 +229,7 @@ RUN set -eux \ \ \ # -------------------- gitflow -------------------- - && git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \ + && git clone https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \ && cd /tmp/gitflow \ && make install \ && cd / && rm -rf /tmp/gitflow \ @@ -407,10 +407,6 @@ RUN set -eux \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require laravel/lumen-installer \ && ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \ \ -# -------------------- photon -------------------- - && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require photoncms/installer \ - && ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \ - \ # -------------------- prestissimo -------------------- && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 global require hirak/prestissimo \ \ @@ -597,7 +593,6 @@ RUN set -eux \ && asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.0-9]+' \ && codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$' \ && lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[0-9][.0-9]+$' \ - && photon --version | grep -E 'Installer [0-9][.0-9]+' \ \ # -------------------- PIP -------------------- && ansible --version | grep -E '^ansible [0-9][.0-9]+$' \ diff --git a/Dockerfiles/work/Dockerfile-7.1 b/Dockerfiles/work/Dockerfile-7.1 index 303d1c25..6cacdfef 100644 --- a/Dockerfiles/work/Dockerfile-7.1 +++ b/Dockerfiles/work/Dockerfile-7.1 @@ -228,7 +228,7 @@ RUN set -eux \ \ \ # -------------------- gitflow -------------------- - && git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \ + && git clone https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \ && cd /tmp/gitflow \ && make install \ && cd / && rm -rf /tmp/gitflow \ @@ -406,10 +406,6 @@ RUN set -eux \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require laravel/lumen-installer \ && ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \ \ -# -------------------- photon -------------------- - && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require photoncms/installer \ - && ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \ - \ # -------------------- prestissimo -------------------- && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 global require hirak/prestissimo \ \ @@ -596,7 +592,6 @@ RUN set -eux \ && asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.0-9]+' \ && codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$' \ && lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[0-9][.0-9]+$' \ - && photon --version | grep -E 'Installer [0-9][.0-9]+' \ \ # -------------------- PIP -------------------- && ansible --version | grep -E '^ansible [0-9][.0-9]+$' \ diff --git a/Dockerfiles/work/Dockerfile-7.2 b/Dockerfiles/work/Dockerfile-7.2 index 6fbab8cc..c8ba9b8e 100644 --- a/Dockerfiles/work/Dockerfile-7.2 +++ b/Dockerfiles/work/Dockerfile-7.2 @@ -247,7 +247,7 @@ RUN set -eux \ && chmod +x /usr/local/bin/drupal \ \ # -------------------- gitflow -------------------- - && git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \ + && git clone https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \ && cd /tmp/gitflow \ && make install \ && cd / && rm -rf /tmp/gitflow \ @@ -426,10 +426,6 @@ RUN set -eux \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require laravel/lumen-installer \ && ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \ \ -# -------------------- photon -------------------- - && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require photoncms/installer \ - && ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \ - \ # -------------------- prestissimo -------------------- && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 global require hirak/prestissimo \ \ @@ -618,7 +614,6 @@ RUN set -eux \ && asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.0-9]+' \ && codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$' \ && lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[0-9][.0-9]+$' \ - && photon --version | grep -E 'Installer [0-9][.0-9]+' \ \ # -------------------- PIP -------------------- && ansible --version | grep -E '^ansible [0-9][.0-9]+$' \ diff --git a/Dockerfiles/work/Dockerfile-7.3 b/Dockerfiles/work/Dockerfile-7.3 index 7735063d..d1badf0c 100644 --- a/Dockerfiles/work/Dockerfile-7.3 +++ b/Dockerfiles/work/Dockerfile-7.3 @@ -248,7 +248,7 @@ RUN set -eux \ && chmod +x /usr/local/bin/drupal \ \ # -------------------- gitflow -------------------- - && git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \ + && git clone https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \ && cd /tmp/gitflow \ && make install \ && cd / && rm -rf /tmp/gitflow \ @@ -427,10 +427,6 @@ RUN set -eux \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require laravel/lumen-installer \ && ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \ \ -# -------------------- photon -------------------- - && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require photoncms/installer \ - && ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \ - \ # -------------------- prestissimo -------------------- && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 global require hirak/prestissimo \ \ @@ -619,7 +615,6 @@ RUN set -eux \ && asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.0-9]+' \ && codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$' \ && lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[0-9][.0-9]+$' \ - && photon --version | grep -E 'Installer [0-9][.0-9]+' \ \ # -------------------- PIP -------------------- && ansible --version | grep -E '^ansible [0-9][.0-9]+$' \ diff --git a/Dockerfiles/work/Dockerfile-7.4 b/Dockerfiles/work/Dockerfile-7.4 index 00ec5871..a62d5cc3 100644 --- a/Dockerfiles/work/Dockerfile-7.4 +++ b/Dockerfiles/work/Dockerfile-7.4 @@ -248,7 +248,7 @@ RUN set -eux \ && chmod +x /usr/local/bin/drupal \ \ # -------------------- gitflow -------------------- - && git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \ + && git clone https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \ && cd /tmp/gitflow \ && make install \ && cd / && rm -rf /tmp/gitflow \ @@ -427,10 +427,6 @@ RUN set -eux \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require laravel/lumen-installer \ && ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \ \ -# -------------------- photon -------------------- - && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require photoncms/installer \ - && ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \ - \ # -------------------- prestissimo -------------------- && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-1 global require hirak/prestissimo \ \ @@ -619,7 +615,6 @@ RUN set -eux \ && asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.0-9]+' \ && codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$' \ && lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[0-9][.0-9]+$' \ - && photon --version | grep -E 'Installer [0-9][.0-9]+' \ \ # -------------------- PIP -------------------- && ansible --version | grep -E '^ansible [0-9][.0-9]+$' \ diff --git a/Dockerfiles/work/Dockerfile-8.0 b/Dockerfiles/work/Dockerfile-8.0 index 0e46201f..6ffdc826 100644 --- a/Dockerfiles/work/Dockerfile-8.0 +++ b/Dockerfiles/work/Dockerfile-8.0 @@ -201,7 +201,7 @@ RUN set -eux \ && chmod +x /usr/local/bin/dep \ \ # -------------------- gitflow -------------------- - && git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \ + && git clone https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \ && cd /tmp/gitflow \ && make install \ && cd / && rm -rf /tmp/gitflow \ diff --git a/Dockerfiles/work/Dockerfile-8.1 b/Dockerfiles/work/Dockerfile-8.1 index e2c37702..676a4fc7 100644 --- a/Dockerfiles/work/Dockerfile-8.1 +++ b/Dockerfiles/work/Dockerfile-8.1 @@ -201,7 +201,7 @@ RUN set -eux \ && chmod +x /usr/local/bin/dep \ \ # -------------------- gitflow -------------------- - && git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \ + && git clone https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \ && cd /tmp/gitflow \ && make install \ && cd / && rm -rf /tmp/gitflow \ diff --git a/Dockerfiles/work/Dockerfile-8.2 b/Dockerfiles/work/Dockerfile-8.2 index 92af7b8a..650663ee 100644 --- a/Dockerfiles/work/Dockerfile-8.2 +++ b/Dockerfiles/work/Dockerfile-8.2 @@ -201,7 +201,7 @@ RUN set -eux \ && chmod +x /usr/local/bin/dep \ \ # -------------------- gitflow -------------------- - && git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \ + && git clone https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \ && cd /tmp/gitflow \ && make install \ && cd / && rm -rf /tmp/gitflow \ diff --git a/Makefile b/Makefile index 1e463c3d..6c193d53 100644 --- a/Makefile +++ b/Makefile @@ -11,6 +11,8 @@ CURRENT_DIR = $(dir $(abspath $(lastword $(MAKEFILE_LIST)))) DIR = Dockerfiles IMAGE = devilbox/php-fpm +ARCH = linux/amd64 + NO_CACHE = PHP_EXT_DIR = @@ -147,17 +149,18 @@ lint-yaml: gen-readme: ifeq ($(strip $(VERSION)),) @echo "Generate README.md for all PHP versions" - cd build; ./gen-readme.sh + cd build; ./gen-readme.sh $(ARCH) else @echo "Generate README.md for PHP $(VERSION)" @$(MAKE) --no-print-directory _check-version @$(MAKE) --no-print-directory _check-image-exists _EXIST_IMAGE=base @$(MAKE) --no-print-directory _check-image-exists _EXIST_IMAGE=mods - cd build; ./gen-readme.sh $(VERSION) + cd build; ./gen-readme.sh $(ARCH) $(VERSION) endif gen-dockerfiles: docker run --rm \ + --platform $(ARCH) \ $$(tty -s && echo "-it" || echo) \ -e USER=ansible \ -e MY_UID=$$(id -u) \ @@ -179,6 +182,7 @@ gen-dockerfiles: build-base: _check-version build-base: docker build $(NO_CACHE) \ + --platform $(ARCH) \ --label "org.opencontainers.image.created"="$$(date --rfc-3339=s)" \ --label "org.opencontainers.image.version"="$$(git rev-parse --abbrev-ref HEAD)" \ --label "org.opencontainers.image.revision"="$$(git rev-parse HEAD))" \ @@ -193,16 +197,18 @@ build-mods: _check-image-exists build-mods: ifeq ($(strip $(TARGET)),) docker build $(NO_CACHE) \ + --platform $(ARCH) \ --target builder \ -t $(IMAGE):$(VERSION)-mods \ -f $(DIR)/mods/Dockerfile-$(VERSION) $(DIR)/mods; @# $(NO_CACHE) is removed, as it would otherwise rebuild the 'builder' image again. docker build \ + --platform $(ARCH) \ --target final \ --label "org.opencontainers.image.created"="$$(date --rfc-3339=s)" \ --label "org.opencontainers.image.version"="$$(git rev-parse --abbrev-ref HEAD)" \ --label "org.opencontainers.image.revision"="$$(git rev-parse HEAD)" \ - --build-arg EXT_DIR="$$( docker run --rm --entrypoint=php $(IMAGE):$(VERSION)-mods -i \ + --build-arg EXT_DIR="$$( docker run --rm --platform $(ARCH) --entrypoint=php $(IMAGE):$(VERSION)-mods -i \ | grep ^extension_dir \ | awk -F '=>' '{print $$2}' \ | xargs \ @@ -212,6 +218,7 @@ ifeq ($(strip $(TARGET)),) -f $(DIR)/mods/Dockerfile-$(VERSION) $(DIR)/mods; else docker build $(NO_CACHE) \ + --platform $(ARCH) \ --target $(TARGET) \ --label "org.opencontainers.image.created"="$$(date --rfc-3339=s)" \ --label "org.opencontainers.image.version"="$$(git rev-parse --abbrev-ref HEAD)" \ @@ -227,6 +234,7 @@ build-prod: _EXIST_IMAGE=mods build-prod: _check-image-exists build-prod: docker build $(NO_CACHE) \ + --platform $(ARCH) \ --label "org.opencontainers.image.created"="$$(date --rfc-3339=s)" \ --label "org.opencontainers.image.version"="$$(git rev-parse --abbrev-ref HEAD)" \ --label "org.opencontainers.image.revision"="$$(git rev-parse HEAD)" \ @@ -240,6 +248,7 @@ build-work: _EXIST_IMAGE=prod build-work: _check-image-exists build-work: docker build $(NO_CACHE) \ + --platform $(ARCH) \ --label "org.opencontainers.image.created"="$$(date --rfc-3339=s)" \ --label "org.opencontainers.image.version"="$$(git rev-parse --abbrev-ref HEAD)" \ --label "org.opencontainers.image.revision"="$$(git rev-parse HEAD)" \ @@ -277,28 +286,28 @@ test-base: _check-version test-base: _EXIST_IMAGE=base test-base: _check-image-exists test-base: - ./tests/test.sh ${VERSION} base + ./tests/test.sh $(IMAGE) $(ARCH) $(VERSION) base test-mods: _check-version test-mods: _EXIST_IMAGE=mods test-mods: _check-image-exists test-mods: _check-version - ./tests/test.sh ${VERSION} mods + ./tests/test.sh $(IMAGE) $(ARCH) $(VERSION) mods test-prod: _check-version test-prod: _EXIST_IMAGE=prod test-prod: _check-image-exists test-prod: _check-version - ./tests/test.sh ${VERSION} prod + ./tests/test.sh $(IMAGE) $(ARCH) $(VERSION) prod test-work: _check-version test-work: _EXIST_IMAGE=work test-work: _check-image-exists test-work: _check-version - ./tests/test.sh ${VERSION} work + ./tests/test.sh $(IMAGE) $(ARCH) $(VERSION) work # ------------------------------------------------------------------------------------------------- @@ -415,4 +424,4 @@ _check-image-exists: _pull-base-image: @echo "Pulling root image for PHP ${VERSION}" - @docker pull $(shell grep FROM $(DIR)/base/Dockerfile-${VERSION} | sed 's/^FROM\s*//g';) + docker pull --platform $(ARCH) $(shell grep FROM $(DIR)/base/Dockerfile-${VERSION} | sed 's/^FROM\s*//g';) diff --git a/README.md b/README.md index 248e0101..9d50be14 100644 --- a/README.md +++ b/README.md @@ -659,17 +659,17 @@ Check out this table to see which Docker image provides what PHP modules. 5.2 ctype, curl, date, dom, filter, hash, iconv, json, libxml, mbstring, mysql, mysqli, openssl, pcre, PDO, pdo_mysql, pdo_sqlite, posix, readline, Reflection, session, SimpleXML, soap, SPL, SQLite, standard, tokenizer, xml, xmlreader, xmlwriter, zlib - amqp, bcmath, bz2, calendar, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, hash, iconv, igbinary, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, msgpack, mysql, mysqli, OAuth, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, SQLite, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib + amqp, bcmath, bz2, calendar, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, hash, iconv, igbinary, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, msgpack, mysql, mysqli, OAuth, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, SQLite, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib 5.3 Core, ctype, curl, date, dom, ereg, fileinfo, filter, hash, iconv, json, libxml, mysql, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, recode, Reflection, session, SimpleXML, SPL, SQLite, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib - amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, SQLite, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, uuid, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib + amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, msgpack, mysql, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, SQLite, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, uuid, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib 5.4 Core, ctype, curl, date, dom, ereg, fileinfo, filter, hash, iconv, json, libxml, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, recode, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib - amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, uuid, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib + amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, uuid, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib 5.5 diff --git a/build/ansible/DOCKERFILES/Dockerfile-base.j2 b/build/ansible/DOCKERFILES/Dockerfile-base.j2 index cac36102..b29da3cc 100644 --- a/build/ansible/DOCKERFILES/Dockerfile-base.j2 +++ b/build/ansible/DOCKERFILES/Dockerfile-base.j2 @@ -55,7 +55,7 @@ RUN set -eux \ ### ### Upgrade (install ps) ### -{% if php_version in [5.2, 5.3, 5.4, 5.5] %} +{% if php_version in [5.4, 5.5] %} RUN set -eux \ && rm -f /etc/apt/sources.list \ && { \ @@ -66,7 +66,9 @@ RUN set -eux \ {% endif %} RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update -q \ - && DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests procps \ + && DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \ + dpkg-dev \ + procps \ && rm -rf /var/lib/apt/lists/* diff --git a/build/ansible/DOCKERFILES/Dockerfile-work.j2 b/build/ansible/DOCKERFILES/Dockerfile-work.j2 index 4f165738..2700a80a 100644 --- a/build/ansible/DOCKERFILES/Dockerfile-work.j2 +++ b/build/ansible/DOCKERFILES/Dockerfile-work.j2 @@ -91,7 +91,7 @@ RUN set -eux \ blackfire-agent \ build-essential \ bzip2 \ -{% if php_version != 5.2 and php_version != 5.3 and php_version != 5.4 and php_version != 5.5 %} +{% if php_version != 5.4 and php_version != 5.5 %} certbot \ {% endif %} coreutils \ diff --git a/build/ansible/group_vars/all/mods.yml b/build/ansible/group_vars/all/mods.yml index 0d2cd198..19c907f1 100644 --- a/build/ansible/group_vars/all/mods.yml +++ b/build/ansible/group_vars/all/mods.yml @@ -148,13 +148,11 @@ extensions_available: amqp: disabled: [] 5.2: - run_dep: [librabbitmq1] type: pecl - version: 1.4.0 + version: 1.6.1 5.3: type: pecl version: 1.9.3 - run_dep: [librabbitmq1] 5.4: type: pecl version: 1.9.3 @@ -278,35 +276,31 @@ extensions_available: 5.2: type: builtin pre: | - ln -s /usr/lib/x86_64-linux-gnu/libjpeg.* /usr/lib/ && \ - ln -s /usr/lib/x86_64-linux-gnu/libpng.* /usr/lib/ && \ - ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ && \ - mkdir /usr/include/freetype2/freetype && \ - ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h \ + ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libjpeg.* /usr/lib/ && \ + ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libpng.* /usr/lib/ && \ + ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ \ configure: --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-native-ttf - build_dep: [libpng-dev, libjpeg-dev, libxpm-dev, libvpx-dev, zlib1g-dev, libfreetype6-dev] - run_dep: [libpng12-0, libjpeg62-turbo, libxpm4, libvpx1, libfreetype6] + run_dep: [libpng16-16, libjpeg62-turbo, libxpm4, libvpx4, libfreetype6, libwebp6] 5.3: type: builtin - pre: ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ && mkdir /usr/include/freetype2/freetype && ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h + pre: ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ configure: --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-native-ttf - build_dep: [libpng-dev, libjpeg-dev, libxpm-dev, libvpx-dev, zlib1g-dev, libfreetype6-dev] - run_dep: [libpng12-0, libjpeg62-turbo, libxpm4, libvpx1, libfreetype6] + run_dep: [libpng16-16, libjpeg62-turbo, libxpm4, libvpx4, libfreetype6, libwebp6] 5.4: type: builtin - pre: ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ + pre: ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ configure: --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-native-ttf build_dep: [libpng-dev, libjpeg-dev, libxpm-dev, libvpx-dev, zlib1g-dev, libfreetype6-dev] run_dep: [libpng12-0, libjpeg62-turbo, libxpm4, libvpx1, libfreetype6] 5.5: type: builtin - pre: ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ + pre: ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ configure: --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-native-ttf build_dep: [libpng-dev, libjpeg-dev, libxpm-dev, libvpx-dev, zlib1g-dev, libfreetype6-dev] run_dep: [libpng12-0, libjpeg62-turbo, libxpm4, libvpx1, libfreetype6] 5.6: type: builtin - pre: ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ + pre: ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ configure: --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-native-ttf run_dep: [libpng16-16, libjpeg62-turbo, libxpm4, libvpx4, libfreetype6, libwebp6] 7.0: @@ -342,7 +336,7 @@ extensions_available: run_dep: [libpng16-16, libjpeg62-turbo, libxpm4, libvpx6, libfreetype6, libwebp6, libavif9] all: type: builtin - pre: ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ + pre: ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ configure: --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-native-ttf build_dep: [libpng-dev, libjpeg-dev, libxpm-dev, libvpx-dev, zlib1g-dev, libfreetype6-dev, libwebp-dev] run_dep: [libpng16-16, libjpeg62-turbo, libxpm4, libvpx6, libfreetype6, libwebp6] @@ -353,7 +347,7 @@ extensions_available: disabled: [5.2] all: type: builtin - pre: ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ + pre: ln /usr/include/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/gmp.h /usr/include/ build_dep: [libgmp-dev] hash: already_avail: "{{ php_all_versions }}" @@ -410,7 +404,7 @@ extensions_available: disabled: [] all: type: builtin - pre: ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ + pre: ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libkrb5* /usr/lib/ configure: --with-kerberos --with-imap-ssl --with-imap build_dep: [libc-client-dev, libkrb5-dev, libcurl4-openssl-dev] run_dep: [libc-client2007e] @@ -423,10 +417,10 @@ extensions_available: intl: 5.2: type: pecl - run_dep: [libicu52] + run_dep: [libicu57] 5.3: type: builtin - run_dep: [libicu52] + run_dep: [libicu57] 5.4: type: builtin run_dep: [libicu52] @@ -450,13 +444,15 @@ extensions_available: build_dep: [libicu-dev] run_dep: [libicu67] ioncube: - disabled: [8.0, 8.1, 8.2] + # ioncube on amd64 is only available from 4.1 up to 7.4 + # ioncube on arm64 is only available from 5.5 up to 7.4 + disabled: [5.2, 5.3, 5.4, 8.0, 8.1, 8.2] all: type: custom command: | EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \ && if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \ - && curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz -L -o ioncube.tar.gz \ + && curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_$(dpkg-architecture --query DEB_HOST_GNU_CPU | sed 's/_/-/g').tar.gz -L -o ioncube.tar.gz \ && tar xvfz ioncube.tar.gz \ && cd ioncube \ && cp "ioncube_loader_lin_{{ php_version }}.so" "${EXTENSION_DIR}/ioncube.so" \ @@ -468,7 +464,7 @@ extensions_available: ldap: all: type: builtin - pre: ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ + pre: ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libldap* /usr/lib/ configure: --with-ldap --with-ldap-sasl build_dep: [libldap2-dev, libsasl2-dev] libxml: @@ -611,10 +607,7 @@ extensions_available: command: yes yes | pecl install mongo build_dep: [libssl-dev, libsasl2-dev] mongodb: - disabled: [5.2] - 5.3: - type: pecl - version: 0.6.3 + disabled: [5.2, 5.3] 5.4: type: pecl version: 1.2.11 @@ -655,12 +648,15 @@ extensions_available: mysql: already_avail: [5.2, 5.3] disabled: [7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2] # Deprecated in newer versions - 5.6: + 5.4: type: builtin - run_dep: [libmariadbclient18] - all: + run_dep: [libmysqlclient18] + 5.5: type: builtin run_dep: [libmysqlclient18] + all: + type: builtin + run_dep: [libmariadbclient18] mysqli: already_avail: [5.2] all: @@ -694,23 +690,31 @@ extensions_available: type: builtin configure: --with-oci8=instantclient,/usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/,${ORACLE_VERSION_MAJOR} pre: | - ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ + ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ && ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \ && ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//g' )" \ \ && rpm --import http://yum.oracle.com/RPM-GPG-KEY-oracle-ol7 \ - && curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \ - https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \ - && curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \ - https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \ - && alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \ - && alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \ - && rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \ - && rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \ + && curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \ + https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \ + && curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \ + https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \ + && alien \ + -v \ + --target=$( dpkg --print-architecture ) \ + -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture \ + --query DEB_HOST_GNU_CPU).rpm \ + && alien \ + -v \ + --target=$( dpkg --print-architecture ) \ + -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture \ + --query DEB_HOST_GNU_CPU).rpm \ + && rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \ + && rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \ build_dep: [alien, libaio-dev] run_dep: [libaio1] post: | - ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ + ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ && ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \ && ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//g' )" \ && (ln -sf /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \ @@ -748,7 +752,7 @@ extensions_available: disabled: [] all: type: builtin - pre: ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ + pre: ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libsybdb.* /usr/lib/ build_dep: [freetds-dev] run_dep: [libsybdb5] pdo_firebird: @@ -786,19 +790,27 @@ extensions_available: type: builtin configure: --with-pdo-oci=instantclient,/usr,${ORACLE_VERSION_MAJOR} pre: | - ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ + ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ && ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \ && ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//g' )" \ \ && rpm --import http://yum.oracle.com/RPM-GPG-KEY-oracle-ol7 \ - && curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \ - https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \ - && curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \ - https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \ - && alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \ - && alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \ - && rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \ - && rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \ + && curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \ + https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \ + && curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \ + https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/$(dpkg-architecture --query DEB_HOST_GNU_CPU)/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \ + && alien \ + -v \ + --target=$( dpkg --print-architecture ) \ + -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture \ + --query DEB_HOST_GNU_CPU).rpm \ + && alien \ + -v \ + --target=$( dpkg --print-architecture ) \ + -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture \ + --query DEB_HOST_GNU_CPU).rpm \ + && rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \ + && rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.$(dpkg-architecture --query DEB_HOST_GNU_CPU).rpm \ && (ln -s /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \ build_dep: [alien] pdo_odbc: @@ -1091,7 +1103,6 @@ extensions_available: 5.3: type: pecl version: 1.9.23 - run_dep: [libnghttp2-5] 5.4: type: pecl version: 1.9.23 @@ -1126,10 +1137,10 @@ extensions_available: tidy: 5.2: type: builtin - run_dep: [libtidy-0.99-0] + run_dep: [libtidy5] 5.3: type: builtin - run_dep: [libtidy-0.99-0] + run_dep: [libtidy5] 5.4: type: builtin run_dep: [libtidy-0.99-0] diff --git a/build/ansible/group_vars/all/work.yml b/build/ansible/group_vars/all/work.yml index 4d51742c..743a8ee9 100644 --- a/build/ansible/group_vars/all/work.yml +++ b/build/ansible/group_vars/all/work.yml @@ -34,7 +34,7 @@ composer_enabled: - asgardcms - codeception - lumen - - photon + #- photon - prestissimo @@ -128,12 +128,6 @@ software_enabled: # apt_repositories_available: backports: - 5.2: - pre: echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until - deb: deb http://archive.debian.org/debian jessie-backports main - 5.3: - pre: echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until - deb: deb http://archive.debian.org/debian jessie-backports main 5.4: pre: echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until deb: deb http://archive.debian.org/debian jessie-backports main @@ -166,12 +160,6 @@ apt_repositories_available: # Get keys # gpg --dry-run --with-fingerprint < <(curl https://www.mongodb.org/static/pgp/server-3.6.asc) | grep fingerprint | sed 's/.*=//g' | sed 's/ //g' mongo: - 5.2: - deb: deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main - key: 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 - 5.3: - deb: deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main - key: 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 5.4: deb: deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main key: 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 @@ -183,9 +171,11 @@ apt_repositories_available: key: 9DA31620334BD75D9DCB49F368818C72E52529D4 pgsql: 5.2: - deb: deb https://apt-archive.postgresql.org/pub/repos/apt/ jessie-pgdg main + deb: deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main + pre: curl -sS -k -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - 5.3: - deb: deb https://apt-archive.postgresql.org/pub/repos/apt/ jessie-pgdg main + deb: deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main + pre: curl -sS -k -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - 5.4: deb: deb https://apt-archive.postgresql.org/pub/repos/apt/ jessie-pgdg main 5.5: @@ -234,7 +224,7 @@ composer_available: link: asgardcms version: 2 codeception: - disabled: [5.2, 8.0, 8.1, 8.2] + disabled: [5.2, 5.3, 8.0, 8.1, 8.2] check: codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$' name: codeception/codeception link: codecept @@ -245,12 +235,12 @@ composer_available: name: laravel/lumen-installer link: lumen version: 2 - photon: - disabled: [5.2, 5.3, 5.4, 8.0, 8.1, 8.2] - check: photon --version | grep -E 'Installer [0-9][.0-9]+' - name: photoncms/installer - link: photon - version: 2 + #photon: + # disabled: [5.2, 5.3, 5.4, 8.0, 8.1, 8.2] + # check: photon --version | grep -E 'Installer [0-9][.0-9]+' + # name: photoncms/installer + # link: photon + # version: 2 prestissimo: disabled: [5.2, 8.0, 8.1, 8.2] name: hirak/prestissimo @@ -629,7 +619,7 @@ software_available: check: git-flow version | grep -E '[0-9][.0-9]+' all: command: | - git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \ + git clone https://github.com/petervanderdoes/gitflow-avh /tmp/gitflow \ && cd /tmp/gitflow \ && make install \ && cd / && rm -rf /tmp/gitflow \ @@ -947,67 +937,37 @@ software_available: post: chmod +x /usr/local/bin/symfony wkhtmltopdf: check: wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" - 5.2: - pre: VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )" - 5.3: - pre: VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )" 5.4: pre: VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )" - 5.5: - pre: VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )" - 7.1: - command: | - DEBIAN_FRONTEND=noninteractive apt-get update -qq \ - && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ - libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \ - && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \ - && dpkg -i /tmp/wkhtmltopdf.deb \ - && rm -f /tmp/wkhtmltopdf.deb \ - 7.2: - command: | - DEBIAN_FRONTEND=noninteractive apt-get update -qq \ - && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ - libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \ - && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \ - && dpkg -i /tmp/wkhtmltopdf.deb \ - && rm -f /tmp/wkhtmltopdf.deb \ - 7.3: - command: | - DEBIAN_FRONTEND=noninteractive apt-get update -qq \ - && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ - libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \ - && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \ - && dpkg -i /tmp/wkhtmltopdf.deb \ - && rm -f /tmp/wkhtmltopdf.deb \ - 7.4: command: | DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ - libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \ + libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \ && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \ && dpkg -i /tmp/wkhtmltopdf.deb \ && rm -f /tmp/wkhtmltopdf.deb \ - 8.0: + 5.5: + pre: VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )" command: | DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ - libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \ + libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \ && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \ && dpkg -i /tmp/wkhtmltopdf.deb \ && rm -f /tmp/wkhtmltopdf.deb \ - 8.1: + 5.6: command: | DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ - libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \ + libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \ && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \ && dpkg -i /tmp/wkhtmltopdf.deb \ && rm -f /tmp/wkhtmltopdf.deb \ - 8.2: + 7.0: command: | DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ - libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \ + libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \ && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \ && dpkg -i /tmp/wkhtmltopdf.deb \ && rm -f /tmp/wkhtmltopdf.deb \ @@ -1016,7 +976,7 @@ software_available: command: | DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ - libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \ + libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \ && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \ && dpkg -i /tmp/wkhtmltopdf.deb \ && rm -f /tmp/wkhtmltopdf.deb \ diff --git a/build/gen-readme.sh b/build/gen-readme.sh index 78bcf385..829db03a 100755 --- a/build/gen-readme.sh +++ b/build/gen-readme.sh @@ -8,25 +8,27 @@ set -o pipefail # Get absolute directory of this script CWD="$(cd -P -- "$(dirname -- "$0")" && pwd -P)" +ARCH="${1:-linux/amd64}" + ### ### Show Usage ### print_usage() { - echo "Usage: gen-readme.sh" - echo " gen-readme.sh 5.2" - echo " gen-readme.sh 5.3" - echo " gen-readme.sh 5.4" - echo " gen-readme.sh 5.5" - echo " gen-readme.sh 5.6" - echo " gen-readme.sh 7.0" - echo " gen-readme.sh 7.1" - echo " gen-readme.sh 7.2" - echo " gen-readme.sh 7.3" - echo " gen-readme.sh 7.4" - echo " gen-readme.sh 8.0" - echo " gen-readme.sh 8.1" - echo " gen-readme.sh 8.2" + echo "Usage: gen-readme.sh []" + echo " gen-readme.sh 5.2" + echo " gen-readme.sh 5.3" + echo " gen-readme.sh 5.4" + echo " gen-readme.sh 5.5" + echo " gen-readme.sh 5.6" + echo " gen-readme.sh 7.0" + echo " gen-readme.sh 7.1" + echo " gen-readme.sh 7.2" + echo " gen-readme.sh 7.3" + echo " gen-readme.sh 7.4" + echo " gen-readme.sh 8.0" + echo " gen-readme.sh 8.1" + echo " gen-readme.sh 8.2" } @@ -37,22 +39,22 @@ get_modules() { tag="${1}" # Retrieve all modules - PHP_MODULES="$( docker run --rm $(tty -s && echo '-it' || echo) --entrypoint=php devilbox/php-fpm:${tag} -m )" + PHP_MODULES="$( docker run --rm --platform "${ARCH}" $(tty -s && echo '-it' || echo) --entrypoint=php devilbox/php-fpm:${tag} -m )" ALL_MODULES= - if docker run --rm $(tty -s && echo '-it' || echo) --entrypoint=find devilbox/php-fpm:${tag} /usr/local/lib/php/extensions -name 'ioncube.so' | grep -q ioncube.so; then + if docker run --rm --platform "${ARCH}" $(tty -s && echo '-it' || echo) --entrypoint=find devilbox/php-fpm:${tag} /usr/local/lib/php/extensions -name 'ioncube.so' | grep -q ioncube.so; then ALL_MODULES="${ALL_MODULES},ioncube"; fi - if docker run --rm $(tty -s && echo '-it' || echo) --entrypoint=find devilbox/php-fpm:${tag} /usr/local/lib/php/extensions -name 'blackfire.so' | grep -q blackfire.so; then + if docker run --rm --platform "${ARCH}" $(tty -s && echo '-it' || echo) --entrypoint=find devilbox/php-fpm:${tag} /usr/local/lib/php/extensions -name 'blackfire.so' | grep -q blackfire.so; then ALL_MODULES="${ALL_MODULES},blackfire"; fi - if docker run --rm $(tty -s && echo '-it' || echo) --entrypoint=find devilbox/php-fpm:${tag} /usr/local/lib/php/extensions -name 'psr.so' | grep -q psr.so; then + if docker run --rm --platform "${ARCH}" $(tty -s && echo '-it' || echo) --entrypoint=find devilbox/php-fpm:${tag} /usr/local/lib/php/extensions -name 'psr.so' | grep -q psr.so; then ALL_MODULES="${ALL_MODULES},psr"; fi - if docker run --rm $(tty -s && echo '-it' || echo) --entrypoint=find devilbox/php-fpm:${tag} /usr/local/lib/php/extensions -name 'phalcon.so' | grep -q phalcon.so; then + if docker run --rm --platform "${ARCH}" $(tty -s && echo '-it' || echo) --entrypoint=find devilbox/php-fpm:${tag} /usr/local/lib/php/extensions -name 'phalcon.so' | grep -q phalcon.so; then ALL_MODULES="${ALL_MODULES},phalcon"; fi @@ -91,7 +93,7 @@ update_readme() { ### ### Entrypoint ### -if [ "${#}" -eq "0" ]; then +if [ "${#}" -eq "0" ] || [ "${#}" -eq "1" ]; then # Update PHP modules for all versions at once update_readme "5.2" update_readme "5.3" @@ -106,31 +108,31 @@ if [ "${#}" -eq "0" ]; then update_readme "8.0" update_readme "8.1" update_readme "8.2" -elif [ "${#}" -gt "1" ]; then +elif [ "${#}" -gt "2" ]; then # Specifying more than 1 argument is wrong echo "Error, invalid number of arguments." print_usage exit 1 else - if [ "${1}" != "5.2" ] \ - && [ "${1}" != "5.3" ] \ - && [ "${1}" != "5.4" ] \ - && [ "${1}" != "5.5" ] \ - && [ "${1}" != "5.6" ] \ - && [ "${1}" != "7.0" ] \ - && [ "${1}" != "7.1" ] \ - && [ "${1}" != "7.2" ] \ - && [ "${1}" != "7.3" ] \ - && [ "${1}" != "7.4" ] \ - && [ "${1}" != "8.0" ] \ - && [ "${1}" != "8.1" ] \ - && [ "${1}" != "8.2" ]; then + if [ "${2}" != "5.2" ] \ + && [ "${2}" != "5.3" ] \ + && [ "${2}" != "5.4" ] \ + && [ "${2}" != "5.5" ] \ + && [ "${2}" != "5.6" ] \ + && [ "${2}" != "7.0" ] \ + && [ "${2}" != "7.1" ] \ + && [ "${2}" != "7.2" ] \ + && [ "${2}" != "7.3" ] \ + && [ "${2}" != "7.4" ] \ + && [ "${2}" != "8.0" ] \ + && [ "${2}" != "8.1" ] \ + && [ "${2}" != "8.2" ]; then # Argument does not match any of the PHP versions echo "Error, invalid argument." print_usage exit 1 else # Update PHP modules for one specific PHP version - update_readme "${1}" + update_readme "${2}" fi fi diff --git a/tests/test.sh b/tests/test.sh index 53227b17..0a5463a5 100755 --- a/tests/test.sh +++ b/tests/test.sh @@ -16,7 +16,6 @@ IFS=$'\n' ### ### Variables ### - # Current directory CWD="$(cd -P -- "$(dirname -- "$0")" && pwd -P)" @@ -31,51 +30,56 @@ CWD="$(cd -P -- "$(dirname -- "$0")" && pwd -P)" ### ### Sanity check ### -if [ "${#}" -ne "2" ]; then - echo "Usage: start.ci " +if [ "${#}" -ne "4" ]; then + echo "Usage: start.ci " exit 1 fi +IMAGE="${1}" +ARCH="${2}" +VERSION="${3}" +FLAVOUR="${4}" + ### ### Run tests ### -if [ "${2}" = "base" ] || [ "${2}" = "mods" ] || [ "${2}" = "prod" ] || [ "${2}" = "work" ]; then +if [ "${FLAVOUR}" = "base" ] || [ "${FLAVOUR}" = "mods" ] || [ "${FLAVOUR}" = "prod" ] || [ "${FLAVOUR}" = "work" ]; then TESTS="$( find ${CWD} -regex "${CWD}/base/[0-9].+.*\.sh" | sort -u )" for t in ${TESTS}; do printf "\n\n\033[0;33m%s\033[0m\n" "################################################################################" - printf "\033[0;33m%s %s\033[0m\n" "#" "[${1}-${2}]: ${t}" + printf "\033[0;33m%s %s\033[0m\n" "#" "[${VERSION}-${FLAVOUR}] (${ARCH}): ${t}" printf "\033[0;33m%s\033[0m\n\n" "################################################################################" - time ${t} devilbox/php-fpm ${1} ${2} + time ${t} "${IMAGE}" "${VERSION}" "${FLAVOUR}" done fi -if [ "${2}" = "mods" ] || [ "${2}" = "prod" ] || [ "${2}" = "work" ]; then +if [ "${FLAVOUR}" = "mods" ] || [ "${FLAVOUR}" = "prod" ] || [ "${FLAVOUR}" = "work" ]; then TESTS="$( find ${CWD} -regex "${CWD}/mods/[0-9].+.*\.sh" | sort -u )" for t in ${TESTS}; do printf "\n\n\033[0;33m%s\033[0m\n" "################################################################################" - printf "\033[0;33m%s %s\033[0m\n" "#" "[${1}-${2}]: ${t}" + printf "\033[0;33m%s %s\033[0m\n" "#" "[${VERSION}-${FLAVOUR}] (${ARCH}): ${t}" printf "\033[0;33m%s\033[0m\n\n" "################################################################################" - time ${t} devilbox/php-fpm ${1} ${2} + time ${t} "${IMAGE}" "${VERSION}" "${FLAVOUR}" done fi -if [ "${2}" = "prod" ] || [ "${2}" = "work" ]; then +if [ "${FLAVOUR}" = "prod" ] || [ "${FLAVOUR}" = "work" ]; then TESTS="$( find ${CWD} -regex "${CWD}/prod/[0-9].+.*\.sh" | sort -u )" for t in ${TESTS}; do printf "\n\n\033[0;33m%s\033[0m\n" "################################################################################" - printf "\033[0;33m%s %s\033[0m\n" "#" "[${1}-${2}]: ${t}" + printf "\033[0;33m%s %s\033[0m\n" "#" "[${VERSION}-${FLAVOUR}] (${ARCH}): ${t}" printf "\033[0;33m%s\033[0m\n\n" "################################################################################" - time ${t} devilbox/php-fpm ${1} ${2} + time ${t} "${IMAGE}" "${VERSION}" "${FLAVOUR}" done fi -if [ "${2}" = "work" ]; then +if [ "${FLAVOUR}" = "work" ]; then TESTS="$( find ${CWD} -regex "${CWD}/work/[0-9].+.*\.sh" | sort -u )" for t in ${TESTS}; do printf "\n\n\033[0;33m%s\033[0m\n" "################################################################################" - printf "\033[0;33m%s %s\033[0m\n" "#" "[${1}-${2}]: ${t}" + printf "\033[0;33m%s %s\033[0m\n" "#" "[${VERSION}-${FLAVOUR}] (${ARCH}): ${t}" printf "\033[0;33m%s\033[0m\n\n" "################################################################################" - time ${t} devilbox/php-fpm ${1} ${2} + time ${t} "${IMAGE}" "${VERSION}" "${FLAVOUR}" done fi