From fe597933042146473be2bbecdcf188db217bb019 Mon Sep 17 00:00:00 2001 From: cytopia Date: Fri, 2 Dec 2022 02:29:20 +0100 Subject: [PATCH 01/10] Fix script to fetch PHP modules --- .tests/scripts/get-modules.sh | 382 ++++++---------------------------- README.md | 13 +- 2 files changed, 71 insertions(+), 324 deletions(-) diff --git a/.tests/scripts/get-modules.sh b/.tests/scripts/get-modules.sh index 7de6b096a..663c1d0bd 100755 --- a/.tests/scripts/get-modules.sh +++ b/.tests/scripts/get-modules.sh @@ -20,327 +20,71 @@ RETRIES=10 # ------------------------------------------------------------------------------------------------- PHP_TAG="$( grep 'devilbox/php' "${DVLBOX_PATH}/docker-compose.yml" | sed 's/^.*-work-//g' )" +PHP_MOD="$( run "curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/doc/php-modules.md'" "${RETRIES}" )"; + + +get_modules() { + local php_version="${1}" + local stage="${2}" + local modules= + local names= + + modules="$( \ + echo "${PHP_MOD}" \ + | grep -E "ext_${stage}_.+_${php_version}" \ + | grep -v '><' \ + | sed \ + -e "s|.*ext_${stage}_||g" \ + -e "s|_${php_version}.*||g" \ + )" + # Ensure to fetch name with correct upper-/lower-case + while read -r module; do + name="$( \ + echo "${PHP_MOD}" \ + | grep -Eio ">${module}<" \ + | sed -e 's|>||g' -e 's|<||g' \ + | sort -u \ + )" + names="$( printf "%s\n%s" "${names}" "${name}" )" + done < <(echo "${modules}") + + # Remove leading and trailing newline + names="$( echo "${names}" | grep -v '^$' )" + + # Output comma separated + echo "${names}" | paste -d, -s +} + + +PHP52_BASE="$( get_modules "5.2" "base" )" +PHP53_BASE="$( get_modules "5.3" "base" )" +PHP54_BASE="$( get_modules "5.4" "base" )" +PHP55_BASE="$( get_modules "5.5" "base" )" +PHP56_BASE="$( get_modules "5.6" "base" )" +PHP70_BASE="$( get_modules "7.0" "base" )" +PHP71_BASE="$( get_modules "7.1" "base" )" +PHP72_BASE="$( get_modules "7.2" "base" )" +PHP73_BASE="$( get_modules "7.3" "base" )" +PHP74_BASE="$( get_modules "7.4" "base" )" +PHP80_BASE="$( get_modules "8.0" "base" )" +PHP81_BASE="$( get_modules "8.1" "base" )" +PHP82_BASE="$( get_modules "8.2" "base" )" + +PHP52_MODS="$( get_modules "5.2" "mods" )" +PHP53_MODS="$( get_modules "5.3" "mods" )" +PHP54_MODS="$( get_modules "5.4" "mods" )" +PHP55_MODS="$( get_modules "5.5" "mods" )" +PHP56_MODS="$( get_modules "5.6" "mods" )" +PHP70_MODS="$( get_modules "7.0" "mods" )" +PHP71_MODS="$( get_modules "7.1" "mods" )" +PHP72_MODS="$( get_modules "7.2" "mods" )" +PHP73_MODS="$( get_modules "7.3" "mods" )" +PHP74_MODS="$( get_modules "7.4" "mods" )" +PHP80_MODS="$( get_modules "8.0" "mods" )" +PHP81_MODS="$( get_modules "8.1" "mods" )" +PHP82_MODS="$( get_modules "8.2" "mods" )" -### -### Get PHP core modules (5 rounds) -### -if ! PHP52_BASE="$( run "\ - curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \ - | tac \ - | tac \ - | grep -E '52-base' \ - | sed \ - -e 's/.*\">//g' \ - -e 's/<.*//g'" "${RETRIES}" )"; then - >&2 echo "Failed to retrieve modules for PHP 5.2" - exit 1 -fi - -if ! PHP53_BASE="$( run "\ - curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \ - | tac \ - | tac \ - | grep -E '53-base' \ - | sed \ - -e 's/.*\">//g' \ - -e 's/<.*//g'" "${RETRIES}" )"; then - >&2 echo "Failed to retrieve modules for PHP 5.3" - exit 1 -fi - -if ! PHP54_BASE="$( run "\ - curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \ - | tac \ - | tac \ - | grep -E '54-base' \ - | sed \ - -e 's/.*\">//g' \ - -e 's/<.*//g'" "${RETRIES}" )"; then - >&2 echo "Failed to retrieve modules for PHP 5.4" - exit 1 -fi - -if ! PHP55_BASE="$( run "\ - curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \ - | tac \ - | tac \ - | grep -E '55-base' \ - | sed \ - -e 's/.*\">//g' \ - -e 's/<.*//g'" "${RETRIES}" )"; then - >&2 echo "Failed to retrieve modules for PHP 5.5" - exit 1 -fi - -if ! PHP56_BASE="$( run "\ - curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \ - | tac \ - | tac \ - | grep -E '56-base' \ - | sed \ - -e 's/.*\">//g' \ - -e 's/<.*//g'" "${RETRIES}" )"; then - >&2 echo "Failed to retrieve modules for PHP 5.6" - exit 1 -fi - -if ! PHP70_BASE="$( run "\ - curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \ - | tac \ - | tac \ - | grep -E '70-base' \ - | sed \ - -e 's/.*\">//g' \ - -e 's/<.*//g'" "${RETRIES}" )"; then - >&2 echo "Failed to retrieve modules for PHP 7.0" - exit 1 -fi - -if ! PHP71_BASE="$( run "\ - curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \ - | tac \ - | tac \ - | grep -E '71-base' \ - | sed \ - -e 's/.*\">//g' \ - -e 's/<.*//g'" "${RETRIES}" )"; then - >&2 echo "Failed to retrieve modules for PHP 7.1" - exit 1 -fi - -if ! PHP72_BASE="$( run "\ - curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \ - | tac \ - | tac \ - | grep -E '72-base' \ - | sed \ - -e 's/.*\">//g' \ - -e 's/<.*//g'" "${RETRIES}" )"; then - >&2 echo "Failed to retrieve modules for PHP 7.2" - exit 1 -fi - -if ! PHP73_BASE="$( run "\ - curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \ - | tac \ - | tac \ - | grep -E '73-base' \ - | sed \ - -e 's/.*\">//g' \ - -e 's/<.*//g'" "${RETRIES}" )"; then - >&2 echo "Failed to retrieve modules for PHP 7.3" - exit 1 -fi - -if ! PHP74_BASE="$( run "\ - curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \ - | tac \ - | tac \ - | grep -E '74-base' \ - | sed \ - -e 's/.*\">//g' \ - -e 's/<.*//g'" "${RETRIES}" )"; then - >&2 echo "Failed to retrieve modules for PHP 7.4" - exit 1 -fi - -if ! PHP80_BASE="$( run "\ - curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \ - | tac \ - | tac \ - | grep -E '80-base' \ - | sed \ - -e 's/.*\">//g' \ - -e 's/<.*//g'" "${RETRIES}" )"; then - >&2 echo "Failed to retrieve modules for PHP 8.0" - exit 1 -fi - -if ! PHP81_BASE="$( run "\ - curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \ - | tac \ - | tac \ - | grep -E '81-base' \ - | sed \ - -e 's/.*\">//g' \ - -e 's/<.*//g'" "${RETRIES}" )"; then - >&2 echo "Failed to retrieve modules for PHP 8.1" - exit 1 -fi - -if ! PHP82_BASE="$( run "\ - curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \ - | tac \ - | tac \ - | grep -E '82-base' \ - | sed \ - -e 's/.*\">//g' \ - -e 's/<.*//g'" "${RETRIES}" )"; then - >&2 echo "Failed to retrieve modules for PHP 8.2" - exit 1 -fi - -### -### Get PHP mods modules (5 rounds) -### - -if ! PHP52_MODS="$( run "\ - curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \ - | tac \ - | tac \ - | grep -E '52-mods' \ - | sed \ - -e 's/.*\">//g' \ - -e 's/<.*//g'" "${RETRIES}" )"; then - >&2 echo "Failed to retrieve modules for PHP 5.2" - exit 1 -fi - -if ! PHP53_MODS="$( run "\ - curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \ - | tac \ - | tac \ - | grep -E '53-mods' \ - | sed \ - -e 's/.*\">//g' \ - -e 's/<.*//g'" "${RETRIES}" )"; then - >&2 echo "Failed to retrieve modules for PHP 5.3" - exit 1 -fi - -if ! PHP54_MODS="$( run "\ - curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \ - | tac \ - | tac \ - | grep -E '54-mods' \ - | sed \ - -e 's/.*\">//g' \ - -e 's/<.*//g'" "${RETRIES}" )"; then - >&2 echo "Failed to retrieve modules for PHP 5.4" - exit 1 -fi - -if ! PHP55_MODS="$( run "\ - curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \ - | tac \ - | tac \ - | grep -E '55-mods' \ - | sed \ - -e 's/.*\">//g' \ - -e 's/<.*//g'" "${RETRIES}" )"; then - >&2 echo "Failed to retrieve modules for PHP 5.5" - exit 1 -fi - -if ! PHP56_MODS="$( run "\ - curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \ - | tac \ - | tac \ - | grep -E '56-mods' \ - | sed \ - -e 's/.*\">//g' \ - -e 's/<.*//g'" "${RETRIES}" )"; then - >&2 echo "Failed to retrieve modules for PHP 5.6" - exit 1 -fi - -if ! PHP70_MODS="$( run "\ - curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \ - | tac \ - | tac \ - | grep -E '70-mods' \ - | sed \ - -e 's/.*\">//g' \ - -e 's/<.*//g'" "${RETRIES}" )"; then - >&2 echo "Failed to retrieve modules for PHP 7.0" - exit 1 -fi - -if ! PHP71_MODS="$( run "\ - curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \ - | tac \ - | tac \ - | grep -E '71-mods' \ - | sed \ - -e 's/.*\">//g' \ - -e 's/<.*//g'" "${RETRIES}" )"; then - >&2 echo "Failed to retrieve modules for PHP 7.1" - exit 1 -fi - -if ! PHP72_MODS="$( run "\ - curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \ - | tac \ - | tac \ - | grep -E '72-mods' \ - | sed \ - -e 's/.*\">//g' \ - -e 's/<.*//g'" "${RETRIES}" )"; then - >&2 echo "Failed to retrieve modules for PHP 7.2" - exit 1 -fi - -if ! PHP73_MODS="$( run "\ - curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \ - | tac \ - | tac \ - | grep -E '73-mods' \ - | sed \ - -e 's/.*\">//g' \ - -e 's/<.*//g'" "${RETRIES}" )"; then - >&2 echo "Failed to retrieve modules for PHP 7.3" - exit 1 -fi - -if ! PHP74_MODS="$( run "\ - curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \ - | tac \ - | tac \ - | grep -E '74-mods' \ - | sed \ - -e 's/.*\">//g' \ - -e 's/<.*//g'" "${RETRIES}" )"; then - >&2 echo "Failed to retrieve modules for PHP 7.4" - exit 1 -fi - -if ! PHP80_MODS="$( run "\ - curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \ - | tac \ - | tac \ - | grep -E '80-mods' \ - | sed \ - -e 's/.*\">//g' \ - -e 's/<.*//g'" "${RETRIES}" )"; then - >&2 echo "Failed to retrieve modules for PHP 8.0" - exit 1 -fi - -if ! PHP81_MODS="$( run "\ - curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \ - | tac \ - | tac \ - | grep -E '81-mods' \ - | sed \ - -e 's/.*\">//g' \ - -e 's/<.*//g'" "${RETRIES}" )"; then - >&2 echo "Failed to retrieve modules for PHP 8.1" - exit 1 -fi - -if ! PHP82_MODS="$( run "\ - curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \ - | tac \ - | tac \ - | grep -E '82-mods' \ - | sed \ - -e 's/.*\">//g' \ - -e 's/<.*//g'" "${RETRIES}" )"; then - >&2 echo "Failed to retrieve modules for PHP 8.2" - exit 1 -fi - ### ### Todo: add ioncube ### diff --git a/README.md b/README.md index 596000c12..406540a77 100644 --- a/README.md +++ b/README.md @@ -773,6 +773,8 @@ The Devilbox is a development stack, so it is made sure that a lot of PHP module | json | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | ldap | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | libxml | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| lz4 | | | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| lzf | | | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | mbstring | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | mcrypt | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | | memcache | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | @@ -786,6 +788,7 @@ The Devilbox is a development stack, so it is made sure that a lot of PHP module | mysqlnd | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | OAuth | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | oci8 | | d | d | d | d | d | d | d | d | d | d | d | d | +| OPcache | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | openssl | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | pcntl | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | pcre | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | @@ -798,11 +801,12 @@ The Devilbox is a development stack, so it is made sure that a lot of PHP module | pdo_sqlite | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | pdo_sqlsrv | | | | | | d | d | d | d | d | d | d | d | | pgsql | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| phalcon | | d | d | d | d | d | d | d | d | d | | | | +| phalcon | | d | d | d | d | d | d | d | d | d | d | d | | | Phar | 🗸 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | posix | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | pspell | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | psr | | | d | d | d | d | d | d | d | d | d | d | d | +| random | | | | | | | | | | | | | ✔ | | rdkafka | | d | d | d | d | d | d | d | d | d | d | d | d | | readline | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | recode | ✔ | ✔ | ✔ | ✔ | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | | | @@ -817,11 +821,10 @@ The Devilbox is a development stack, so it is made sure that a lot of PHP module | sodium | | | | | | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | solr | | | | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | SPL | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| SQLite | ✔ | ✔ | | | | | | | | | | | | +| sqlite | ✔ | ✔ | | | | | | | | | | | | | sqlite3 | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | sqlsrv | | | | | | d | d | d | d | d | d | d | d | | ssh2 | | | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | | -| standard | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | swoole | | d | d | d | d | d | d | d | d | d | d | d | | | sysvmsg | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | sysvsem | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | @@ -832,7 +835,7 @@ The Devilbox is a development stack, so it is made sure that a lot of PHP module | uuid | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | vips | | | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | wddx | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | | | -| xdebug | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| Xdebug | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | xlswriter | | | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | xml | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | xmlreader | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | @@ -840,9 +843,9 @@ The Devilbox is a development stack, so it is made sure that a lot of PHP module | xmlwriter | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | xsl | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | yaml | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| Zend OPcache | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | zip | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | zlib | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| zstd | | | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | > * Core enabled (cannot be disabled): **✔** From aae28e7d6dd6a94d6c84af2580a329ce1090d957 Mon Sep 17 00:00:00 2001 From: cytopia Date: Fri, 2 Dec 2022 14:43:38 +0100 Subject: [PATCH 02/10] Update CHANGELOG and version --- .devilbox/www/config.php | 4 ++-- CHANGELOG.md | 23 +++++++++++++++++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/.devilbox/www/config.php b/.devilbox/www/config.php index a726090d9..e2c064d05 100644 --- a/.devilbox/www/config.php +++ b/.devilbox/www/config.php @@ -13,8 +13,8 @@ putenv('RES_OPTIONS=retrans:1 retry:1 timeout:1 attempts:1'); -$DEVILBOX_VERSION = 'v2.2.0'; -$DEVILBOX_DATE = '2022-04-14'; +$DEVILBOX_VERSION = 'v2.3.0'; +$DEVILBOX_DATE = '2022-12-02'; $DEVILBOX_API_PAGE = 'devilbox-api/status.json'; // diff --git a/CHANGELOG.md b/CHANGELOG.md index 29f5b8a1b..73c5cf5a0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,29 @@ Make sure to have a look at [UPDATING.md](https://github.com/cytopia/devilbox/bl ## Unreleased +## Release v2.3.0 (2022-12-02) + +### Fixed +- Fixed correct permission for `/opt/nvm` in PHP container [#499](https://github.com/cytopia/devilbox/issues/499), [#PHP-FPM 0.141](https://github.com/devilbox/docker-php-fpm/releases/tag/0.141) +- Fixed Debian Jessie repository trust beyond EOL [#PHP-FPM 0.140](https://github.com/devilbox/docker-php-fpm/releases/tag/0.140) + +### Added +- Added env var to Bind to specify overall memory consumption via `MAX_CACHE_SIZE` [#BIND 0.30](https://github.com/cytopia/docker-bind/releases/tag/0.30) +- Added PHP extension: `lz4` [#PHP-FPM 0.144](https://github.com/devilbox/docker-php-fpm/releases/tag/0.144) +- Added PHP extension: `lzf` [#PHP-FPM 0.144](https://github.com/devilbox/docker-php-fpm/releases/tag/0.144) +- Added PHP extension: `zstd` [#PHP-FPM 0.144](https://github.com/devilbox/docker-php-fpm/releases/tag/0.144) +- Added serializer to Redis extension: `lz4`, `lzf` and` zstd` [#PHP-FPM 0.144](https://github.com/devilbox/docker-php-fpm/releases/tag/0.144) + +#### Changed +- Switched to `phalcon` 5.x extension for PHP 8.0 and PHP 8.1 [#913](https://github.com/cytopia/devilbox/issues/913), [#PHP-FPM 0.143](https://github.com/devilbox/docker-php-fpm/releases/tag/0.143) +- Updated to latest minor versions of Apache 2.2, Apache 2.4, Nginx stable and Nginx mainline +- Updated to latest minor versions of PHP [#917](https://github.com/cytopia/devilbox/issues/917) +- Updated PHP extensions to lastest versions [#899](https://github.com/cytopia/devilbox/issues/899) + +#### Removed +- Removed Phalcon DevTools for PHP 7.4 due to build error [#PHP-FPM 0.142](https://github.com/devilbox/docker-php-fpm/releases/tag/0.142) + + ## Release v2.2.0 (2022-04-14) This release adds PHP-FPM community images via `docker-compose.override.yml`, which easily allows you From b600f9866a66bd2cd3e6154592137c1758fae16d Mon Sep 17 00:00:00 2001 From: cytopia Date: Fri, 2 Dec 2022 14:44:26 +0100 Subject: [PATCH 03/10] Update docker-compose --- docker-compose.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 457570318..16e531bff 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -34,7 +34,7 @@ services: # Bind (DNS Server) # ------------------------------------------------------------ bind: - image: cytopia/bind:alpine-0.28 + image: cytopia/bind:alpine-0.34 hostname: bind restart: always ports: @@ -48,6 +48,11 @@ services: ## - DEBUG_ENTRYPOINT=${DEBUG_COMPOSE_ENTRYPOINT} + ## + ## Memory consumption + ## + - MAX_CACHE_SIZE=${BIND_MAX_CACHE_SIZE:-90%} + ## ## Bind wildcard/host settings ## @@ -94,7 +99,7 @@ services: # PHP # ------------------------------------------------------------ php: - image: devilbox/php-fpm:${PHP_SERVER}-work-0.139 + image: devilbox/php-fpm:${PHP_SERVER}-work-0.144 hostname: php ## @@ -220,7 +225,7 @@ services: # Web Server # ------------------------------------------------------------ httpd: - image: devilbox/${HTTPD_SERVER}:${HTTPD_FLAVOUR:-alpine}-0.47 + image: devilbox/${HTTPD_SERVER}:${HTTPD_FLAVOUR:-alpine}-0.48 hostname: httpd environment: From f2cca91dd18c07853004e601e6932dbc3934d8b4 Mon Sep 17 00:00:00 2001 From: cytopia Date: Fri, 2 Dec 2022 15:36:20 +0100 Subject: [PATCH 04/10] Update CHANGELOG --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 73c5cf5a0..dc010c917 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,13 +19,13 @@ Make sure to have a look at [UPDATING.md](https://github.com/cytopia/devilbox/bl - Added PHP extension: `zstd` [#PHP-FPM 0.144](https://github.com/devilbox/docker-php-fpm/releases/tag/0.144) - Added serializer to Redis extension: `lz4`, `lzf` and` zstd` [#PHP-FPM 0.144](https://github.com/devilbox/docker-php-fpm/releases/tag/0.144) -#### Changed +### Changed - Switched to `phalcon` 5.x extension for PHP 8.0 and PHP 8.1 [#913](https://github.com/cytopia/devilbox/issues/913), [#PHP-FPM 0.143](https://github.com/devilbox/docker-php-fpm/releases/tag/0.143) - Updated to latest minor versions of Apache 2.2, Apache 2.4, Nginx stable and Nginx mainline - Updated to latest minor versions of PHP [#917](https://github.com/cytopia/devilbox/issues/917) - Updated PHP extensions to lastest versions [#899](https://github.com/cytopia/devilbox/issues/899) -#### Removed +### Removed - Removed Phalcon DevTools for PHP 7.4 due to build error [#PHP-FPM 0.142](https://github.com/devilbox/docker-php-fpm/releases/tag/0.142) From b00b1e77b92fbf3746cd4bc6f7fd2298f459bc45 Mon Sep 17 00:00:00 2001 From: cytopia Date: Sun, 4 Dec 2022 04:42:43 +0100 Subject: [PATCH 05/10] Disable CakePHP integration tests --- .tests/tests/framework-cakephp.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.tests/tests/framework-cakephp.sh b/.tests/tests/framework-cakephp.sh index 28d8e5ec9..1bc919ba6 100755 --- a/.tests/tests/framework-cakephp.sh +++ b/.tests/tests/framework-cakephp.sh @@ -14,7 +14,7 @@ DVLBOX_PATH="$( cd "${SCRIPT_PATH}/../.." && pwd -P )" RETRIES=10 # see framework-cakephp-php8.sh for PHP 8+ tests -DISABLED_VERSIONS=("5.2" "5.3" "5.4" "5.5" "8.0" "8.1" "8.2") +DISABLED_VERSIONS=("5.2" "5.3" "5.4" "5.5" "5.6" "7.0" "7.1" "7.2" "7.3" "7.4" "8.0" "8.1" "8.2") PHP_VERSION="$( get_php_version "${DVLBOX_PATH}" )" From 5cce2a8a89908fad9065286acba69632c6ca5e8d Mon Sep 17 00:00:00 2001 From: cytopia Date: Sun, 4 Dec 2022 10:38:28 +0100 Subject: [PATCH 06/10] Make phpPgAdmin work with PgSQL 15 --- .../vendor/phppgadmin-7.13.0/classes/database/Connection.php | 1 + 1 file changed, 1 insertion(+) diff --git a/.devilbox/www/htdocs/vendor/phppgadmin-7.13.0/classes/database/Connection.php b/.devilbox/www/htdocs/vendor/phppgadmin-7.13.0/classes/database/Connection.php index f7b44f417..d8377fc1b 100644 --- a/.devilbox/www/htdocs/vendor/phppgadmin-7.13.0/classes/database/Connection.php +++ b/.devilbox/www/htdocs/vendor/phppgadmin-7.13.0/classes/database/Connection.php @@ -76,6 +76,7 @@ function getDriver(&$description) { // Detect version and choose appropriate database driver switch (substr($version,0,2)) { + case '15': return 'Postgres';break; case '14': return 'Postgres';break; case '13': return 'Postgres13';break; case '12': return 'Postgres12';break; From b6512388d7deb7675e45644d8808203445931db8 Mon Sep 17 00:00:00 2001 From: cytopia Date: Sun, 4 Dec 2022 10:56:07 +0100 Subject: [PATCH 07/10] Added recent MariaDB, Redis and PGSQL versions --- .github/workflows/params-mysql.yml | 4 +++- .github/workflows/params-pgsql.yml | 2 ++ .github/workflows/params-redis.yml | 2 ++ CHANGELOG.md | 4 ++++ README.md | 14 +++++++------- docker-compose.yml | 4 ++++ docs/configuration-files/env-file.rst | 6 ++++++ docs/getting-started/change-container-versions.rst | 6 ++++++ env-example | 6 ++++++ 9 files changed, 40 insertions(+), 8 deletions(-) diff --git a/.github/workflows/params-mysql.yml b/.github/workflows/params-mysql.yml index c255618d7..63cf66923 100644 --- a/.github/workflows/params-mysql.yml +++ b/.github/workflows/params-mysql.yml @@ -29,7 +29,9 @@ env: {"MYSQL_SERVER": "mariadb-10.5"}, {"MYSQL_SERVER": "mariadb-10.6"}, {"MYSQL_SERVER": "mariadb-10.7"}, - {"MYSQL_SERVER": "mariadb-10.8"} + {"MYSQL_SERVER": "mariadb-10.8"}, + {"MYSQL_SERVER": "mariadb-10.9"}, + {"MYSQL_SERVER": "mariadb-10.10"} ] diff --git a/.github/workflows/params-pgsql.yml b/.github/workflows/params-pgsql.yml index 1d9a8630a..3c0be75a8 100644 --- a/.github/workflows/params-pgsql.yml +++ b/.github/workflows/params-pgsql.yml @@ -34,6 +34,8 @@ env: {"PGSQL_SERVER": "PgSQL 13-alpine"}, {"PGSQL_SERVER": "PgSQL 14"}, {"PGSQL_SERVER": "PgSQL 14-alpine"}, + {"PGSQL_SERVER": "PgSQL 15"}, + {"PGSQL_SERVER": "PgSQL 15-alpine"}, {"PGSQL_SERVER": "PgSQL latest"}, {"PGSQL_SERVER": "PgSQL alpine"} ] diff --git a/.github/workflows/params-redis.yml b/.github/workflows/params-redis.yml index 212376bb9..cbba16319 100644 --- a/.github/workflows/params-redis.yml +++ b/.github/workflows/params-redis.yml @@ -25,6 +25,8 @@ env: {"REDIS_SERVER": "Redis 6.0-alpine"}, {"REDIS_SERVER": "Redis 6.2"}, {"REDIS_SERVER": "Redis 6.2-alpine"}, + {"REDIS_SERVER": "Redis 7.0"}, + {"REDIS_SERVER": "Redis 7.0-alpine"}, {"REDIS_SERVER": "Redis latest"}, {"REDIS_SERVER": "Redis alpine"} ] diff --git a/CHANGELOG.md b/CHANGELOG.md index dc010c917..2e01ec543 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ Make sure to have a look at [UPDATING.md](https://github.com/cytopia/devilbox/bl ### Fixed - Fixed correct permission for `/opt/nvm` in PHP container [#499](https://github.com/cytopia/devilbox/issues/499), [#PHP-FPM 0.141](https://github.com/devilbox/docker-php-fpm/releases/tag/0.141) - Fixed Debian Jessie repository trust beyond EOL [#PHP-FPM 0.140](https://github.com/devilbox/docker-php-fpm/releases/tag/0.140) +- Fixed phpPgAdmin to work with PostgreSQL 15 ### Added - Added env var to Bind to specify overall memory consumption via `MAX_CACHE_SIZE` [#BIND 0.30](https://github.com/cytopia/docker-bind/releases/tag/0.30) @@ -18,6 +19,9 @@ Make sure to have a look at [UPDATING.md](https://github.com/cytopia/devilbox/bl - Added PHP extension: `lzf` [#PHP-FPM 0.144](https://github.com/devilbox/docker-php-fpm/releases/tag/0.144) - Added PHP extension: `zstd` [#PHP-FPM 0.144](https://github.com/devilbox/docker-php-fpm/releases/tag/0.144) - Added serializer to Redis extension: `lz4`, `lzf` and` zstd` [#PHP-FPM 0.144](https://github.com/devilbox/docker-php-fpm/releases/tag/0.144) +- Added MariaDB 10.9 and 10.11 [#MYSQL 0.19](https://github.com/devilbox/docker-mysql/pull/24) +- Added PGSQL 15 +- Added Redis 7.0 ### Changed - Switched to `phalcon` 5.x extension for PHP 8.0 and PHP 8.1 [#913](https://github.com/cytopia/devilbox/issues/913), [#PHP-FPM 0.143](https://github.com/devilbox/docker-php-fpm/releases/tag/0.143) diff --git a/README.md b/README.md index 406540a77..3d360d943 100644 --- a/README.md +++ b/README.md @@ -323,7 +323,7 @@ Every single attachable container comes with many different versions. In order t 10.6 10 - latest + 7.0 4.4 @@ -335,7 +335,7 @@ Every single attachable container comes with many different versions. In order t 10.7 11 - + latest 5.0 @@ -344,7 +344,7 @@ Every single attachable container comes with many different versions. In order t 7.4 - + 10.8 12 @@ -356,9 +356,9 @@ Every single attachable container comes with many different versions. In order t 8.0 + 10.9 - - 13 + ... @@ -368,9 +368,9 @@ Every single attachable container comes with many different versions. In order t 8.1 + 10.10 - - 14 + 15 diff --git a/docker-compose.yml b/docker-compose.yml index 16e531bff..4c6392968 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -513,6 +513,8 @@ volumes: devilbox-mariadb-10.6: devilbox-mariadb-10.7: devilbox-mariadb-10.8: + devilbox-mariadb-10.9: + devilbox-mariadb-10.10: devilbox-percona-5.5: devilbox-percona-5.6: devilbox-percona-5.7: @@ -543,6 +545,8 @@ volumes: devilbox-pgsql-13-alpine: devilbox-pgsql-14: devilbox-pgsql-14-alpine: + devilbox-pgsql-15: + devilbox-pgsql-15-alpine: devilbox-pgsql-latest: devilbox-pgsql-alpine: diff --git a/docs/configuration-files/env-file.rst b/docs/configuration-files/env-file.rst index b35f98b55..30b2f70cb 100644 --- a/docs/configuration-files/env-file.rst +++ b/docs/configuration-files/env-file.rst @@ -659,6 +659,8 @@ All values are already available in the ``.env`` file and just need to be commen MYSQL_SERVER=mariadb-10.6 #MYSQL_SERVER=mariadb-10.7 #MYSQL_SERVER=mariadb-10.8 + #MYSQL_SERVER=mariadb-10.9 + #MYSQL_SERVER=mariadb-10.10 .. _env_pgsql_server: @@ -704,6 +706,8 @@ All values are already available in the ``.env`` file and just need to be commen #PGSQL_SERVER=13-alpine #PGSQL_SERVER=14 PGSQL_SERVER=14-alpine + #PGSQL_SERVER=15 + #PGSQL_SERVER=15-alpine #PGSQL_SERVER=latest #PGSQL_SERVER=alpine @@ -747,6 +751,8 @@ All values are already available in the ``.env`` file and just need to be commen #REDIS_SERVER=6.0-alpine #REDIS_SERVER=6.2 REDIS_SERVER=6.2-alpine + #REDIS_SERVER=7.0 + #REDIS_SERVER=7.0-alpine #REDIS_SERVER=latest #REDIS_SERVER=alpine diff --git a/docs/getting-started/change-container-versions.rst b/docs/getting-started/change-container-versions.rst index 3ed27f094..3cc9e9ee9 100644 --- a/docs/getting-started/change-container-versions.rst +++ b/docs/getting-started/change-container-versions.rst @@ -92,6 +92,8 @@ It will look something like this: #PHP_SERVER=7.3 #PHP_SERVER=7.4 #PHP_SERVER=8.0 + #PHP_SERVER=8.1 + #PHP_SERVER=8.2 As you can see, all available values are already there, but commented. Only one is uncommented. In this example it is ``7.1``, which is the PHP version that will be started, once the Devilbox @@ -117,6 +119,8 @@ In order to enable PHP 5.5, you would change the ``.env`` file like this: #PHP_SERVER=7.3 #PHP_SERVER=7.4 #PHP_SERVER=8.0 + #PHP_SERVER=8.1 + #PHP_SERVER=8.2 Start the Devilbox ^^^^^^^^^^^^^^^^^^ @@ -237,6 +241,8 @@ Consider this ``.env`` file: #PHP_SERVER=7.3 #PHP_SERVER=7.4 #PHP_SERVER=8.0 + #PHP_SERVER=8.1 + #PHP_SERVER=8.2 Both, PHP 5.5 and PHP 7.0 are uncommented, however, when you start the Devilbox, it will use PHP 7.0 as this value overwrites any previous ones. diff --git a/env-example b/env-example index 7a89d06f9..5d4f18f60 100644 --- a/env-example +++ b/env-example @@ -308,6 +308,8 @@ HTTPD_SERVER=nginx-stable MYSQL_SERVER=mariadb-10.6 #MYSQL_SERVER=mariadb-10.7 #MYSQL_SERVER=mariadb-10.8 +#MYSQL_SERVER=mariadb-10.9 +#MYSQL_SERVER=mariadb-10.10 ### @@ -346,6 +348,8 @@ MYSQL_SERVER=mariadb-10.6 #PGSQL_SERVER=13-alpine #PGSQL_SERVER=14 PGSQL_SERVER=14-alpine +#PGSQL_SERVER=15 +#PGSQL_SERVER=15-alpine #PGSQL_SERVER=latest #PGSQL_SERVER=alpine @@ -375,6 +379,8 @@ PGSQL_SERVER=14-alpine #REDIS_SERVER=6.0-alpine #REDIS_SERVER=6.2 REDIS_SERVER=6.2-alpine +#REDIS_SERVER=7.0 +#REDIS_SERVER=7.0-alpine #REDIS_SERVER=latest #REDIS_SERVER=alpine From 895558209e24eab12fec213e2db42f53af1cdcc2 Mon Sep 17 00:00:00 2001 From: cytopia Date: Sun, 4 Dec 2022 10:56:50 +0100 Subject: [PATCH 08/10] Adjusted release date --- .devilbox/www/config.php | 2 +- CHANGELOG.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.devilbox/www/config.php b/.devilbox/www/config.php index e2c064d05..77c6c0223 100644 --- a/.devilbox/www/config.php +++ b/.devilbox/www/config.php @@ -14,7 +14,7 @@ $DEVILBOX_VERSION = 'v2.3.0'; -$DEVILBOX_DATE = '2022-12-02'; +$DEVILBOX_DATE = '2022-12-04'; $DEVILBOX_API_PAGE = 'devilbox-api/status.json'; // diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e01ec543..57b436727 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ Make sure to have a look at [UPDATING.md](https://github.com/cytopia/devilbox/bl ## Unreleased -## Release v2.3.0 (2022-12-02) +## Release v2.3.0 (2022-12-04) ### Fixed - Fixed correct permission for `/opt/nvm` in PHP container [#499](https://github.com/cytopia/devilbox/issues/499), [#PHP-FPM 0.141](https://github.com/devilbox/docker-php-fpm/releases/tag/0.141) From dbfd0862273b4875a309585892b9c3f547767581 Mon Sep 17 00:00:00 2001 From: cytopia Date: Sun, 4 Dec 2022 11:15:36 +0100 Subject: [PATCH 09/10] Use latest docker-mysql images --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 4c6392968..bbce5e9ba 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -329,7 +329,7 @@ services: # MySQL Database # ------------------------------------------------------------ mysql: - image: devilbox/mysql:${MYSQL_SERVER}-0.15 + image: devilbox/mysql:${MYSQL_SERVER}-0.19 hostname: mysql environment: From 7c941000c8c38e3e748d21c8d0fc1555005770fc Mon Sep 17 00:00:00 2001 From: cytopia Date: Sun, 4 Dec 2022 11:17:51 +0100 Subject: [PATCH 10/10] Updated CHANGELOG --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 57b436727..00b9866a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,7 @@ Make sure to have a look at [UPDATING.md](https://github.com/cytopia/devilbox/bl - Switched to `phalcon` 5.x extension for PHP 8.0 and PHP 8.1 [#913](https://github.com/cytopia/devilbox/issues/913), [#PHP-FPM 0.143](https://github.com/devilbox/docker-php-fpm/releases/tag/0.143) - Updated to latest minor versions of Apache 2.2, Apache 2.4, Nginx stable and Nginx mainline - Updated to latest minor versions of PHP [#917](https://github.com/cytopia/devilbox/issues/917) +- Updated to latest minor versions of MySQL, MariaDB and Percona DB - Updated PHP extensions to lastest versions [#899](https://github.com/cytopia/devilbox/issues/899) ### Removed