From d571d34c1107e0405e062c058d88e92547a21144 Mon Sep 17 00:00:00 2001 From: Michele Locati Date: Wed, 6 Sep 2023 12:26:39 +0200 Subject: [PATCH 01/10] Don't force the latest version of grpc and protobuf (#798) --- install-php-extensions | 7 ------- 1 file changed, 7 deletions(-) diff --git a/install-php-extensions b/install-php-extensions index 3939ba1b..3c1d9797 100755 --- a/install-php-extensions +++ b/install-php-extensions @@ -2855,10 +2855,6 @@ installRemoteModule() { esac fi fi - if test -z "$installRemoteModule_version"; then - # See https://github.com/protocolbuffers/protobuf/issues/10619 - installRemoteModule_version=1.57.0 - fi if test -z "$installRemoteModule_version" || test "$installRemoteModule_version" = 1.35.0; then case "$DISTRO_VERSION" in alpine@3.13) @@ -3181,9 +3177,6 @@ installRemoteModule() { if test -z "$installRemoteModule_version"; then if test $PHP_MAJMIN_VERSION -le 506; then installRemoteModule_version=3.12.4 - else - # See https://github.com/protocolbuffers/protobuf/issues/10619 - installRemoteModule_version=3.24.2 fi fi ;; From ae0abc847acabdbe2e72a8dcc05799127951cb3d Mon Sep 17 00:00:00 2001 From: Michele Locati Date: Fri, 8 Sep 2023 10:31:34 +0200 Subject: [PATCH 02/10] MS ODBC Sql on Alpine: support arm64, install 18.3.1.1-1 instead of 18.0.1.1-1 (#799) --- install-php-extensions | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/install-php-extensions b/install-php-extensions index 3c1d9797..b79cd626 100755 --- a/install-php-extensions +++ b/install-php-extensions @@ -1974,16 +1974,24 @@ isMicrosoftSqlServerODBCInstalled() { } # Install the Microsoft SQL Server ODBC Driver +# see https://learn.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server installMicrosoftSqlServerODBC() { printf 'Installing the Microsoft SQL Server ODBC Driver\n' case "$DISTRO" in alpine) - # https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server#alpine17 rm -rf /tmp/src/msodbcsql.apk if test $PHP_MAJMIN_VERSION -le 703; then curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.9.1.1-1_amd64.apk else - curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/b/9/f/b9f3cce4-3925-46d4-9f46-da08869c6486/msodbcsql18_18.0.1.1-1_amd64.apk + case $(uname -m) in + aarch64 | arm64 | armv8) + installMicrosoftSqlServerODBC_arch=arm64 + ;; + *) + installMicrosoftSqlServerODBC_arch=amd64 + ;; + esac + curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/3/5/5/355d7943-a338-41a7-858d-53b259ea33f5/msodbcsql18_18.3.1.1-1_$installMicrosoftSqlServerODBC_arch.apk fi printf '\n' | apk add --allow-untrusted /tmp/src/msodbcsql.apk rm -rf /tmp/src/msodbcsql.apk @@ -1992,8 +2000,6 @@ installMicrosoftSqlServerODBC() { if test $DISTRO_VERSION_NUMBER -eq 12; then DISTRO_VERSION_NUMBER=11 fi - - # https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server#debian17 printf -- '- installing the Microsoft APT key\n' if test $DISTRO_VERSION_NUMBER -eq 11; then curl -sSLf -o /etc/apt/trusted.gpg.d/microsoft.asc https://packages.microsoft.com/keys/microsoft.asc @@ -2017,7 +2023,6 @@ installMicrosoftSqlServerODBC() { else DEBIAN_FRONTEND=noninteractive ACCEPT_EULA=Y apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS '^msodbcsql[0-9]+$' fi - if test $DISTRO_VERSION_NUMBER -eq 11; then setDistro fi From 820bda4f94f579b7009a08664b39f62545d55d27 Mon Sep 17 00:00:00 2001 From: Michele Locati Date: Tue, 12 Sep 2023 15:53:12 +0200 Subject: [PATCH 03/10] Fix installing redis on PHP 7.0/7.1, add support for msgpack/lz4 to redis on PHP 7.2+ (#801) --- install-php-extensions | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/install-php-extensions b/install-php-extensions index b79cd626..b294d334 100755 --- a/install-php-extensions +++ b/install-php-extensions @@ -1171,6 +1171,10 @@ buildRequiredPackageLists() { ;; esac buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zstd-dev" + if test $PHP_MAJMIN_VERSION -ge 702; then + buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lz4-libs" + buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile lz4-dev" + fi fi ;; redis@debian) @@ -1188,6 +1192,10 @@ buildRequiredPackageLists() { ;; esac fi + if test $PHP_MAJMIN_VERSION -ge 702; then + buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblz4-1" + buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile liblz4-dev" + fi ;; relay@alpine) buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lz4-libs zstd-libs" @@ -3239,19 +3247,21 @@ installRemoteModule() { if test -z "$installRemoteModule_version"; then if test $PHP_MAJMIN_VERSION -le 506; then installRemoteModule_version=4.3.0 + elif test $PHP_MAJMIN_VERSION -le 701; then + installRemoteModule_version=5.3.7 fi else installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")" fi # Enable igbinary serializer support? if php --ri igbinary >/dev/null 2>/dev/null; then - addConfigureOption 'enable-redis-igbinary' 'yes' + addConfigureOption enable-redis-igbinary yes else - addConfigureOption 'enable-redis-igbinary' 'no' + addConfigureOption enable-redis-igbinary no fi # Enable lzf compression support? - addConfigureOption 'enable-redis-lzf' 'yes' - if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" '5.0.0') -ge 0; then + addConfigureOption enable-redis-lzf yes + if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 5.0.0) -ge 0; then if ! test -e /usr/include/zstd.h || ! test -e /usr/lib/libzstd.so -o -e "/usr/lib/$TARGET_TRIPLET/libzstd.so"; then installRemoteModule_zstdVersion=1.4.4 installRemoteModule_zstdVersionMajor=$(echo $installRemoteModule_zstdVersion | cut -d. -f1) @@ -3267,7 +3277,19 @@ installRemoteModule() { cd - >/dev/null fi # Enable zstd compression support? - addConfigureOption 'enable-redis-zstd' 'yes' + addConfigureOption enable-redis-zstd yes + if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 6.0.0) -ge 0; then + # Enable msgpack serializer support? + if php --ri msgpack >/dev/null 2>/dev/null; then + addConfigureOption enable-redis-msgpack yes + else + addConfigureOption enable-redis-msgpack no + fi + # Enable lz4 compression? + addConfigureOption enable-redis-lz4 yes + # Use system liblz4? + addConfigureOption with-liblz4 yes + fi fi ;; relay) From ed8c5b773a81738d16a512f82b417587dcbf174f Mon Sep 17 00:00:00 2001 From: Michele Locati Date: Tue, 19 Sep 2023 17:18:53 +0200 Subject: [PATCH 04/10] Support ioncube loader on PHP 8.2 (#803) --- data/supported-extensions | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/supported-extensions b/data/supported-extensions index 66de6513..bc45a5c9 100644 --- a/data/supported-extensions +++ b/data/supported-extensions @@ -39,7 +39,7 @@ inotify 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 interbase 5.5 5.6 7.0 7.1 7.2 7.3 intl 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 ion 8.1 8.2 -ioncube_loader 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.1 +ioncube_loader 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.1 8.2 jsmin 5.5 5.6 7.0 7.1 7.2 7.3 7.4 json_post 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 jsonpath 7.4 8.0 8.1 8.2 From 052da09352a1ea8174819b5da957511a74d77d0f Mon Sep 17 00:00:00 2001 From: Michele Locati Date: Tue, 19 Sep 2023 15:19:11 +0000 Subject: [PATCH 05/10] [skip ci] Automatically update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6d6bcd5c..74810f86 100644 --- a/README.md +++ b/README.md @@ -234,7 +234,7 @@ install-php-extensions @fix_letsencrypt | interbase | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | | | intl | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | ion | | | | | | | | | ✓ | ✓ | -| ioncube_loader | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | ✓ | | +| ioncube_loader | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | ✓ | ✓ | | jsmin | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | | json_post | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | jsonpath | | | | | | | ✓ | ✓ | ✓ | ✓ | From 8d409034c3ded459d4dc221a0352bf865a0c3d80 Mon Sep 17 00:00:00 2001 From: Michele Locati Date: Wed, 20 Sep 2023 11:56:51 +0200 Subject: [PATCH 06/10] Add support for Tensor on PHP up to 8.2 (#805) --- data/special-requirements | 1 - data/supported-extensions | 2 +- install-php-extensions | 46 +++++++++++++++++++++++++++++---------- 3 files changed, 36 insertions(+), 13 deletions(-) diff --git a/data/special-requirements b/data/special-requirements index 947ebf19..9eb4e0eb 100644 --- a/data/special-requirements +++ b/data/special-requirements @@ -12,5 +12,4 @@ pthreads zts simdjson !jessie !stretch sodium !jessie sqlsrv !7.1-alpine3.9 !7.1-alpine3.10 !arm -tensor !alpine3.15 !alpine3.16 vips !alpine3.9 !jessie diff --git a/data/supported-extensions b/data/supported-extensions index bc45a5c9..12a9a46e 100644 --- a/data/supported-extensions +++ b/data/supported-extensions @@ -114,7 +114,7 @@ sync 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 sysvmsg 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 sysvsem 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 sysvshm 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 -tensor 7.2 7.3 7.4 8.0 +tensor 7.2 7.3 7.4 8.0 8.1 8.2 tideways 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 tidy 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 timezonedb 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 diff --git a/install-php-extensions b/install-php-extensions index b294d334..43461686 100755 --- a/install-php-extensions +++ b/install-php-extensions @@ -1332,23 +1332,38 @@ buildRequiredPackageLists() { buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile git cmake gperf zlib1g-dev $buildRequiredPackageLists_libssldev" ;; tensor@alpine) - buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lapack libexecinfo openblas" - buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile lapack-dev libexecinfo-dev openblas-dev" - if test $DISTRO_MAJMIN_VERSION -le 310; then - if ! stringInList --force-overwrite "$IPE_APK_FLAGS"; then - IPE_APK_FLAGS="$IPE_APK_FLAGS --force-overwrite" + buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent openblas" + buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile lapack-dev openblas-dev" + if test $DISTRO_MAJMIN_VERSION -le 317; then + buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent lapack" + if test $DISTRO_MAJMIN_VERSION -le 316; then + buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libexecinfo" + buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libexecinfo-dev" + if test $DISTRO_MAJMIN_VERSION -le 310; then + if ! stringInList --force-overwrite "$IPE_APK_FLAGS"; then + IPE_APK_FLAGS="$IPE_APK_FLAGS --force-overwrite" + fi + fi fi + else + buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblapack" fi ;; tensor@debian) - buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblapacke libopenblas-base" + buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent liblapacke" buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile liblapack-dev libopenblas-dev liblapacke-dev" - if test $DISTRO_VERSION_NUMBER -ge 11; then - buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-10" - buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-10-dev" - elif test $DISTRO_VERSION_NUMBER -ge 10; then - buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-8" + if test $DISTRO_VERSION_NUMBER -le 9; then + buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-6 libopenblas-base" + buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-6-dev" + elif test $DISTRO_VERSION_NUMBER -le 10; then + buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-8 libopenblas-base" buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-8-dev" + elif test $DISTRO_VERSION_NUMBER -le 11; then + buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-10 libopenblas-base" + buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-10-dev" + else + buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent gfortran-12 libopenblas0" + buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libgfortran-12-dev" fi ;; tidy@alpine) @@ -3659,6 +3674,15 @@ installRemoteModule() { installRemoteModule_version=2.2.3 fi fi + case "$DISTRO" in + alpine) + if test $DISTRO_MAJMIN_VERSION -ge 315 && test $DISTRO_MAJMIN_VERSION -le 317; then + if test -e /usr/lib/liblapacke.so.3 && ! test -e /usr/lib/liblapacke.so; then + ln -s /usr/lib/liblapacke.so.3 /usr/lib/liblapacke.so + fi + fi + ;; + esac ;; tideways) case "$DISTRO" in From b4eb379419b414279e0171bf78759f72e8fad8d7 Mon Sep 17 00:00:00 2001 From: Michele Locati Date: Wed, 20 Sep 2023 09:57:11 +0000 Subject: [PATCH 07/10] [skip ci] Automatically update README.md --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 74810f86..fc7f890e 100644 --- a/README.md +++ b/README.md @@ -309,7 +309,7 @@ install-php-extensions @fix_letsencrypt | sysvmsg | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | sysvsem | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | sysvshm | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | -| tensor[*](#special-requirements-for-tensor) | | | | | ✓ | ✓ | ✓ | ✓ | | | +| tensor | | | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | tideways | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | tidy | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | timezonedb | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | @@ -434,7 +434,6 @@ Some extensions have special requirements: | simdjson | • Not available in `jessie` docker images
• Not available in `stretch` docker images | | sodium | Not available in `jessie` docker images | | sqlsrv | • Not available in `7.1-alpine3.9` docker images
• Not available in `7.1-alpine3.10` docker images
• Not available in ARM architectures | -| tensor | • Not available in `alpine3.15` docker images
• Not available in `alpine3.16` docker images | | vips | • Not available in `alpine3.9` docker images
• Not available in `jessie` docker images | From 4f5f669120b92144181da8db8611d310ab866ae9 Mon Sep 17 00:00:00 2001 From: Michele Locati Date: Wed, 20 Sep 2023 16:20:13 +0200 Subject: [PATCH 08/10] Install snuffleupagus 0.10.0 by default (#806) --- install-php-extensions | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/install-php-extensions b/install-php-extensions index 43461686..f00e0f88 100755 --- a/install-php-extensions +++ b/install-php-extensions @@ -3372,7 +3372,11 @@ installRemoteModule() { snuffleupagus) if test -z "$installRemoteModule_path"; then if test -z "$installRemoteModule_version"; then - installRemoteModule_version=0.9.0 + if test $PHP_MAJMIN_VERSION -le 704; then + installRemoteModule_version=0.9.0 + else + installRemoteModule_version=0.10.0 + fi fi installRemoteModule_src="$(getPackageSource https://codeload.github.com/jvoisin/snuffleupagus/tar.gz/v$installRemoteModule_version)" cd "$installRemoteModule_src/src" From 481100732ab58c85a4bccbf8c8ebc86d7c46c670 Mon Sep 17 00:00:00 2001 From: Michele Locati Date: Sat, 30 Sep 2023 21:09:27 +0200 Subject: [PATCH 09/10] Add support for memcached on Debian Bookworm (#807) --- data/special-requirements | 1 - install-php-extensions | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/data/special-requirements b/data/special-requirements index 9eb4e0eb..9c45e5c1 100644 --- a/data/special-requirements +++ b/data/special-requirements @@ -3,7 +3,6 @@ ddtrace !jessie ecma_intl !buster !bullseye geos !alpine3.9 !alpine3.10 lz4 !jessie -memcached !bookworm memprof !alpine3.9 !alpine3.10 !alpine3.11 !alpine3.12 !alpine3.13 !alpine3.14 !alpine3.15 parallel zts parle !jessie diff --git a/install-php-extensions b/install-php-extensions index f00e0f88..08ee780c 100755 --- a/install-php-extensions +++ b/install-php-extensions @@ -1032,6 +1032,9 @@ buildRequiredPackageLists() { memcached@debian) buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libmemcachedutil2" buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libmemcached-dev zlib1g-dev" + if test $DISTRO_MAJMIN_VERSION -ge 12; then + buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile $buildRequiredPackageLists_libssldev" + fi ;; mongo@alpine) buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libsasl $buildRequiredPackageLists_libssl" From 023145989d1b517d36e189a6bd316b50695fc3c9 Mon Sep 17 00:00:00 2001 From: Michele Locati Date: Sat, 30 Sep 2023 19:09:46 +0000 Subject: [PATCH 10/10] [skip ci] Automatically update README.md --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index fc7f890e..ba3c7f4c 100644 --- a/README.md +++ b/README.md @@ -246,7 +246,7 @@ install-php-extensions @fix_letsencrypt | maxminddb | | | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | mcrypt | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | memcache | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | -| memcached[*](#special-requirements-for-memcached) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | +| memcached | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | memprof[*](#special-requirements-for-memprof) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | mongo | ✓ | ✓ | | | | | | | | | | mongodb | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | @@ -425,7 +425,6 @@ Some extensions have special requirements: | ecma_intl | • Not available in `buster` docker images
• Not available in `bullseye` docker images | | geos | • Not available in `alpine3.9` docker images
• Not available in `alpine3.10` docker images | | lz4 | Not available in `jessie` docker images | -| memcached | Not available in `bookworm` docker images | | memprof | • Not available in `alpine3.9` docker images
• Not available in `alpine3.10` docker images
• Not available in `alpine3.11` docker images
• Not available in `alpine3.12` docker images
• Not available in `alpine3.13` docker images
• Not available in `alpine3.14` docker images
• Not available in `alpine3.15` docker images | | parallel | Requires images with PHP compiled with thread-safety enabled (`zts`) | | parle | Not available in `jessie` docker images |