Simplify installPECLModule

pull/153/head
Michele Locati 2020-07-27 12:19:04 +02:00
parent 405b1a3a01
commit 12844b49ab
No known key found for this signature in database
GPG Key ID: 98B7CE2E7234E28B
1 changed files with 79 additions and 80 deletions

View File

@ -1022,25 +1022,24 @@ installModuleFromSource() {
# Install a PECL PHP module given its handle # Install a PECL PHP module given its handle
# #
# Arguments: # Arguments:
# $1: the numeric PHP Major-Minor version # $1: the handle of the PHP module
# $2: the handle of the PHP module
installPECLModule() { installPECLModule() {
printf '### INSTALLING PECL MODULE %s ###\n' "$2" printf '### INSTALLING PECL MODULE %s ###\n' "$1"
installPECLModule_actual="$2" installPECLModule_actual="$1"
installPECLModule_stdin='\n' installPECLModule_stdin='\n'
installPECLModule_manuallyInstalled=0 installPECLModule_manuallyInstalled=0
case "$2" in case "$1" in
amqp) amqp)
case "$DISTRO_VERSION" in case "$DISTRO_VERSION" in
debian@8) debian@8)
# in Debian Jessie we have librammitmq version 0.5.2 # in Debian Jessie we have librammitmq version 0.5.2
installPECLModule_actual="$2-1.9.3" installPECLModule_actual="$1-1.9.3"
;; ;;
esac esac
;; ;;
apcu) apcu)
if test $1 -le 506; then if test $PHP_MAJMIN_VERSION -le 506; then
installPECLModule_actual="$2-4.0.11" installPECLModule_actual="$1-4.0.11"
fi fi
;; ;;
decimal) decimal)
@ -1056,14 +1055,14 @@ installPECLModule() {
esac esac
;; ;;
gmagick) gmagick)
if test $1 -le 506; then if test $PHP_MAJMIN_VERSION -le 506; then
installPECLModule_actual="$2-1.1.7RC3" installPECLModule_actual="$1-1.1.7RC3"
else else
installPECLModule_actual="$2-beta" installPECLModule_actual="$1-beta"
fi fi
;; ;;
http) http)
if test $1 -le 506; then if test $PHP_MAJMIN_VERSION -le 506; then
installPECLModule_actual="pecl_http-2.6.0" installPECLModule_actual="pecl_http-2.6.0"
else else
installPECLModule_actual="pecl_http" installPECLModule_actual="pecl_http"
@ -1077,23 +1076,23 @@ installPECLModule() {
fi fi
;; ;;
igbinary) igbinary)
if test $1 -lt 700; then if test $PHP_MAJMIN_VERSION -lt 700; then
installPECLModule_actual="$2-2.0.8" installPECLModule_actual="$1-2.0.8"
fi fi
;; ;;
memcache) memcache)
if test $1 -lt 700; then if test $PHP_MAJMIN_VERSION -lt 700; then
installPECLModule_actual="$2-2.2.7" installPECLModule_actual="$1-2.2.7"
fi fi
;; ;;
mailparse) mailparse)
if test $1 -lt 700; then if test $PHP_MAJMIN_VERSION -lt 700; then
installPECLModule_actual="$2-2.1.6" installPECLModule_actual="$1-2.1.6"
fi fi
;; ;;
memcached) memcached)
if test $1 -lt 700; then if test $PHP_MAJMIN_VERSION -lt 700; then
installPECLModule_actual="$2-2.2.0" installPECLModule_actual="$1-2.2.0"
# --with-libmemcached-dir (default: no) Set the path to libmemcached install prefix # --with-libmemcached-dir (default: no) Set the path to libmemcached install prefix
else else
installPECLModule_stdin='' installPECLModule_stdin=''
@ -1123,23 +1122,23 @@ installPECLModule() {
installPECLModule_stdin="${installPECLModule_stdin}yes\n" installPECLModule_stdin="${installPECLModule_stdin}yes\n"
;; ;;
mongodb) mongodb)
if test $1 -le 505; then if test $PHP_MAJMIN_VERSION -le 505; then
installPECLModule_actual="$2-1.5.5" installPECLModule_actual="$1-1.5.5"
fi fi
;; ;;
msgpack) msgpack)
if test $1 -le 506; then if test $PHP_MAJMIN_VERSION -le 506; then
installPECLModule_actual="$2-0.5.7" installPECLModule_actual="$1-0.5.7"
fi fi
;; ;;
oauth) oauth)
if test $1 -le 506; then if test $PHP_MAJMIN_VERSION -le 506; then
installPECLModule_actual="$2-1.2.3" installPECLModule_actual="$1-1.2.3"
fi fi
;; ;;
opencensus) opencensus)
if test $1 -le 702; then if test $PHP_MAJMIN_VERSION -le 702; then
installPECLModule_actual="$2-alpha" installPECLModule_actual="$1-alpha"
else else
installPECLModule_manuallyInstalled=1 installPECLModule_manuallyInstalled=1
installPECLModule_src="$(getPackageSource https://pecl.php.net/get/opencensus)" installPECLModule_src="$(getPackageSource https://pecl.php.net/get/opencensus)"
@ -1152,41 +1151,41 @@ installPECLModule() {
fi fi
;; ;;
parallel) parallel)
if test $1 -le 701; then if test $PHP_MAJMIN_VERSION -le 701; then
installPECLModule_actual="$2-0.8.3" installPECLModule_actual="$1-0.8.3"
fi fi
;; ;;
pcov) pcov)
if test $1 -lt 701; then if test $PHP_MAJMIN_VERSION -lt 701; then
installPECLModule_actual="$2-0.9.0" installPECLModule_actual="$1-0.9.0"
fi fi
;; ;;
pdo_sqlsrv | sqlsrv) pdo_sqlsrv | sqlsrv)
# https://docs.microsoft.com/it-it/sql/connect/php/system-requirements-for-the-php-sql-driver?view=sql-server-2017 # https://docs.microsoft.com/it-it/sql/connect/php/system-requirements-for-the-php-sql-driver?view=sql-server-2017
if test $1 -le 700; then if test $PHP_MAJMIN_VERSION -le 700; then
installPECLModule_actual="$2-5.3.0" installPECLModule_actual="$1-5.3.0"
elif test $1 -le 701; then elif test $PHP_MAJMIN_VERSION -le 701; then
installPECLModule_actual="$2-5.6.1" installPECLModule_actual="$1-5.6.1"
fi fi
;; ;;
propro) propro)
if test $1 -lt 700; then if test $PHP_MAJMIN_VERSION -lt 700; then
installPECLModule_actual="$2-1.0.2" installPECLModule_actual="$1-1.0.2"
fi fi
;; ;;
pthreads) pthreads)
if test $1 -lt 700; then if test $PHP_MAJMIN_VERSION -lt 700; then
installPECLModule_actual="$2-2.0.10" installPECLModule_actual="$1-2.0.10"
fi fi
;; ;;
raphf) raphf)
if test $1 -lt 700; then if test $PHP_MAJMIN_VERSION -lt 700; then
installPECLModule_actual="$2-1.1.2" installPECLModule_actual="$1-1.1.2"
fi fi
;; ;;
rdkafka) rdkafka)
if test $1 -le 505; then if test $PHP_MAJMIN_VERSION -le 505; then
installPECLModule_actual="$2-3.0.5" installPECLModule_actual="$1-3.0.5"
else else
installPECLModule_tmp= installPECLModule_tmp=
case "$DISTRO" in case "$DISTRO" in
@ -1201,7 +1200,7 @@ installPECLModule() {
installPECLModule_tmp="$(getInstalledPackageVersion "$installPECLModule_tmp")" installPECLModule_tmp="$(getInstalledPackageVersion "$installPECLModule_tmp")"
if test -n "$installPECLModule_tmp"; then if test -n "$installPECLModule_tmp"; then
if test $(compareVersions "$installPECLModule_tmp" '0.11.0') -lt 0; then if test $(compareVersions "$installPECLModule_tmp" '0.11.0') -lt 0; then
installPECLModule_actual="$2-3.1.3" installPECLModule_actual="$1-3.1.3"
fi fi
fi fi
fi fi
@ -1212,8 +1211,8 @@ installPECLModule() {
php --ri igbinary >/dev/null 2>/dev/null && installPECLModule_stdin='yes\n' || installPECLModule_stdin='no\n' php --ri igbinary >/dev/null 2>/dev/null && installPECLModule_stdin='yes\n' || installPECLModule_stdin='no\n'
# enable lzf compression support? # enable lzf compression support?
installPECLModule_stdin="${installPECLModule_stdin}yes\n" installPECLModule_stdin="${installPECLModule_stdin}yes\n"
if test $1 -le 506; then if test $PHP_MAJMIN_VERSION -le 506; then
installPECLModule_actual="$2-4.3.0" installPECLModule_actual="$1-4.3.0"
else else
installPECLModule_machine=$(gcc -dumpmachine) installPECLModule_machine=$(gcc -dumpmachine)
if ! test -e /usr/include/zstd.h || ! test -e /usr/lib/libzstd.so -o -e "/usr/lib/$installPECLModule_machine/libzstd.so"; then if ! test -e /usr/include/zstd.h || ! test -e /usr/lib/libzstd.so -o -e "/usr/lib/$installPECLModule_machine/libzstd.so"; then
@ -1235,13 +1234,13 @@ installPECLModule() {
fi fi
;; ;;
solr) solr)
if test $1 -le 506; then if test $PHP_MAJMIN_VERSION -le 506; then
installPECLModule_actual="$2-2.4.0" installPECLModule_actual="$1-2.4.0"
fi fi
;; ;;
ssh2) ssh2)
if test $1 -le 506; then if test $PHP_MAJMIN_VERSION -le 506; then
installPECLModule_actual="$2-0.13" installPECLModule_actual="$1-0.13"
else else
# see https://bugs.php.net/bug.php?id=78560 # see https://bugs.php.net/bug.php?id=78560
installPECLModule_actual='https://pecl.php.net/get/ssh2' installPECLModule_actual='https://pecl.php.net/get/ssh2'
@ -1271,64 +1270,64 @@ installPECLModule() {
installPECLModule_manuallyInstalled=1 installPECLModule_manuallyInstalled=1
;; ;;
uuid) uuid)
if test $1 -le 506; then if test $PHP_MAJMIN_VERSION -le 506; then
installPECLModule_actual="$2-1.0.5" installPECLModule_actual="$1-1.0.5"
fi fi
;; ;;
xdebug) xdebug)
if test $1 -le 500; then if test $PHP_MAJMIN_VERSION -le 500; then
installPECLModule_actual="$2-2.0.5" installPECLModule_actual="$1-2.0.5"
elif test $1 -le 503; then elif test $PHP_MAJMIN_VERSION -le 503; then
installPECLModule_actual="$2-2.2.7" installPECLModule_actual="$1-2.2.7"
elif test $1 -le 504; then elif test $PHP_MAJMIN_VERSION -le 504; then
installPECLModule_actual="$2-2.4.1" installPECLModule_actual="$1-2.4.1"
elif test $1 -le 506; then elif test $PHP_MAJMIN_VERSION -le 506; then
installPECLModule_actual="$2-2.5.5" installPECLModule_actual="$1-2.5.5"
elif test $1 -le 700; then elif test $PHP_MAJMIN_VERSION -le 700; then
installPECLModule_actual="$2-2.6.1" installPECLModule_actual="$1-2.6.1"
fi fi
;; ;;
uopz) uopz)
if test $1 -lt 700; then if test $PHP_MAJMIN_VERSION -lt 700; then
installPECLModule_actual="$2-2.0.7" installPECLModule_actual="$1-2.0.7"
elif test $1 -lt 701; then elif test $PHP_MAJMIN_VERSION -lt 701; then
installPECLModule_actual="$2-5.0.2" installPECLModule_actual="$1-5.0.2"
fi fi
;; ;;
xhprof) xhprof)
if test $1 -le 506; then if test $PHP_MAJMIN_VERSION -le 506; then
installPECLModule_actual="$2-0.9.4" installPECLModule_actual="$1-0.9.4"
fi fi
;; ;;
yaml) yaml)
if test $1 -lt 700; then if test $PHP_MAJMIN_VERSION -lt 700; then
installPECLModule_actual="$2-1.3.1" installPECLModule_actual="$1-1.3.1"
elif test $1 -lt 701; then elif test $PHP_MAJMIN_VERSION -lt 701; then
installPECLModule_actual="$2-2.0.4" installPECLModule_actual="$1-2.0.4"
fi fi
;; ;;
esac esac
if test $installPECLModule_manuallyInstalled -eq 0; then if test $installPECLModule_manuallyInstalled -eq 0; then
if test "$2" != "$installPECLModule_actual"; then if test "$1" != "$installPECLModule_actual"; then
printf ' (installing version %s)\n' "$installPECLModule_actual" printf ' (installing version %s)\n' "$installPECLModule_actual"
fi fi
printf "$installPECLModule_stdin" | pecl install "$installPECLModule_actual" printf "$installPECLModule_stdin" | pecl install "$installPECLModule_actual"
fi fi
case "$2" in case "$1" in
apcu_bc) apcu_bc)
# apcu_bc must be loaded after apcu # apcu_bc must be loaded after apcu
docker-php-ext-enable --ini-name "xx-php-ext-$2.ini" apc docker-php-ext-enable --ini-name "xx-php-ext-$1.ini" apc
;; ;;
http) http)
# http must be loaded after raphf and propro # http must be loaded after raphf and propro
docker-php-ext-enable --ini-name "xx-php-ext-$2.ini" "$2" docker-php-ext-enable --ini-name "xx-php-ext-$1.ini" "$1"
;; ;;
memcached) memcached)
# memcached must be loaded after msgpack # memcached must be loaded after msgpack
docker-php-ext-enable --ini-name "xx-php-ext-$2.ini" "$2" docker-php-ext-enable --ini-name "xx-php-ext-$1.ini" "$1"
;; ;;
*) *)
docker-php-ext-enable "$2" docker-php-ext-enable "$1"
;; ;;
esac esac
} }
@ -1464,7 +1463,7 @@ for PHP_MODULE_TO_INSTALL in $PHP_MODULES_TO_INSTALL; do
if test -n "$MODULE_SOURCE"; then if test -n "$MODULE_SOURCE"; then
installModuleFromSource "$PHP_MODULE_TO_INSTALL" "$MODULE_SOURCE" "$MODULE_SOURCE_CONFIGOPTIONS" "$MODULE_SOURCE_CFLAGS" installModuleFromSource "$PHP_MODULE_TO_INSTALL" "$MODULE_SOURCE" "$MODULE_SOURCE_CONFIGOPTIONS" "$MODULE_SOURCE_CFLAGS"
else else
installPECLModule $PHP_MAJMIN_VERSION "$PHP_MODULE_TO_INSTALL" installPECLModule "$PHP_MODULE_TO_INSTALL"
fi fi
fi fi
done done