mod_php_install.sh: some changes to support php 7.4 and other changes.

This commit is contained in:
2026-03-05 01:57:18 +01:00
parent 221371c23b
commit 90bf4da168

View File

@@ -557,114 +557,54 @@ IFS='.' read -r major minor patch <<< "$VERSION"
declare -i PHP_VERSION_NUM=$((10#$major * 10000 + 10#$minor * 100 + 10#$patch)) declare -i PHP_VERSION_NUM=$((10#$major * 10000 + 10#$minor * 100 + 10#$patch))
declare -i PHP_MAIN_VERSION_NUM=$((10#$major * 10000 + 10#$minor * 100)) declare -i PHP_MAIN_VERSION_NUM=$((10#$major * 10000 + 10#$minor * 100))
# version helper scripts # =============================
# # Version Helper Funktionen
# =============================
# ----------------------------
# Vollversion → numerische Zahl
# ----------------------------
version_to_number() { version_to_number() {
local a b c local ver=${1:-$VERSION}
IFS='.' read -r a b c <<< "$1" local a b c
echo $((10#$a * 10000 + 10#$b * 100 + 10#${c:-0})) IFS='.' read -r a b c <<< "$ver"
echo $((10#$a * 10000 + 10#$b * 100 + 10#${c:-0}))
} }
version_eq() { # Vergleichsfunktionen für volle Versionen
local v1=$(version_to_number "$1") version_eq() { local ref=$1; (( $(version_to_number "$VERSION") == $(version_to_number "$ref") )); }
local v2=$(version_to_number "$2") version_lt() { local ref=$1; (( $(version_to_number "$VERSION") < $(version_to_number "$ref") )); }
(( v1 == v2 )) version_le() { local ref=$1; (( $(version_to_number "$VERSION") <= $(version_to_number "$ref") )); }
} version_gt() { local ref=$1; (( $(version_to_number "$VERSION") > $(version_to_number "$ref") )); }
version_ge() { local ref=$1; (( $(version_to_number "$VERSION") >= $(version_to_number "$ref") )); }
version_lt() { version_num() { version_to_number "${1:-$VERSION}"; }
local v1=$(version_to_number "$1")
local v2=$(version_to_number "$2")
(( v1 < v2 ))
}
version_le() {
local v1=$(version_to_number "$1")
local v2=$(version_to_number "$2")
(( v1 <= v2 ))
}
version_gt() { # ----------------------------
local v1=$(version_to_number "$1") # Main-Versionnumerische Zahl (Major*100 + Minor)
local v2=$(version_to_number "$2") # ----------------------------
(( v1 > v2 )) main_version_to_number() {
} local ver=${1:-$PHP_MAIN_VERSION}
IFS='.' read -r a b _ <<< "$ver"
version_ge() {
local v1=$(version_to_number "$1")
local v2=$(version_to_number "$2")
(( v1 >= v2 ))
}
main_version_eq() {
local a b x y
IFS='.' read -r a b _ <<< "$1"
IFS='.' read -r x y _ <<< "$2"
local v1=$((10#$a * 100 + 10#$b))
local v2=$((10#$x * 100 + 10#$y))
(( v1 == v2 ))
}
main_version_lt() {
local a b x y
IFS='.' read -r a b _ <<< "$1"
IFS='.' read -r x y _ <<< "$2"
local v1=$((10#$a * 100 + 10#$b))
local v2=$((10#$x * 100 + 10#$y))
(( v1 < v2 ))
}
main_version_le() {
local a b x y
IFS='.' read -r a b _ <<< "$1"
IFS='.' read -r x y _ <<< "$2"
local v1=$((10#$a * 100 + 10#$b))
local v2=$((10#$x * 100 + 10#$y))
(( v1 <= v2 ))
}
main_version_gt() {
local a b x y
IFS='.' read -r a b _ <<< "$1"
IFS='.' read -r x y _ <<< "$2"
local v1=$((10#$a * 100 + 10#$b))
local v2=$((10#$x * 100 + 10#$y))
(( v1 > v2 ))
}
main_version_ge() {
local a b x y
IFS='.' read -r a b _ <<< "$1"
IFS='.' read -r x y _ <<< "$2"
local v1=$((10#$a * 100 + 10#$b))
local v2=$((10#$x * 100 + 10#$y))
(( v1 <= v2 ))
}
# --- Hauptversion in numerischer Form (Major*100 + Minor)
main_version_num() {
local a b
IFS='.' read -r a b _ <<< "$1"
echo $((10#$a * 100 + 10#$b)) echo $((10#$a * 100 + 10#$b))
} }
# --- Vollständige Version in numerischer Form (Major*10000 + Minor*100 + Patch) # Vergleichsfunktionen für Main-Versionen
version_num() { main_version_eq() { local ref=$1; (( $(main_version_to_number "$PHP_MAIN_VERSION") == $(main_version_to_number "$ref") )); }
version_to_number "$1" main_version_lt() { local ref=$1; (( $(main_version_to_number "$PHP_MAIN_VERSION") < $(main_version_to_number "$ref") )); }
} main_version_le() { local ref=$1; (( $(main_version_to_number "$PHP_MAIN_VERSION") <= $(main_version_to_number "$ref") )); }
main_version_gt() { local ref=$1; (( $(main_version_to_number "$PHP_MAIN_VERSION") > $(main_version_to_number "$ref") )); }
main_version_ge() { local ref=$1; (( $(main_version_to_number "$PHP_MAIN_VERSION") >= $(main_version_to_number "$ref") )); }
main_version_num() { main_version_to_number "${1:-$PHP_MAIN_VERSION}"; }
# Since version 7.4 package 'libsqlite3-dev' is needed # Since version 7.4 package 'libsqlite3-dev' is needed
# Since version 7.4 package 'libonig-dev' is needed # Since version 7.4 package 'libonig-dev' is needed
# #
#if (( PHP_MAIN_VERSION_NUM >= 70400 )); then #if (( PHP_MAIN_VERSION_NUM >= 70400 )); then
if version_ge "$VERSION" "7.4.0"; then if version_ge "7.4.0"; then
needed_debian_packages="$needed_debian_packages needed_debian_packages="$needed_debian_packages
libsqlite3-dev libsqlite3-dev
libonig-dev" libonig-dev"
@@ -673,18 +613,18 @@ fi
# - A hack, because configure don't work with systemd on version 5.4.x # - A hack, because configure don't work with systemd on version 5.4.x
## - ## -
#if (( PHP_MAIN_VERSION_NUM == 50400 )) ; then #if (( PHP_MAIN_VERSION_NUM == 50400 )) ; then
if main_version_eq "${VERSION}" "5.4"; then if main_version_eq "5.4"; then
SYSTEMD_EXISTS=false SYSTEMD_EXISTS=false
fi fi
## - Let make use multiple cores (-j<number of cores +1>) ## - Let make use multiple cores (-j<number of cores +1>)
## - ## -
if ! main_version_eq "$VERSION" "5.4"; then if ! main_version_eq "5.4"; then
export MAKEFLAGS=-j$(expr `grep "^processor" /proc/cpuinfo | sort -u | wc -l` + 1) export MAKEFLAGS=-j$(expr `grep "^processor" /proc/cpuinfo | sort -u | wc -l` + 1)
else else
unset MAKEFLAGS unset MAKEFLAGS
fi fi
if main_version_eq "$VERSION" "5.6" && if main_version_eq "5.6" &&
(( os_version >= 13 )) && (( os_version >= 13 )) &&
[[ "$os_dist" == "debian" ]] ; then [[ "$os_dist" == "debian" ]] ; then
@@ -701,7 +641,7 @@ if main_version_eq "$VERSION" "5.6" &&
\t cyrus-sasl compiled against openssl 1.1 \t cyrus-sasl compiled against openssl 1.1
\t openldap compiled against cyrus-sasl" \t openldap compiled against cyrus-sasl"
elif main_version_eq "$VERSION" "5.6" && elif main_version_eq "5.6" &&
(( os_version >= 12 )) && (( os_version >= 12 )) &&
[[ "$os_dist" == "debian" ]] ; then [[ "$os_dist" == "debian" ]] ; then
@@ -712,7 +652,7 @@ elif main_version_eq "$VERSION" "5.6" &&
\t icu4c (libicu) \t icu4c (libicu)
\t openssl v 1.1.1" \t openssl v 1.1.1"
elif main_version_eq "$VERSION" "5.6" && elif main_version_eq "5.6" &&
(( os_version >= 10 )) && (( os_version >= 10 )) &&
[[ "$os_dist" == "debian" ]] ; then [[ "$os_dist" == "debian" ]] ; then
@@ -6067,7 +6007,7 @@ fi
_patch_file="php-5.6-zlib-1.2.11.patch" _patch_file="php-5.6-zlib-1.2.11.patch"
echononl "\tApply ${_patch_file}" echononl "\tApply ${_patch_file}"
if main_version_le "$VERSION" "7.3" && (( os_version >= 13 )); then if main_version_le "7.3" && (( os_version >= 13 )); then
if [[ -f "${_srcdir}/${_patch_file}" ]] ; then if [[ -f "${_srcdir}/${_patch_file}" ]] ; then
patch -d $_builddir -p0 < ${_srcdir}/${_patch_file} > $tmp_err_msg 2>&1 patch -d $_builddir -p0 < ${_srcdir}/${_patch_file} > $tmp_err_msg 2>&1
if [[ $? -eq 0 ]]; then if [[ $? -eq 0 ]]; then
@@ -6108,7 +6048,7 @@ fi
_patch_file="php-5.6-libmagic.patch" _patch_file="php-5.6-libmagic.patch"
echononl "\tApply ${_patch_file}" echononl "\tApply ${_patch_file}"
if main_version_le "$VERSION" "7.3" && (( os_version >= 13 )); then if main_version_le "7.3" && (( os_version >= 13 )); then
if [[ -f "${_srcdir}/${_patch_file}" ]] ; then if [[ -f "${_srcdir}/${_patch_file}" ]] ; then
patch -d $_builddir -p0 < ${_srcdir}/${_patch_file} > $tmp_err_msg 2>&1 patch -d $_builddir -p0 < ${_srcdir}/${_patch_file} > $tmp_err_msg 2>&1
if [[ $? -eq 0 ]]; then if [[ $? -eq 0 ]]; then
@@ -6149,7 +6089,7 @@ fi
_patch_file="php-5.6-mbfl_encoding.patch" _patch_file="php-5.6-mbfl_encoding.patch"
echononl "\tApply ${_patch_file}" echononl "\tApply ${_patch_file}"
if main_version_le "$VERSION" "7.3" && (( os_version >= 13 )); then if main_version_le "7.3" && (( os_version >= 13 )); then
if [[ -f "${_srcdir}/${_patch_file}" ]] ; then if [[ -f "${_srcdir}/${_patch_file}" ]] ; then
patch -d $_builddir -p0 < ${_srcdir}/${_patch_file} > $tmp_err_msg 2>&1 patch -d $_builddir -p0 < ${_srcdir}/${_patch_file} > $tmp_err_msg 2>&1
if [[ $? -eq 0 ]]; then if [[ $? -eq 0 ]]; then
@@ -6190,7 +6130,7 @@ fi
_patch_file="php-5.6-mbfl_put_invalid_char.patch" _patch_file="php-5.6-mbfl_put_invalid_char.patch"
echononl "\tApply ${_patch_file}" echononl "\tApply ${_patch_file}"
if main_version_le "$VERSION" "7.3" && (( os_version >= 13 )); then if main_version_le "7.3" && (( os_version >= 13 )); then
if [[ -f "${_srcdir}/${_patch_file}" ]] ; then if [[ -f "${_srcdir}/${_patch_file}" ]] ; then
patch -d $_builddir -p0 < ${_srcdir}/${_patch_file} > $tmp_err_msg 2>&1 patch -d $_builddir -p0 < ${_srcdir}/${_patch_file} > $tmp_err_msg 2>&1
if [[ $? -eq 0 ]]; then if [[ $? -eq 0 ]]; then
@@ -6231,7 +6171,7 @@ fi
_patch_file="php-5.6-session.patch" _patch_file="php-5.6-session.patch"
echononl "\tApply ${_patch_file}" echononl "\tApply ${_patch_file}"
if main_version_le "$VERSION" "7.3" && (( os_version >= 13 )); then if main_version_le "7.3" && (( os_version >= 13 )); then
if [[ -f "${_srcdir}/${_patch_file}" ]] ; then if [[ -f "${_srcdir}/${_patch_file}" ]] ; then
patch -d $_builddir -p0 < ${_srcdir}/${_patch_file} > $tmp_err_msg 2>&1 patch -d $_builddir -p0 < ${_srcdir}/${_patch_file} > $tmp_err_msg 2>&1
if [[ $? -eq 0 ]]; then if [[ $? -eq 0 ]]; then
@@ -6272,7 +6212,7 @@ fi
_patch_file="php-5.6-wddx.patch" _patch_file="php-5.6-wddx.patch"
echononl "\tApply ${_patch_file}" echononl "\tApply ${_patch_file}"
if main_version_le "$VERSION" "7.3" && (( os_version >= 13 )); then if main_version_le "7.3" && (( os_version >= 13 )); then
if [[ -f "${_srcdir}/${_patch_file}" ]] ; then if [[ -f "${_srcdir}/${_patch_file}" ]] ; then
patch -d $_builddir -p0 < ${_srcdir}/${_patch_file} > $tmp_err_msg 2>&1 patch -d $_builddir -p0 < ${_srcdir}/${_patch_file} > $tmp_err_msg 2>&1
if [[ $? -eq 0 ]]; then if [[ $? -eq 0 ]]; then
@@ -6313,7 +6253,7 @@ fi
_patch_file="php-5.6-mkstemp.patch" _patch_file="php-5.6-mkstemp.patch"
echononl "\tApply ${_patch_file}" echononl "\tApply ${_patch_file}"
if main_version_le "$VERSION" "7.3" && (( os_version >= 13 )); then if main_version_le "7.3" && (( os_version >= 13 )); then
if [[ -f "${_srcdir}/${_patch_file}" ]] ; then if [[ -f "${_srcdir}/${_patch_file}" ]] ; then
patch -d $_builddir -p0 < ${_srcdir}/${_patch_file} > $tmp_err_msg 2>&1 patch -d $_builddir -p0 < ${_srcdir}/${_patch_file} > $tmp_err_msg 2>&1
if [[ $? -eq 0 ]]; then if [[ $? -eq 0 ]]; then
@@ -6354,7 +6294,7 @@ fi
_patch_file="php-5.6-reentrancy.patch" _patch_file="php-5.6-reentrancy.patch"
echononl "\tApply ${_patch_file}" echononl "\tApply ${_patch_file}"
if main_version_le "$VERSION" "7.3" && (( os_version >= 13 )); then if main_version_le "7.3" && (( os_version >= 13 )); then
if [[ -f "${_srcdir}/${_patch_file}" ]] ; then if [[ -f "${_srcdir}/${_patch_file}" ]] ; then
patch -d $_builddir -p0 < ${_srcdir}/${_patch_file} > $tmp_err_msg 2>&1 patch -d $_builddir -p0 < ${_srcdir}/${_patch_file} > $tmp_err_msg 2>&1
if [[ $? -eq 0 ]]; then if [[ $? -eq 0 ]]; then
@@ -6395,7 +6335,7 @@ fi
_patch_file="php-5.6-cast.patch" _patch_file="php-5.6-cast.patch"
echononl "\tApply ${_patch_file}" echononl "\tApply ${_patch_file}"
if main_version_le "$VERSION" "7.3" && (( os_version >= 13 )); then if main_version_le "7.3" && (( os_version >= 13 )); then
if [[ -f "${_srcdir}/${_patch_file}" ]] ; then if [[ -f "${_srcdir}/${_patch_file}" ]] ; then
patch -d $_builddir -p0 < ${_srcdir}/${_patch_file} > $tmp_err_msg 2>&1 patch -d $_builddir -p0 < ${_srcdir}/${_patch_file} > $tmp_err_msg 2>&1
if [[ $? -eq 0 ]]; then if [[ $? -eq 0 ]]; then
@@ -6465,7 +6405,7 @@ echononl "\tGoing to configure.."
## CPP="/usr/bin/cpp-3.4" \ ## CPP="/usr/bin/cpp-3.4" \
## CFLAGS="$_cflags" LDFLAGS="-s" \ ## CFLAGS="$_cflags" LDFLAGS="-s" \
#if main_version_le "$VERSION" "7.3" && (( os_version >= 13 )); then #if main_version_le "7.3" && (( os_version >= 13 )); then
# export CFLAGS="-O2 -fno-strict-aliasing -Wno-error=incompatible-pointer-types" # export CFLAGS="-O2 -fno-strict-aliasing -Wno-error=incompatible-pointer-types"
#fi #fi
if $_install_openldap ; then if $_install_openldap ; then
@@ -6475,6 +6415,10 @@ if $_install_openldap ; then
-L/usr/local/cyrus-sasl/lib -Wl,-rpath,/usr/local/cyrus-sasl/lib \ -L/usr/local/cyrus-sasl/lib -Wl,-rpath,/usr/local/cyrus-sasl/lib \
-L/usr/local/openssl/lib -Wl,-rpath,/usr/local/openssl/lib" -L/usr/local/openssl/lib -Wl,-rpath,/usr/local/openssl/lib"
fi fi
if main_version_eq "7.4" ; then
export CXXFLAGS="-O2 -pipe -std=gnu++17"
export CFLAGS="-O2 -pipe"
fi
config_params=" config_params="
--prefix=$PREFIX_PHP --prefix=$PREFIX_PHP
@@ -6551,7 +6495,7 @@ else
--with-curl" --with-curl"
fi fi
if main_version_le "$VERSION" "7.3" && (( os_version >= 13 )); then if main_version_le "7.3" && (( os_version >= 13 )); then
if $_install_openldap ; then if $_install_openldap ; then
config_params="${config_params} config_params="${config_params}
--with-ldap" --with-ldap"
@@ -6565,9 +6509,29 @@ fi
#if ([[ "$PHP_MAJOR_VERSION" -eq 8 ]] && [[ "$PHP_MINOR_VERSION" -lt 4 ]]) \ #if ([[ "$PHP_MAJOR_VERSION" -eq 8 ]] && [[ "$PHP_MINOR_VERSION" -lt 4 ]]) \
# || [[ "$PHP_MAJOR_VERSION" -lt 8 ]] ; then # || [[ "$PHP_MAJOR_VERSION" -lt 8 ]] ; then
if [[ "$os_dist" = "debian" ]] && [[ "$os_version" -lt 13 ]] \ #if [[ "$os_dist" = "debian" ]] && [[ "$os_version" -lt 13 ]] \
&& ( [[ "$PHP_MAJOR_VERSION" -lt 8 ]] \ # && ( [[ "$PHP_MAJOR_VERSION" -lt 8 ]] \
|| ( [[ "$PHP_MAJOR_VERSION" -eq 8 ]] && [[ "$PHP_MINOR_VERSION" -lt 4 ]] ) ) ; then # || ( [[ "$PHP_MAJOR_VERSION" -eq 8 ]] && [[ "$PHP_MINOR_VERSION" -lt 4 ]] ) ) ; then
#
# config_params="$config_params
# --with-imap
# --with-imap-ssl
#"
#fi
#if [[ "$os_family" == "debian" ]] && (( os_version < 13 )) && main_version_lt "8.4"; then
#
# config_params="$config_params
# --with-imap
# --with-imap-ssl
#"
#fi
if main_version_le "8.3" && \
( dpkg -s libc-client-dev >/dev/null 2>&1 \
|| dpkg -s libc-client2007e-dev >/dev/null 2>&1 \
|| dpkg -s libc-client2007f-dev >/dev/null 2>&1 \
|| dpkg -s uw-imap-dev >/dev/null 2>&1 ); then
config_params="$config_params config_params="$config_params
--with-imap --with-imap
@@ -9454,9 +9418,8 @@ echo "" >> ${_logdir}/pecl_install.log
echononl "\tInstall 'imap' via pecl.." echononl "\tInstall 'imap' via pecl.."
if ([[ "$PHP_MAJOR_VERSION" -eq 8 ]] && [[ "$PHP_MINOR_VERSION" -ge 4 ]]) \ if main_version_ge "8.3" && \
|| [[ "$PHP_MAJOR_VERSION" -gt 8 ]] \ ( main_version_ge "8.4" || ([[ "$os_family" == "debian" ]] && (( os_version >= 13 ))) ); then
|| ([[ "$os_dist" = "debian" ]] && [[ "$os_version" -ge 13 ]]) ; then
if dpkg -s libc-client-dev > /dev/null 2>&1 \ if dpkg -s libc-client-dev > /dev/null 2>&1 \
|| dpkg -s libc-client2007e-dev > /dev/null 2>&1 \ || dpkg -s libc-client2007e-dev > /dev/null 2>&1 \
@@ -9465,7 +9428,7 @@ if ([[ "$PHP_MAJOR_VERSION" -eq 8 ]] && [[ "$PHP_MINOR_VERSION" -ge 4 ]]) \
export CPPFLAGS="-I/usr/include" export CPPFLAGS="-I/usr/include"
export LDFLAGS="-L/usr/lib" export LDFLAGS="-L/usr/lib"
printf "no\nyes\n" | pecl install imap >> "${_logdir}/pecl_install.log" 2>&1 printf "no\nyes\n" | ${PREFIX_PHP}/bin/pecl install imap >> "${_logdir}/pecl_install.log" 2>&1
if [ "$?" = "0" ]; then if [ "$?" = "0" ]; then
echo_ok echo_ok