Fix installing gd and vips at the same time (#955)

pull/957/head 2.3.5
Michele Locati 2024-08-08 09:43:34 +02:00 committed by GitHub
parent cfa74c52be
commit 3e2b610d74
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 65 additions and 28 deletions

View File

@ -662,9 +662,11 @@ expandASpellDictionaries() {
# PACKAGES_PERSISTENT_PRE the list of packages required at runtume that are already installed # PACKAGES_PERSISTENT_PRE the list of packages required at runtume that are already installed
# PACKAGES_VOLATILE the list of packages required at compile time that must be installed # PACKAGES_VOLATILE the list of packages required at compile time that must be installed
# PACKAGES_PREVIOUS the list of packages (with their version) that are installed right now (calculated only on Debian and only if PACKAGES_PERSISTENT_NEW or PACKAGES_VOLATILE are not empty) # PACKAGES_PREVIOUS the list of packages (with their version) that are installed right now (calculated only on Debian and only if PACKAGES_PERSISTENT_NEW or PACKAGES_VOLATILE are not empty)
# COMPILE_LIBS
buildRequiredPackageLists() { buildRequiredPackageLists() {
buildRequiredPackageLists_persistent='' buildRequiredPackageLists_persistent=''
buildRequiredPackageLists_volatile='' buildRequiredPackageLists_volatile=''
COMPILE_LIBS=''
case "$DISTRO" in case "$DISTRO" in
alpine) alpine)
apk update apk update
@ -844,6 +846,18 @@ buildRequiredPackageLists() {
case "${IPE_GD_WITHOUTAVIF:-}" in case "${IPE_GD_WITHOUTAVIF:-}" in
1 | y* | Y*) ;; 1 | y* | Y*) ;;
*) *)
if ! isLibaomInstalled; then
COMPILE_LIBS="$COMPILE_LIBS libaom"
fi
if ! isLibdav1dInstalled; then
COMPILE_LIBS="$COMPILE_LIBS libdav1d"
fi
if ! isLibyuvInstalled; then
COMPILE_LIBS="$COMPILE_LIBS libyuv"
fi
if ! isLibavifInstalled; then
COMPILE_LIBS="$COMPILE_LIBS libavif"
fi
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++" buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libstdc++"
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile cmake nasm meson" buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile cmake nasm meson"
;; ;;
@ -869,6 +883,18 @@ buildRequiredPackageLists() {
case "${IPE_GD_WITHOUTAVIF:-}" in case "${IPE_GD_WITHOUTAVIF:-}" in
1 | y* | Y*) ;; 1 | y* | Y*) ;;
*) *)
if ! isLibaomInstalled; then
COMPILE_LIBS="$COMPILE_LIBS libaom"
fi
if ! isLibdav1dInstalled; then
COMPILE_LIBS="$COMPILE_LIBS libdav1d"
fi
if ! isLibyuvInstalled; then
COMPILE_LIBS="$COMPILE_LIBS libyuv"
fi
if ! isLibavifInstalled; then
COMPILE_LIBS="$COMPILE_LIBS libavif"
fi
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile cmake nasm meson" buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile cmake nasm meson"
;; ;;
esac esac
@ -2472,6 +2498,22 @@ You may need to:
EOT EOT
} }
# Compile the libraries specified in the COMPILE_LIBS variable
compileLibs() {
if stringInList libaom "$COMPILE_LIBS"; then
installLibaom
fi
if stringInList libdav1d "$COMPILE_LIBS"; then
installLibdav1d
fi
if stringInList libyuv "$COMPILE_LIBS"; then
installLibyuv
fi
if stringInList libavif "$COMPILE_LIBS"; then
installLibavif
fi
}
# Install a bundled PHP module given its handle # Install a bundled PHP module given its handle
# #
# Arguments: # Arguments:
@ -2568,23 +2610,6 @@ EOF
;; ;;
esac esac
if test $installBundledModule_tmp -eq 0; then if test $installBundledModule_tmp -eq 0; then
case "${IPE_GD_WITHOUTAVIF:-}" in
1 | y* | Y*) ;;
*)
if ! isLibaomInstalled; then
installLibaom
fi
if ! isLibdav1dInstalled; then
installLibdav1d
fi
if ! isLibyuvInstalled; then
installLibyuv
fi
if ! isLibavifInstalled; then
installLibavif
fi
;;
esac
if isLibaomInstalled && isLibdav1dInstalled && isLibyuvInstalled && isLibavifInstalled; then if isLibaomInstalled && isLibdav1dInstalled && isLibyuvInstalled && isLibavifInstalled; then
installBundledModule_tmp=1 installBundledModule_tmp=1
fi fi
@ -4829,6 +4854,8 @@ if test $USE_PICKLE -gt 1; then
buildPickle buildPickle
fi fi
compileLibs
for PHP_MODULE_TO_INSTALL in $PHP_MODULES_TO_INSTALL; do for PHP_MODULE_TO_INSTALL in $PHP_MODULES_TO_INSTALL; do
case "$PHP_MODULE_TO_INSTALL" in case "$PHP_MODULE_TO_INSTALL" in
@fix_letsencrypt) @fix_letsencrypt)

View File

@ -127,13 +127,20 @@ filterUnsupportedExensionsForDistro() {
;; ;;
esac esac
for filterUnsupportedExensionsForDistro_extension in $EXTENSIONS_TO_BE_TESTED; do for filterUnsupportedExensionsForDistro_extensions in $EXTENSIONS_TO_BE_TESTED; do
if stringInList "!$IPETEST_DOCKER_DISTRO" "$(cat "$filterUnsupportedExensionsForDistro_reqs" | grep -E "^$filterUnsupportedExensionsForDistro_extension[ \t]")"; then filterUnsupportedExensionsForDistro_ok=1
printf 'Note: extension "%s" is not supported for distro "%s"\n' "$filterUnsupportedExensionsForDistro_extension" "$IPETEST_DOCKER_DISTRO" IFS='+'
elif stringInList "!$filterUnsupportedExensionsForDistro_baseDistro" "$(cat "$filterUnsupportedExensionsForDistro_reqs" | grep -E "^$filterUnsupportedExensionsForDistro_extension[ \t]")"; then for filterUnsupportedExensionsForDistro_extension in $filterUnsupportedExensionsForDistro_extensions; do
printf 'Note: extension "%s" is not supported for distro "%s"\n' "$filterUnsupportedExensionsForDistro_extension" "$filterUnsupportedExensionsForDistro_baseDistro" if stringInList "!$IPETEST_DOCKER_DISTRO" "$(cat "$filterUnsupportedExensionsForDistro_reqs" | grep -E "^$filterUnsupportedExensionsForDistro_extension[ \t]")"; then
else printf 'Note: extension "%s" is not supported for distro "%s"\n' "$filterUnsupportedExensionsForDistro_extension" "$IPETEST_DOCKER_DISTRO"
filterUnsupportedExensionsForDistro_filtered="$filterUnsupportedExensionsForDistro_filtered $filterUnsupportedExensionsForDistro_extension" filterUnsupportedExensionsForDistro_ok=0
elif stringInList "!$filterUnsupportedExensionsForDistro_baseDistro" "$(cat "$filterUnsupportedExensionsForDistro_reqs" | grep -E "^$filterUnsupportedExensionsForDistro_extension[ \t]")"; then
printf 'Note: extension "%s" is not supported for distro "%s"\n' "$filterUnsupportedExensionsForDistro_extension" "$filterUnsupportedExensionsForDistro_baseDistro"
filterUnsupportedExensionsForDistro_ok=0
fi
done
if test $filterUnsupportedExensionsForDistro_ok -eq 1; then
filterUnsupportedExensionsForDistro_filtered="$filterUnsupportedExensionsForDistro_filtered $filterUnsupportedExensionsForDistro_extensions"
fi fi
done done
resetIFS resetIFS
@ -164,10 +171,13 @@ getDockerImageName() {
getDockerImageName_reqs="$CI_BUILD_DIR/data/special-requirements" getDockerImageName_reqs="$CI_BUILD_DIR/data/special-requirements"
if test -f "$getDockerImageName_reqs"; then if test -f "$getDockerImageName_reqs"; then
IFS=' ' IFS=' '
for getDockerImageName_testExtension in $1; do for getDockerImageName_testExtensions in $1; do
if test -n "$(cat "$getDockerImageName_reqs" | grep -E "^$getDockerImageName_testExtension[ \t]+zts[ \t]*$")"; then IFS='+'
getDockerImageName_suffix='zts' for getDockerImageName_testExtension in $getDockerImageName_testExtensions; do
fi if test -n "$(cat "$getDockerImageName_reqs" | grep -E "^$getDockerImageName_testExtension[ \t]+zts[ \t]*$")"; then
getDockerImageName_suffix='zts'
fi
done
done done
fi fi
getDockerImageName_imageName="$(printf 'php:%s-%s-%s' "$getDockerImageName_version" "$getDockerImageName_suffix" "$IPETEST_DOCKER_DISTRO")" getDockerImageName_imageName="$(printf 'php:%s-%s-%s' "$getDockerImageName_version" "$getDockerImageName_suffix" "$IPETEST_DOCKER_DISTRO")"