mirror of
https://github.com/danog/php.git
synced 2024-11-30 04:29:16 +01:00
Add "--with-pear" in 7.4
This means that `pear` and `pecl` will be available for PHP 7.4+, but *will be removed* in PHP 8+ (see https://externals.io/message/103977 for upstream discussion around this deprecation). I tested the 8+ changes to this script by creating a few fake "8.0" bits in the script itself (fake `possibles` version, etc) and verified that the result is as expected.
This commit is contained in:
parent
04e67dc6bb
commit
e2331f5270
@ -144,6 +144,9 @@ RUN set -eux; \
|
||||
--with-openssl \
|
||||
--with-zlib \
|
||||
\
|
||||
# in PHP 7.4+, the pecl/pear installers are officially deprecated (requiring an explicit "--with-pear") and will be removed in PHP 8+; see also https://github.com/docker-library/php/issues/846#issuecomment-505638494
|
||||
--with-pear \
|
||||
\
|
||||
# bundled pcre does not support JIT on s390x
|
||||
# https://manpages.debian.org/stretch/libpcre3-dev/pcrejit.3.en.html#AVAILABILITY_OF_JIT_SUPPORT
|
||||
$(test "$gnuArch" = 's390x-linux-gnu' && echo '--without-pcre-jit') \
|
||||
@ -172,6 +175,9 @@ RUN set -eux; \
|
||||
\
|
||||
apk del --no-network .build-deps; \
|
||||
\
|
||||
# update pecl channel definitions https://github.com/docker-library/php/issues/443
|
||||
pecl update-channels; \
|
||||
rm -rf /tmp/pear ~/.pearrc; \
|
||||
# smoke test
|
||||
php --version
|
||||
|
||||
|
@ -145,6 +145,9 @@ RUN set -eux; \
|
||||
--with-openssl \
|
||||
--with-zlib \
|
||||
\
|
||||
# in PHP 7.4+, the pecl/pear installers are officially deprecated (requiring an explicit "--with-pear") and will be removed in PHP 8+; see also https://github.com/docker-library/php/issues/846#issuecomment-505638494
|
||||
--with-pear \
|
||||
\
|
||||
# bundled pcre does not support JIT on s390x
|
||||
# https://manpages.debian.org/stretch/libpcre3-dev/pcrejit.3.en.html#AVAILABILITY_OF_JIT_SUPPORT
|
||||
$(test "$gnuArch" = 's390x-linux-gnu' && echo '--without-pcre-jit') \
|
||||
@ -173,6 +176,9 @@ RUN set -eux; \
|
||||
\
|
||||
apk del --no-network .build-deps; \
|
||||
\
|
||||
# update pecl channel definitions https://github.com/docker-library/php/issues/443
|
||||
pecl update-channels; \
|
||||
rm -rf /tmp/pear ~/.pearrc; \
|
||||
# smoke test
|
||||
php --version
|
||||
|
||||
|
@ -145,6 +145,9 @@ RUN set -eux; \
|
||||
--with-openssl \
|
||||
--with-zlib \
|
||||
\
|
||||
# in PHP 7.4+, the pecl/pear installers are officially deprecated (requiring an explicit "--with-pear") and will be removed in PHP 8+; see also https://github.com/docker-library/php/issues/846#issuecomment-505638494
|
||||
--with-pear \
|
||||
\
|
||||
# bundled pcre does not support JIT on s390x
|
||||
# https://manpages.debian.org/stretch/libpcre3-dev/pcrejit.3.en.html#AVAILABILITY_OF_JIT_SUPPORT
|
||||
$(test "$gnuArch" = 's390x-linux-gnu' && echo '--without-pcre-jit') \
|
||||
@ -173,6 +176,9 @@ RUN set -eux; \
|
||||
\
|
||||
apk del --no-network .build-deps; \
|
||||
\
|
||||
# update pecl channel definitions https://github.com/docker-library/php/issues/443
|
||||
pecl update-channels; \
|
||||
rm -rf /tmp/pear ~/.pearrc; \
|
||||
# smoke test
|
||||
php --version
|
||||
|
||||
|
@ -144,6 +144,9 @@ RUN set -eux; \
|
||||
--with-openssl \
|
||||
--with-zlib \
|
||||
\
|
||||
# in PHP 7.4+, the pecl/pear installers are officially deprecated (requiring an explicit "--with-pear") and will be removed in PHP 8+; see also https://github.com/docker-library/php/issues/846#issuecomment-505638494
|
||||
--with-pear \
|
||||
\
|
||||
# bundled pcre does not support JIT on s390x
|
||||
# https://manpages.debian.org/stretch/libpcre3-dev/pcrejit.3.en.html#AVAILABILITY_OF_JIT_SUPPORT
|
||||
$(test "$gnuArch" = 's390x-linux-gnu' && echo '--without-pcre-jit') \
|
||||
@ -172,6 +175,9 @@ RUN set -eux; \
|
||||
\
|
||||
apk del --no-network .build-deps; \
|
||||
\
|
||||
# update pecl channel definitions https://github.com/docker-library/php/issues/443
|
||||
pecl update-channels; \
|
||||
rm -rf /tmp/pear ~/.pearrc; \
|
||||
# smoke test
|
||||
php --version
|
||||
|
||||
|
@ -145,6 +145,9 @@ RUN set -eux; \
|
||||
--with-openssl \
|
||||
--with-zlib \
|
||||
\
|
||||
# in PHP 7.4+, the pecl/pear installers are officially deprecated (requiring an explicit "--with-pear") and will be removed in PHP 8+; see also https://github.com/docker-library/php/issues/846#issuecomment-505638494
|
||||
--with-pear \
|
||||
\
|
||||
# bundled pcre does not support JIT on s390x
|
||||
# https://manpages.debian.org/stretch/libpcre3-dev/pcrejit.3.en.html#AVAILABILITY_OF_JIT_SUPPORT
|
||||
$(test "$gnuArch" = 's390x-linux-gnu' && echo '--without-pcre-jit') \
|
||||
@ -173,6 +176,9 @@ RUN set -eux; \
|
||||
\
|
||||
apk del --no-network .build-deps; \
|
||||
\
|
||||
# update pecl channel definitions https://github.com/docker-library/php/issues/443
|
||||
pecl update-channels; \
|
||||
rm -rf /tmp/pear ~/.pearrc; \
|
||||
# smoke test
|
||||
php --version
|
||||
|
||||
|
@ -145,6 +145,9 @@ RUN set -eux; \
|
||||
--with-openssl \
|
||||
--with-zlib \
|
||||
\
|
||||
# in PHP 7.4+, the pecl/pear installers are officially deprecated (requiring an explicit "--with-pear") and will be removed in PHP 8+; see also https://github.com/docker-library/php/issues/846#issuecomment-505638494
|
||||
--with-pear \
|
||||
\
|
||||
# bundled pcre does not support JIT on s390x
|
||||
# https://manpages.debian.org/stretch/libpcre3-dev/pcrejit.3.en.html#AVAILABILITY_OF_JIT_SUPPORT
|
||||
$(test "$gnuArch" = 's390x-linux-gnu' && echo '--without-pcre-jit') \
|
||||
@ -173,6 +176,9 @@ RUN set -eux; \
|
||||
\
|
||||
apk del --no-network .build-deps; \
|
||||
\
|
||||
# update pecl channel definitions https://github.com/docker-library/php/issues/443
|
||||
pecl update-channels; \
|
||||
rm -rf /tmp/pear ~/.pearrc; \
|
||||
# smoke test
|
||||
php --version
|
||||
|
||||
|
@ -234,6 +234,9 @@ RUN set -eux; \
|
||||
--with-openssl \
|
||||
--with-zlib \
|
||||
\
|
||||
# in PHP 7.4+, the pecl/pear installers are officially deprecated (requiring an explicit "--with-pear") and will be removed in PHP 8+; see also https://github.com/docker-library/php/issues/846#issuecomment-505638494
|
||||
--with-pear \
|
||||
\
|
||||
# bundled pcre does not support JIT on s390x
|
||||
# https://manpages.debian.org/stretch/libpcre3-dev/pcrejit.3.en.html#AVAILABILITY_OF_JIT_SUPPORT
|
||||
$(test "$gnuArch" = 's390x-linux-gnu' && echo '--without-pcre-jit') \
|
||||
@ -266,6 +269,9 @@ RUN set -eux; \
|
||||
; \
|
||||
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
|
||||
\
|
||||
# update pecl channel definitions https://github.com/docker-library/php/issues/443
|
||||
pecl update-channels; \
|
||||
rm -rf /tmp/pear ~/.pearrc; \
|
||||
# smoke test
|
||||
php --version
|
||||
|
||||
|
@ -174,6 +174,9 @@ RUN set -eux; \
|
||||
--with-openssl \
|
||||
--with-zlib \
|
||||
\
|
||||
# in PHP 7.4+, the pecl/pear installers are officially deprecated (requiring an explicit "--with-pear") and will be removed in PHP 8+; see also https://github.com/docker-library/php/issues/846#issuecomment-505638494
|
||||
--with-pear \
|
||||
\
|
||||
# bundled pcre does not support JIT on s390x
|
||||
# https://manpages.debian.org/stretch/libpcre3-dev/pcrejit.3.en.html#AVAILABILITY_OF_JIT_SUPPORT
|
||||
$(test "$gnuArch" = 's390x-linux-gnu' && echo '--without-pcre-jit') \
|
||||
@ -206,6 +209,9 @@ RUN set -eux; \
|
||||
; \
|
||||
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
|
||||
\
|
||||
# update pecl channel definitions https://github.com/docker-library/php/issues/443
|
||||
pecl update-channels; \
|
||||
rm -rf /tmp/pear ~/.pearrc; \
|
||||
# smoke test
|
||||
php --version
|
||||
|
||||
|
@ -175,6 +175,9 @@ RUN set -eux; \
|
||||
--with-openssl \
|
||||
--with-zlib \
|
||||
\
|
||||
# in PHP 7.4+, the pecl/pear installers are officially deprecated (requiring an explicit "--with-pear") and will be removed in PHP 8+; see also https://github.com/docker-library/php/issues/846#issuecomment-505638494
|
||||
--with-pear \
|
||||
\
|
||||
# bundled pcre does not support JIT on s390x
|
||||
# https://manpages.debian.org/stretch/libpcre3-dev/pcrejit.3.en.html#AVAILABILITY_OF_JIT_SUPPORT
|
||||
$(test "$gnuArch" = 's390x-linux-gnu' && echo '--without-pcre-jit') \
|
||||
@ -207,6 +210,9 @@ RUN set -eux; \
|
||||
; \
|
||||
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
|
||||
\
|
||||
# update pecl channel definitions https://github.com/docker-library/php/issues/443
|
||||
pecl update-channels; \
|
||||
rm -rf /tmp/pear ~/.pearrc; \
|
||||
# smoke test
|
||||
php --version
|
||||
|
||||
|
@ -175,6 +175,9 @@ RUN set -eux; \
|
||||
--with-openssl \
|
||||
--with-zlib \
|
||||
\
|
||||
# in PHP 7.4+, the pecl/pear installers are officially deprecated (requiring an explicit "--with-pear") and will be removed in PHP 8+; see also https://github.com/docker-library/php/issues/846#issuecomment-505638494
|
||||
--with-pear \
|
||||
\
|
||||
# bundled pcre does not support JIT on s390x
|
||||
# https://manpages.debian.org/stretch/libpcre3-dev/pcrejit.3.en.html#AVAILABILITY_OF_JIT_SUPPORT
|
||||
$(test "$gnuArch" = 's390x-linux-gnu' && echo '--without-pcre-jit') \
|
||||
@ -207,6 +210,9 @@ RUN set -eux; \
|
||||
; \
|
||||
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
|
||||
\
|
||||
# update pecl channel definitions https://github.com/docker-library/php/issues/443
|
||||
pecl update-channels; \
|
||||
rm -rf /tmp/pear ~/.pearrc; \
|
||||
# smoke test
|
||||
php --version
|
||||
|
||||
|
@ -138,6 +138,9 @@ RUN set -eux; \
|
||||
--with-openssl \
|
||||
--with-zlib \
|
||||
\
|
||||
# in PHP 7.4+, the pecl/pear installers are officially deprecated (requiring an explicit "--with-pear") and will be removed in PHP 8+; see also https://github.com/docker-library/php/issues/846#issuecomment-505638494
|
||||
--with-pear \
|
||||
\
|
||||
# bundled pcre does not support JIT on s390x
|
||||
# https://manpages.debian.org/stretch/libpcre3-dev/pcrejit.3.en.html#AVAILABILITY_OF_JIT_SUPPORT
|
||||
$(test "$gnuArch" = 's390x-linux-gnu' && echo '--without-pcre-jit') \
|
||||
|
@ -168,6 +168,9 @@ RUN set -eux; \
|
||||
--with-openssl \
|
||||
--with-zlib \
|
||||
\
|
||||
# in PHP 7.4+, the pecl/pear installers are officially deprecated (requiring an explicit "--with-pear") and will be removed in PHP 8+; see also https://github.com/docker-library/php/issues/846#issuecomment-505638494
|
||||
--with-pear \
|
||||
\
|
||||
# bundled pcre does not support JIT on s390x
|
||||
# https://manpages.debian.org/stretch/libpcre3-dev/pcrejit.3.en.html#AVAILABILITY_OF_JIT_SUPPORT
|
||||
$(test "$gnuArch" = 's390x-linux-gnu' && echo '--without-pcre-jit') \
|
||||
|
30
update.sh
30
update.sh
@ -165,10 +165,17 @@ for version in "${versions[@]}"; do
|
||||
sed -ri \
|
||||
-e '/oniguruma-dev|libonig-dev/d' \
|
||||
"$version/$suite/$variant/Dockerfile"
|
||||
else
|
||||
# 7.4 and above no longer include pecl/pear: https://github.com/php/php-src/pull/3781
|
||||
fi
|
||||
if [ "$majorVersion" -ge '8' ]; then
|
||||
# 8 and above no longer include pecl/pear (see https://github.com/docker-library/php/issues/846#issuecomment-505638494)
|
||||
sed -ri \
|
||||
-e '\!pecl.*channel|/tmp/pear!d' \
|
||||
-e '/pear |pearrc|pecl.*channel/d' \
|
||||
"$version/$suite/$variant/Dockerfile"
|
||||
fi
|
||||
if [ "$majorVersion" != '7' ] || [ "$minorVersion" -lt '4' ]; then
|
||||
# --with-pear is only relevant on PHP 7, and specifically only 7.4+ (see https://github.com/docker-library/php/issues/846#issuecomment-505638494)
|
||||
sed -ri \
|
||||
-e '/--with-pear/d' \
|
||||
"$version/$suite/$variant/Dockerfile"
|
||||
fi
|
||||
if [ "$majorVersion" = '7' -a "$minorVersion" -lt '2' ]; then
|
||||
@ -184,10 +191,19 @@ for version in "${versions[@]}"; do
|
||||
fi
|
||||
|
||||
# remove any _extra_ blank lines created by the deletions above
|
||||
awk '
|
||||
NF > 0 { blank = 0 }
|
||||
NF == 0 { ++blank }
|
||||
blank < 2 { print }
|
||||
gawk '
|
||||
{
|
||||
if (NF == 0 || (NF == 1 && $1 == "\\")) {
|
||||
blank++
|
||||
}
|
||||
else {
|
||||
blank = 0
|
||||
}
|
||||
|
||||
if (blank < 2) {
|
||||
print
|
||||
}
|
||||
}
|
||||
' "$version/$suite/$variant/Dockerfile" > "$version/$suite/$variant/Dockerfile.new"
|
||||
mv "$version/$suite/$variant/Dockerfile.new" "$version/$suite/$variant/Dockerfile"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user