From 2c6e013fadb2d32d56f47b7d35bc61fc3633309f Mon Sep 17 00:00:00 2001 From: cytopia Date: Sun, 17 Nov 2019 22:48:50 +0100 Subject: [PATCH 1/6] Adding Ghostscript --- Dockerfiles/work/Dockerfile-5.2 | 1 + Dockerfiles/work/Dockerfile-5.3 | 1 + Dockerfiles/work/Dockerfile-5.4 | 1 + Dockerfiles/work/Dockerfile-5.5 | 1 + Dockerfiles/work/Dockerfile-5.6 | 1 + Dockerfiles/work/Dockerfile-7.0 | 1 + Dockerfiles/work/Dockerfile-7.1 | 1 + Dockerfiles/work/Dockerfile-7.2 | 1 + Dockerfiles/work/Dockerfile-7.3 | 1 + Dockerfiles/work/Dockerfile-7.4 | 1 + Dockerfiles/work/Dockerfile-8.0 | 1 + build/ansible/DOCKERFILES/Dockerfile-work.j2 | 1 + 12 files changed, 12 insertions(+) diff --git a/Dockerfiles/work/Dockerfile-5.2 b/Dockerfiles/work/Dockerfile-5.2 index 2530ee33..0d6819f9 100644 --- a/Dockerfiles/work/Dockerfile-5.2 +++ b/Dockerfiles/work/Dockerfile-5.2 @@ -72,6 +72,7 @@ RUN set -eux \ git \ git-flow \ git-svn \ + ghostscript \ graphviz \ hostname \ htop \ diff --git a/Dockerfiles/work/Dockerfile-5.3 b/Dockerfiles/work/Dockerfile-5.3 index 53c17fbd..33671eca 100644 --- a/Dockerfiles/work/Dockerfile-5.3 +++ b/Dockerfiles/work/Dockerfile-5.3 @@ -72,6 +72,7 @@ RUN set -eux \ git \ git-flow \ git-svn \ + ghostscript \ graphviz \ hostname \ htop \ diff --git a/Dockerfiles/work/Dockerfile-5.4 b/Dockerfiles/work/Dockerfile-5.4 index 7396a7b7..6126ba9f 100644 --- a/Dockerfiles/work/Dockerfile-5.4 +++ b/Dockerfiles/work/Dockerfile-5.4 @@ -72,6 +72,7 @@ RUN set -eux \ git \ git-flow \ git-svn \ + ghostscript \ graphviz \ hostname \ htop \ diff --git a/Dockerfiles/work/Dockerfile-5.5 b/Dockerfiles/work/Dockerfile-5.5 index 68567e55..17c7f3b3 100644 --- a/Dockerfiles/work/Dockerfile-5.5 +++ b/Dockerfiles/work/Dockerfile-5.5 @@ -72,6 +72,7 @@ RUN set -eux \ git \ git-flow \ git-svn \ + ghostscript \ graphviz \ hostname \ htop \ diff --git a/Dockerfiles/work/Dockerfile-5.6 b/Dockerfiles/work/Dockerfile-5.6 index e37187fa..90484cda 100644 --- a/Dockerfiles/work/Dockerfile-5.6 +++ b/Dockerfiles/work/Dockerfile-5.6 @@ -71,6 +71,7 @@ RUN set -eux \ git \ git-flow \ git-svn \ + ghostscript \ graphviz \ hostname \ htop \ diff --git a/Dockerfiles/work/Dockerfile-7.0 b/Dockerfiles/work/Dockerfile-7.0 index 7076e113..b1484e43 100644 --- a/Dockerfiles/work/Dockerfile-7.0 +++ b/Dockerfiles/work/Dockerfile-7.0 @@ -71,6 +71,7 @@ RUN set -eux \ git \ git-flow \ git-svn \ + ghostscript \ graphviz \ hostname \ htop \ diff --git a/Dockerfiles/work/Dockerfile-7.1 b/Dockerfiles/work/Dockerfile-7.1 index d16da52e..76ec40f2 100644 --- a/Dockerfiles/work/Dockerfile-7.1 +++ b/Dockerfiles/work/Dockerfile-7.1 @@ -71,6 +71,7 @@ RUN set -eux \ git \ git-flow \ git-svn \ + ghostscript \ graphviz \ hostname \ htop \ diff --git a/Dockerfiles/work/Dockerfile-7.2 b/Dockerfiles/work/Dockerfile-7.2 index f4157a15..772a39c2 100644 --- a/Dockerfiles/work/Dockerfile-7.2 +++ b/Dockerfiles/work/Dockerfile-7.2 @@ -71,6 +71,7 @@ RUN set -eux \ git \ git-flow \ git-svn \ + ghostscript \ graphviz \ hostname \ htop \ diff --git a/Dockerfiles/work/Dockerfile-7.3 b/Dockerfiles/work/Dockerfile-7.3 index 62c3ee21..826f6bb9 100644 --- a/Dockerfiles/work/Dockerfile-7.3 +++ b/Dockerfiles/work/Dockerfile-7.3 @@ -71,6 +71,7 @@ RUN set -eux \ git \ git-flow \ git-svn \ + ghostscript \ graphviz \ hostname \ htop \ diff --git a/Dockerfiles/work/Dockerfile-7.4 b/Dockerfiles/work/Dockerfile-7.4 index ccf10ac2..4a214e0a 100644 --- a/Dockerfiles/work/Dockerfile-7.4 +++ b/Dockerfiles/work/Dockerfile-7.4 @@ -71,6 +71,7 @@ RUN set -eux \ git \ git-flow \ git-svn \ + ghostscript \ graphviz \ hostname \ htop \ diff --git a/Dockerfiles/work/Dockerfile-8.0 b/Dockerfiles/work/Dockerfile-8.0 index 6ee29d34..0010e102 100644 --- a/Dockerfiles/work/Dockerfile-8.0 +++ b/Dockerfiles/work/Dockerfile-8.0 @@ -71,6 +71,7 @@ RUN set -eux \ git \ git-flow \ git-svn \ + ghostscript \ graphviz \ hostname \ htop \ diff --git a/build/ansible/DOCKERFILES/Dockerfile-work.j2 b/build/ansible/DOCKERFILES/Dockerfile-work.j2 index 94d99d5e..9575f7ef 100644 --- a/build/ansible/DOCKERFILES/Dockerfile-work.j2 +++ b/build/ansible/DOCKERFILES/Dockerfile-work.j2 @@ -85,6 +85,7 @@ RUN set -eux \ git \ git-flow \ git-svn \ + ghostscript \ graphviz \ hostname \ htop \ From db7c4e6334f2c680c47d80c4cac64094ddbc8e8c Mon Sep 17 00:00:00 2001 From: cytopia Date: Mon, 18 Nov 2019 16:52:35 +0100 Subject: [PATCH 2/6] Add module integration tests --- tests/mods/01-test-modules.sh | 29 ++++++++++ tests/mods/modules.sh | 80 ++++++++++++++++++++++++++ tests/mods/modules/bcmath/bcmath.php | 26 +++++++++ tests/mods/modules/gd/gd-jpeg.php | 67 +++++++++++++++++++++ tests/mods/modules/gd/gd-png.php | 67 +++++++++++++++++++++ tests/mods/modules/gd/gd-webp.php | 50 ++++++++++++++++ tests/mods/modules/imagick/imagick.php | 40 +++++++++++++ 7 files changed, 359 insertions(+) create mode 100755 tests/mods/01-test-modules.sh create mode 100755 tests/mods/modules.sh create mode 100644 tests/mods/modules/bcmath/bcmath.php create mode 100644 tests/mods/modules/gd/gd-jpeg.php create mode 100644 tests/mods/modules/gd/gd-png.php create mode 100644 tests/mods/modules/gd/gd-webp.php create mode 100644 tests/mods/modules/imagick/imagick.php diff --git a/tests/mods/01-test-modules.sh b/tests/mods/01-test-modules.sh new file mode 100755 index 00000000..e52138ba --- /dev/null +++ b/tests/mods/01-test-modules.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash + +set -e +set -u +set -o pipefail + +CWD="$(cd -P -- "$(dirname -- "$0")" && pwd -P)" + +IMAGE="${1}" +VERSION="${2}" +FLAVOUR="${3}" + + +# shellcheck disable=SC1090 +. "${CWD}/../.lib.sh" + + +# ------------------------------------------------------------------------------------------------- +# Testing +# ------------------------------------------------------------------------------------------------- + +ERROR=0 +for dir in $( ls -1 "${CWD}/modules/" ); do + if ! "${CWD}/modules.sh" "${IMAGE}" "${VERSION}" "${FLAVOUR}" "${dir}"; then + ERROR="$(( ERROR + 1 ))" + fi +done + +exit "${ERROR}" diff --git a/tests/mods/modules.sh b/tests/mods/modules.sh new file mode 100755 index 00000000..b2935763 --- /dev/null +++ b/tests/mods/modules.sh @@ -0,0 +1,80 @@ +#!/usr/bin/env bash + +set -e +set -u +set -o pipefail + +CWD="$(cd -P -- "$(dirname -- "$0")" && pwd -P)" + +if [ "${#}" != "4" ]; then + >&2 echo "Error, requires 4 arguments: " + exit 1 +fi + +IMAGE="${1}" +VERSION="${2}" +FLAVOUR="${3}" +MODULE="${4}" + +# shellcheck disable=SC1090 +. "${CWD}/../.lib.sh" + + +SKIP_GD=("") + + +echo +echo "# ------------------------------------------------------------" +echo "# Testing: ${MODULE}" +echo "# ------------------------------------------------------------" +echo + + +# ------------------------------------------------------------------------------------------------- +# Check skipping +# ------------------------------------------------------------------------------------------------- + +if [[ ${SKIP_GD[*]} =~ ${VERSION} ]]; then + echo "Skipping '${MODULE}' checks for PHP ${VERSION}" + exit 0 +fi + + +# ------------------------------------------------------------------------------------------------- +# Testing +# ------------------------------------------------------------------------------------------------- + +WORKDIR="/tmp/${MODULE}" +docker run \ + --rm \ + -e DEBUG_ENTRYPOINT=0 \ + -e NEW_UID="$(id -u)" \ + -e NEW_GID="$(id -g)" \ + -v "${CWD}/modules/${MODULE}:${WORKDIR}" \ + --entrypoint=sh \ + --workdir="${WORKDIR}" \ + "${IMAGE}:${VERSION}-${FLAVOUR}" \ + -c 'find . -name "*.php" -type f -print0 | xargs -0 -n1 sh -c " + set -e + set -u + if [ -f \"\${1:-}\" ]; then + fail=0 + printf \"[TEST] %s\" \"\${1}\" + + if script -e -c \"php \${1}\" /dev/null 2>&1 | grep -Ei \"core|segmentation|fatal|except|err|warn|notice\" 2>&1 >/dev/null; then + fail=1 + fi + if ! php \"\${1}\" 2>&1 | grep -E \"^OK$\" 2>&1 >/dev/null; then + fail=1 + fi + + if [ \"\${fail}\" != \"0\" ]; then + printf \"\\r[FAIL] %s\\n\" \"\${1}\" + php \"\${1}\" || true + exit 1 + else + printf \"\\r[OK] %s\\n\" \"\${1}\" + fi + fi + + " --' diff --git a/tests/mods/modules/bcmath/bcmath.php b/tests/mods/modules/bcmath/bcmath.php new file mode 100644 index 00000000..0e318e6e --- /dev/null +++ b/tests/mods/modules/bcmath/bcmath.php @@ -0,0 +1,26 @@ +newImage($width, $height, new ImagickPixel('transparent')) !== TRUE) { + echo 'FAIL: imagecreatetruecolor()'; + exit(1); +} + +/* New ImagickDraw instance for ellipse draw */ +$draw = new ImagickDraw(); +/* Set purple fill color for ellipse */ +$draw->setFillColor('#777bb4'); +/* Set ellipse dimensions */ +$draw->ellipse($width / 2, $height / 2, $width / 2, $height / 2, 0, 360); +/* Draw ellipse onto the canvas */ +$img->drawImage($draw); + +/* Reset fill color from purple to black for text (note: we are reusing ImagickDraw object) */ +$draw->setFillColor('black'); + +if ($img->setImageFormat('png') !== TRUE) { + echo 'FAIL: imagecreatetruecolor()'; + exit(1); +} + + +echo 'OK'; From 3d15aea68b00733d06c1a296328b662617448034 Mon Sep 17 00:00:00 2001 From: cytopia Date: Mon, 18 Nov 2019 16:52:55 +0100 Subject: [PATCH 3/6] Fix gd for PHP 7.4 and PHP 8.0 --- Dockerfiles/mods/Dockerfile-7.4 | 2 +- Dockerfiles/mods/Dockerfile-8.0 | 2 +- build/ansible/group_vars/all/mods.yml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Dockerfiles/mods/Dockerfile-7.4 b/Dockerfiles/mods/Dockerfile-7.4 index 19759906..3985c845 100644 --- a/Dockerfiles/mods/Dockerfile-7.4 +++ b/Dockerfiles/mods/Dockerfile-7.4 @@ -139,7 +139,7 @@ RUN set -eux \ # Installation: Version specific # Type: Built-in extension # Custom: configure command - && docker-php-ext-configure gd --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv \ + && docker-php-ext-configure gd --enable-gd --with-webp --with-jpeg --with-xpm --with-freetype --enable-gd-jis-conv \ # Installation && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \ && true diff --git a/Dockerfiles/mods/Dockerfile-8.0 b/Dockerfiles/mods/Dockerfile-8.0 index 930f9dc4..4cfaf0b6 100644 --- a/Dockerfiles/mods/Dockerfile-8.0 +++ b/Dockerfiles/mods/Dockerfile-8.0 @@ -104,7 +104,7 @@ RUN set -eux \ # Installation: Version specific # Type: Built-in extension # Custom: configure command - && docker-php-ext-configure gd --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv \ + && docker-php-ext-configure gd --enable-gd --with-webp --with-jpeg --with-xpm --with-freetype --enable-gd-jis-conv \ # Installation && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \ && true diff --git a/build/ansible/group_vars/all/mods.yml b/build/ansible/group_vars/all/mods.yml index 1ae605ee..d3cf2851 100644 --- a/build/ansible/group_vars/all/mods.yml +++ b/build/ansible/group_vars/all/mods.yml @@ -295,11 +295,11 @@ extensions_available: configure: --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv 7.4: type: builtin - configure: --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv + configure: --enable-gd --with-webp --with-jpeg --with-xpm --with-freetype --enable-gd-jis-conv run_dep: [libpng16-16, libjpeg62-turbo, libxpm4, libvpx4, libfreetype6, libwebp6] 8.0: type: builtin - configure: --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv + configure: --enable-gd --with-webp --with-jpeg --with-xpm --with-freetype --enable-gd-jis-conv run_dep: [libpng16-16, libjpeg62-turbo, libxpm4, libvpx4, libfreetype6, libwebp6] all: type: builtin From 806b40887813ca0b2887e4941b3fc850d53b672b Mon Sep 17 00:00:00 2001 From: cytopia Date: Mon, 18 Nov 2019 17:44:11 +0100 Subject: [PATCH 4/6] Only check imagick against supported versions --- tests/mods/modules/imagick/imagick.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tests/mods/modules/imagick/imagick.php b/tests/mods/modules/imagick/imagick.php index c5bdd56c..abc090f2 100644 --- a/tests/mods/modules/imagick/imagick.php +++ b/tests/mods/modules/imagick/imagick.php @@ -7,6 +7,18 @@ ini_set('display_errors', 1); error_reporting(-1); + +// Only available since 5.3.0 +if (version_compare(PHP_VERSION, '5.3.0', '<')) { + echo 'OK'; + exit(0); +} +// FIXME: Currently not supported on PHP 8 +if (version_compare(PHP_VERSION, '5.8.0', '>=')) { + echo 'OK'; + exit(0); +} + /* Set width and height in proportion of genuine PHP logo */ $width = 400; $height = 210; From 83124e8632884b63e31baa5e55fa84b9152f6001 Mon Sep 17 00:00:00 2001 From: cytopia Date: Mon, 18 Nov 2019 17:58:00 +0100 Subject: [PATCH 5/6] Add more gd tests --- tests/mods/modules/gd/gd-freetype.php | 20 ++++++++++++++++++++ tests/mods/modules/gd/gd-xpm.php | 16 ++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 tests/mods/modules/gd/gd-freetype.php create mode 100644 tests/mods/modules/gd/gd-xpm.php diff --git a/tests/mods/modules/gd/gd-freetype.php b/tests/mods/modules/gd/gd-freetype.php new file mode 100644 index 00000000..71c1b7f9 --- /dev/null +++ b/tests/mods/modules/gd/gd-freetype.php @@ -0,0 +1,20 @@ + Date: Mon, 18 Nov 2019 23:48:06 +0100 Subject: [PATCH 6/6] Disable imagick for 5.3, 5.4 and 5.5 due to segfaults --- Dockerfiles/mods/Dockerfile-5.3 | 15 --------------- Dockerfiles/mods/Dockerfile-5.4 | 15 --------------- Dockerfiles/mods/Dockerfile-5.5 | 15 --------------- README.md | 6 +++--- build/ansible/group_vars/all/mods.yml | 12 +----------- tests/mods/modules/imagick/imagick.php | 4 ++-- 6 files changed, 6 insertions(+), 61 deletions(-) diff --git a/Dockerfiles/mods/Dockerfile-5.3 b/Dockerfiles/mods/Dockerfile-5.3 index 87b7a0c4..1dcbe02a 100644 --- a/Dockerfiles/mods/Dockerfile-5.3 +++ b/Dockerfiles/mods/Dockerfile-5.3 @@ -26,7 +26,6 @@ RUN set -eux \ libjpeg-dev \ libkrb5-dev \ libldap2-dev \ - libmagickwand-dev \ libmcrypt-dev \ libmemcached-dev \ libnghttp2-dev \ @@ -203,17 +202,6 @@ RUN set -eux \ && true -# -------------------- Installing PHP Extension: imagick -------------------- -RUN set -eux \ - # Installation: Version specific - # Type: PECL extension - # Default: Pecl command - && pecl install imagick-3.3.0 \ - # Enabling - && docker-php-ext-enable imagick \ - && true - - # -------------------- Installing PHP Extension: imap -------------------- RUN set -eux \ # Generic pre-command @@ -689,7 +677,6 @@ RUN set -eux \ libfreetype6 \ libicu52 \ libjpeg62-turbo \ - libmagickwand-6.q16-2 \ libmcrypt4 \ libmemcachedutil2 \ libmysqlclient18 \ @@ -783,8 +770,6 @@ RUN set -eux \ && php-fpm -m | grep -oiE '^iconv$' \ && php -m | grep -oiE '^igbinary$' \ && php-fpm -m | grep -oiE '^igbinary$' \ - && php -m | grep -oiE '^imagick$' \ - && php-fpm -m | grep -oiE '^imagick$' \ && php -m | grep -oiE '^imap$' \ && php-fpm -m | grep -oiE '^imap$' \ && php -m | grep -oiE '^interbase$' \ diff --git a/Dockerfiles/mods/Dockerfile-5.4 b/Dockerfiles/mods/Dockerfile-5.4 index 91acca0e..807c5a66 100644 --- a/Dockerfiles/mods/Dockerfile-5.4 +++ b/Dockerfiles/mods/Dockerfile-5.4 @@ -26,7 +26,6 @@ RUN set -eux \ libjpeg-dev \ libkrb5-dev \ libldap2-dev \ - libmagickwand-dev \ libmcrypt-dev \ libmemcached-dev \ libnghttp2-dev \ @@ -203,17 +202,6 @@ RUN set -eux \ && true -# -------------------- Installing PHP Extension: imagick -------------------- -RUN set -eux \ - # Installation: Version specific - # Type: PECL extension - # Default: Pecl command - && pecl install imagick \ - # Enabling - && docker-php-ext-enable imagick \ - && true - - # -------------------- Installing PHP Extension: imap -------------------- RUN set -eux \ # Generic pre-command @@ -697,7 +685,6 @@ RUN set -eux \ libfreetype6 \ libicu52 \ libjpeg62-turbo \ - libmagickwand-6.q16-2 \ libmcrypt4 \ libmemcachedutil2 \ libmysqlclient18 \ @@ -791,8 +778,6 @@ RUN set -eux \ && php-fpm -m | grep -oiE '^iconv$' \ && php -m | grep -oiE '^igbinary$' \ && php-fpm -m | grep -oiE '^igbinary$' \ - && php -m | grep -oiE '^imagick$' \ - && php-fpm -m | grep -oiE '^imagick$' \ && php -m | grep -oiE '^imap$' \ && php-fpm -m | grep -oiE '^imap$' \ && php -m | grep -oiE '^interbase$' \ diff --git a/Dockerfiles/mods/Dockerfile-5.5 b/Dockerfiles/mods/Dockerfile-5.5 index b81714b5..965a0096 100644 --- a/Dockerfiles/mods/Dockerfile-5.5 +++ b/Dockerfiles/mods/Dockerfile-5.5 @@ -26,7 +26,6 @@ RUN set -eux \ libjpeg-dev \ libkrb5-dev \ libldap2-dev \ - libmagickwand-dev \ libmcrypt-dev \ libmemcached-dev \ libnghttp2-dev \ @@ -194,17 +193,6 @@ RUN set -eux \ && true -# -------------------- Installing PHP Extension: imagick -------------------- -RUN set -eux \ - # Installation: Version specific - # Type: PECL extension - # Default: Pecl command - && pecl install imagick \ - # Enabling - && docker-php-ext-enable imagick \ - && true - - # -------------------- Installing PHP Extension: imap -------------------- RUN set -eux \ # Generic pre-command @@ -685,7 +673,6 @@ RUN set -eux \ libfreetype6 \ libicu52 \ libjpeg62-turbo \ - libmagickwand-6.q16-2 \ libmcrypt4 \ libmemcachedutil2 \ libmysqlclient18 \ @@ -779,8 +766,6 @@ RUN set -eux \ && php-fpm -m | grep -oiE '^iconv$' \ && php -m | grep -oiE '^igbinary$' \ && php-fpm -m | grep -oiE '^igbinary$' \ - && php -m | grep -oiE '^imagick$' \ - && php-fpm -m | grep -oiE '^imagick$' \ && php -m | grep -oiE '^imap$' \ && php-fpm -m | grep -oiE '^imap$' \ && php -m | grep -oiE '^interbase$' \ diff --git a/README.md b/README.md index cb18c675..936a2ede 100644 --- a/README.md +++ b/README.md @@ -607,17 +607,17 @@ Check out this table to see which Docker image provides what PHP modules. 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, imagick, 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, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, 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, 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, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, 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, imagick, 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, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, 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, 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, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib 5.5 Core, ctype, curl, date, dom, ereg, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, 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, imagick, 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, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, 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, 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, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib 5.6 diff --git a/build/ansible/group_vars/all/mods.yml b/build/ansible/group_vars/all/mods.yml index d3cf2851..333fe81f 100644 --- a/build/ansible/group_vars/all/mods.yml +++ b/build/ansible/group_vars/all/mods.yml @@ -340,17 +340,7 @@ extensions_available: all: type: pecl imagick: - disabled: [5.2, 8.0] - 5.3: - type: pecl - version: 3.3.0 - run_dep: [libmagickwand-6.q16-2] - 5.4: - type: pecl - run_dep: [libmagickwand-6.q16-2] - 5.5: - type: pecl - run_dep: [libmagickwand-6.q16-2] + disabled: [5.2, 5.3, 5.4, 5.5, 8.0] # 5.3, 5.4 and 5.5 segfaults 5.6: type: pecl run_dep: [libmagickwand-6.q16-3] diff --git a/tests/mods/modules/imagick/imagick.php b/tests/mods/modules/imagick/imagick.php index abc090f2..c40ead04 100644 --- a/tests/mods/modules/imagick/imagick.php +++ b/tests/mods/modules/imagick/imagick.php @@ -8,8 +8,8 @@ error_reporting(-1); -// Only available since 5.3.0 -if (version_compare(PHP_VERSION, '5.3.0', '<')) { +// Only available since 5.3.0 (PHP 5.3, 5.4 and 5.5 segfaults) +if (version_compare(PHP_VERSION, '5.6.0', '<')) { echo 'OK'; exit(0); }