Support for using pickle as drop in for pecl on php 8

This commit is contained in:
Fred Cox 2020-09-18 14:05:53 +03:00
parent 4811e7961f
commit 7ce97ab6ed
3 changed files with 73 additions and 47 deletions

View File

@ -1,81 +1,81 @@
amqp 5.5 5.6 7.0 7.1 7.2 7.3 7.4
apcu 5.5 5.6 7.0 7.1 7.2 7.3 7.4
apcu_bc 7.0 7.1 7.2 7.3 7.4
bcmath 5.5 5.6 7.0 7.1 7.2 7.3 7.4
bz2 5.5 5.6 7.0 7.1 7.2 7.3 7.4
calendar 5.5 5.6 7.0 7.1 7.2 7.3 7.4
apcu 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
apcu_bc 7.0 7.1 7.2 7.3 7.4 8.0
bcmath 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
bz2 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
calendar 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
cmark 7.0 7.1 7.2 7.3 7.4
dba 5.5 5.6 7.0 7.1 7.2 7.3 7.4
dba 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
decimal 7.0 7.1 7.2 7.3 7.4
enchant 5.5 5.6 7.0 7.1 7.2 7.3 7.4
exif 5.5 5.6 7.0 7.1 7.2 7.3 7.4
ffi 7.4
enchant 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
exif 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
ffi 7.4 8.0
gd 5.5 5.6 7.0 7.1 7.2 7.3 7.4
gettext 5.5 5.6 7.0 7.1 7.2 7.3 7.4
gettext 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
gmagick 5.5 5.6 7.0 7.1 7.2 7.3 7.4
gmp 5.5 5.6 7.0 7.1 7.2 7.3 7.4
gmp 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
grpc 5.5 5.6 7.0 7.1 7.2 7.3 7.4
http 5.5 5.6 7.0 7.1 7.2 7.3 7.4
igbinary 5.5 5.6 7.0 7.1 7.2 7.3 7.4
igbinary 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
imagick 5.5 5.6 7.0 7.1 7.2 7.3 7.4
imap 5.5 5.6 7.0 7.1 7.2 7.3 7.4
imap 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
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
ldap 5.5 5.6 7.0 7.1 7.2 7.3 7.4
mailparse 5.5 5.6 7.0 7.1 7.2 7.3 7.4
intl 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
ldap 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
mailparse 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
mcrypt 5.5 5.6 7.0 7.1 7.2 7.3 7.4
memcache 5.5 5.6 7.0 7.1 7.2 7.3 7.4
memcached 5.5 5.6 7.0 7.1 7.2 7.3 7.4
memcached 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
mongo 5.5 5.6
mongodb 5.5 5.6 7.0 7.1 7.2 7.3 7.4
msgpack 5.5 5.6 7.0 7.1 7.2 7.3 7.4
mssql 5.5 5.6
mysql 5.5 5.6
mysqli 5.5 5.6 7.0 7.1 7.2 7.3 7.4
mysqli 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
oauth 5.5 5.6 7.0 7.1 7.2 7.3 7.4
odbc 5.5 5.6 7.0 7.1 7.2 7.3 7.4
opcache 5.5 5.6 7.0 7.1 7.2 7.3 7.4
opcache 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
opencensus 7.0 7.1 7.2 7.3 7.4
parallel 7.1 7.2 7.3 7.4
pcntl 5.5 5.6 7.0 7.1 7.2 7.3 7.4
pcov 7.0 7.1 7.2 7.3 7.4
pcntl 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
pcov 7.0 7.1 7.2 7.3 7.4 8.0
pdo_dblib 5.5 5.6 7.0 7.1 7.2 7.3 7.4
pdo_firebird 5.5 5.6 7.0 7.1 7.2 7.3 7.4
pdo_mysql 5.5 5.6 7.0 7.1 7.2 7.3 7.4
pdo_odbc 5.5 5.6 7.0 7.1 7.2 7.3 7.4
pdo_pgsql 5.5 5.6 7.0 7.1 7.2 7.3 7.4
pdo_firebird 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
pdo_mysql 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
pdo_odbc 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
pdo_pgsql 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
pdo_sqlsrv 7.0 7.1 7.2 7.3 7.4
pgsql 5.5 5.6 7.0 7.1 7.2 7.3 7.4
pgsql 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
propro 5.5 5.6 7.0 7.1 7.2 7.3 7.4
protobuf 5.5 5.6 7.0 7.1 7.2 7.3 7.4
pspell 5.5 5.6 7.0 7.1 7.2 7.3 7.4
protobuf 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
pspell 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
pthreads 5.5 5.6 7.0
raphf 5.5 5.6 7.0 7.1 7.2 7.3 7.4
raphf 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
rdkafka 5.5 5.6 7.0 7.1 7.2 7.3 7.4
recode 5.5 5.6 7.0 7.1 7.2 7.3
redis 5.5 5.6 7.0 7.1 7.2 7.3 7.4
shmop 5.5 5.6 7.0 7.1 7.2 7.3 7.4
shmop 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
snuffleupagus 7.0 7.1 7.2 7.3 7.4
snmp 5.5 5.6 7.0 7.1 7.2 7.3 7.4
soap 5.5 5.6 7.0 7.1 7.2 7.3 7.4
sockets 5.5 5.6 7.0 7.1 7.2 7.3 7.4
solr 5.5 5.6 7.0 7.1 7.2 7.3 7.4
snmp 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
soap 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
sockets 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
solr 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
sqlsrv 7.0 7.1 7.2 7.3 7.4
ssh2 5.5 5.6 7.0 7.1 7.2 7.3 7.4
sybase_ct 5.5 5.6
sysvmsg 5.5 5.6 7.0 7.1 7.2 7.3 7.4
sysvsem 5.5 5.6 7.0 7.1 7.2 7.3 7.4
sysvshm 5.5 5.6 7.0 7.1 7.2 7.3 7.4
sysvmsg 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
sysvsem 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
sysvshm 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
tdlib 7.0 7.1 7.2 7.3 7.4
tidy 5.5 5.6 7.0 7.1 7.2 7.3 7.4
timezonedb 5.5 5.6 7.0 7.1 7.2 7.3 7.4
tidy 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
timezonedb 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
uopz 5.5 5.6 7.0 7.1 7.2 7.3 7.4
uuid 5.5 5.6 7.0 7.1 7.2 7.3 7.4
uuid 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
wddx 5.5 5.6 7.0 7.1 7.2 7.3
xdebug 5.5 5.6 7.0 7.1 7.2 7.3 7.4
xhprof 5.5 5.6 7.0 7.1 7.2 7.3 7.4
xmlrpc 5.5 5.6 7.0 7.1 7.2 7.3 7.4
xsl 5.5 5.6 7.0 7.1 7.2 7.3 7.4
xsl 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
yaml 5.5 5.6 7.0 7.1 7.2 7.3 7.4
zip 5.5 5.6 7.0 7.1 7.2 7.3 7.4
zip 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
zookeeper 5.5 5.6 7.0 7.1 7.2 7.3 7.4

View File

@ -1355,8 +1355,7 @@ installPECLModule() {
if test "$1" != "$installPECLModule_actual"; then
printf ' (installing version %s)\n' "$installPECLModule_actual"
fi
pecl channel-update pecl.php.net || true
printf "$installPECLModule_stdin" | MAKE="make -j$(getCompilationProcessorCount $1)" pecl install "$installPECLModule_actual"
printf "$installPECLModule_stdin" | MAKE="make -j$(getCompilationProcessorCount $1)" $PECL_COMMAND "$installPECLModule_actual"
fi
case "$1" in
apcu_bc)
@ -1377,6 +1376,27 @@ installPECLModule() {
esac
}
# Installs pickle to use instead of pecl
# and add the zip extension that it requires, making sure its installed first
installPickle() {
for PHP_MODULE_TO_INSTALL in $PHP_MODULES_TO_INSTALL; do
if ! stringInList "$PHP_MODULE_TO_INSTALL" "$BUNDLED_MODULES"; then
if test $PHP_MAJMIN_VERSION -lt 800; then
pecl channel-update pecl.php.net || true
PECL_COMMAND="pecl install"
return
fi
curl -L -f https://github.com/FriendsOfPHP/pickle/releases/latest/download/pickle.phar -o /tmp/pickle
chmod +x /tmp/pickle
if ! stringInList 'zip' "$(getPHPInstalledModules)"; then
PHP_MODULES_TO_INSTALL="zip $(removeStringFromList 'zip' "$PHP_MODULES_TO_INSTALL")"
fi
PECL_COMMAND="/tmp/pickle install --defaults"
return
fi
done
}
# Check if a string is in a list of space-separated string
#
# Arguments:
@ -1457,6 +1477,7 @@ cleanup() {
docker-php-source delete
rm -rf /tmp/pear
rm -rf /tmp/src
rm -rf /tmp/pickle
}
resetIFS
@ -1465,7 +1486,7 @@ IPE_ERRFLAG_FILE="$(mktemp -p /tmp/src)"
setDistro
setPHPMajorMinor
case "$PHP_MAJMIN_VERSION" in
505 | 506 | 700 | 701 | 702 | 703 | 704) ;;
505 | 506 | 700 | 701 | 702 | 703 | 704 | 800) ;;
*)
printf "### ERROR: Unsupported PHP version: %s.%s ###\n" $((PHP_MAJMIN_VERSION / 100)) $((PHP_MAJMIN_VERSION % 100))
;;
@ -1479,12 +1500,14 @@ fi
sortModulesToInstall
docker-php-source extract
BUNDLED_MODULES="$(find /usr/src/php/ext -mindepth 2 -maxdepth 2 -type f -name 'config.m4' | xargs -n1 dirname | xargs -n1 basename | xargs)"
installPickle
buildRequiredPackageLists $PHP_MODULES_TO_INSTALL
if test -n "$PACKAGES_PERSISTENT$PACKAGES_VOLATILE"; then
installRequiredPackages
fi
docker-php-source extract
BUNDLED_MODULES="$(find /usr/src/php/ext -mindepth 2 -maxdepth 2 -type f -name 'config.m4' | xargs -n1 dirname | xargs -n1 basename | xargs)"
for PHP_MODULE_TO_INSTALL in $PHP_MODULES_TO_INSTALL; do
if stringInList "$PHP_MODULE_TO_INSTALL" "$BUNDLED_MODULES"; then
installBundledModule "$PHP_MODULE_TO_INSTALL"

View File

@ -109,6 +109,9 @@ filterUnsupportedExensionsForDistro() {
# the full docker image ID
getDockerImageName() {
case "$2" in
8.0)
getDockerImageName_version="$2-rc"
;;
*)
getDockerImageName_version="$2"
;;