X-Git-Url: https://git.tld-linux.org/?p=packages%2Fphp.git;a=blobdiff_plain;f=php.spec;h=8458446b3f7e74ce780d567d54a9fb4e14115225;hp=a4824b1cf96bd06c91cde55fae3bd42d96f13655;hb=HEAD;hpb=53cf08344a0512ce85aa493b6ecac1a0ea926ed0 diff --git a/php.spec b/php.spec index a4824b1..bc3e64d 100644 --- a/php.spec +++ b/php.spec @@ -1,6 +1,6 @@ # Conditional build: # - General options: -%bcond_without embed # disable building Embedded API +%bcond_with embed # disable building Embedded API %bcond_with gcov # Enable Code coverage reporting %bcond_without kerberos5 # without Kerberos5 support %bcond_with systemtap # systemtap/DTrace support @@ -15,7 +15,7 @@ %bcond_without phpdbg # disable phpdbg SAPI # - Extensions %bcond_without bcmath # without bcmath extension module -%bcond_without bz2 # without bz2 extension module +%bcond_without bzip2 # without bz2 extension module %bcond_without calendar # without calendar extension module %bcond_without ctype # without ctype extension module %bcond_without curl # without CURL extension module @@ -31,9 +31,8 @@ %bcond_without gettext # without gettext extension module %bcond_without gmp # without gmp extension module %bcond_without iconv # without iconv extension module -%bcond_without imap # without IMAP extension module +%bcond_with imap # without IMAP extension module %bcond_without intl # without Intl extension module -%bcond_without json # without json extension module %bcond_without ldap # without LDAP extension module %bcond_without mbstring # without mbstring extension module %bcond_without mhash # without mhash extension (supported by hash extension) @@ -49,7 +48,7 @@ %bcond_without pdo_dblib # without PDO dblib extension module %bcond_without pdo_firebird # without PDO Firebird extension module %bcond_without pdo_mysql # without PDO MySQL extension module -%bcond_without pdo_oci # without PDO oci extension module +%bcond_without pdo_oci # without PDO oci extension module %bcond_without pdo_odbc # without PDO ODBC extension module %bcond_without pdo_pgsql # without PDO pgsql extension module %bcond_without pdo_sqlite # without PDO SQLite extension module @@ -64,15 +63,15 @@ %bcond_without sqlite2 # without SQLite extension module %bcond_without sqlite3 # without SQLite3 extension module %bcond_without tidy # without Tidy extension module -%bcond_without xmlrpc # without XML-RPC extension module -%bcond_without xsl # without xsl extension module -%bcond_without zip # without zip extension module +%bcond_without xsl # without xsl extension module +%bcond_without zip # without zip extension module # extensions options %bcond_without argon2 # argon2 password hashing %bcond_without instantclient # build Oracle oci8 extension module against oracle-instantclient package %bcond_with interbase_inst # use InterBase install., not Firebird (BR: proprietary libs) %bcond_with mm # without mm support for session storage %bcond_without system_gd # system gd +%bcond_with avif # Without AVIF support in GD extension (imagecreatefromavif and imageavif) %bcond_without webp # Without WebP support in GD extension (imagecreatefromwebp) %define apxs2 /usr/sbin/apxs @@ -117,24 +116,24 @@ %endif %define orgname php -%define php_suffix 74 +%define php_suffix 83 Summary: PHP: Hypertext Preprocessor Summary(fr.UTF-8): Le langage de script embarque-HTML PHP Summary(pl.UTF-8): Język skryptowy PHP Summary(pt_BR.UTF-8): A linguagem de script PHP -Summary(ru.UTF-8): PHP Версии 7 - язык препроцессирования HTML-файлов, выполняемый на сервере -Summary(uk.UTF-8): PHP Версії 7 - мова препроцесування HTML-файлів, виконувана на сервері +Summary(ru.UTF-8): PHP - язык препроцессирования HTML-файлов, выполняемый на сервере +Summary(uk.UTF-8): PHP - мова препроцесування HTML-файлів, виконувана на сервері Name: %{orgname}%{php_suffix} -Version: 7.4.10 -Release: 2 +Version: 8.3.7 +Release: 1 Epoch: 4 # All files licensed under PHP version 3.01, except # Zend is licensed under Zend # TSRM is licensed under BSD License: PHP 3.01 and Zend and BSD Group: Libraries -Source0: http://php.net/distributions/%{orgname}-%{version}.tar.xz -# Source0-md5: 48cd5acc0bb3e81dbf9c98a343d6149c +Source0: https://php.net/distributions/%{orgname}-%{version}.tar.xz +# Source0-md5: 81986a54500ebc40d1f911112682e0e1 Source1: opcache.ini Source2: %{orgname}-mod_php.conf Source3: %{orgname}-cgi-fcgi.ini @@ -149,12 +148,12 @@ Patch0: %{orgname}-shared.patch Patch1: %{orgname}-tld.patch Patch3: %{orgname}-link-libs.patch Patch4: intl-stdc++.patch +# https://bugs.php.net/bug.php?id=79589 +Patch5: openssl.patch Patch7: %{orgname}-sapi-ini-file.patch -Patch9: libtool-tag.patch Patch10: %{orgname}-ini.patch Patch11: embed.patch Patch14: %{orgname}-no_pear_install.patch -Patch17: %{orgname}-readline.patch Patch18: %{orgname}-nohttpd.patch Patch21: %{orgname}-dba-link.patch Patch22: %{orgname}-both-apxs.patch @@ -163,9 +162,6 @@ Patch24: %{orgname}-zlib-for-getimagesize.patch Patch25: %{orgname}-stupidapache_version.patch Patch27: %{orgname}-config-dir.patch Patch29: %{orgname}-fcgi-graceful.patch -Patch31: %{orgname}-fcgi-error_log-no-newlines.patch -Patch37: %{orgname}-mysqli-charsetphpini.patch -Patch38: %{orgname}-pdo_mysql-charsetphpini.patch Patch39: %{orgname}-use-prog_sendmail.patch Patch41: %{orgname}-fpm-config.patch Patch43: %{orgname}-silent-session-cleanup.patch @@ -173,12 +169,14 @@ Patch44: %{orgname}-include_path.patch Patch50: extension-shared-optional-dep.patch Patch53: fix-test-run.patch Patch59: %{orgname}-systzdata.patch +Patch60: %{orgname}-oracle-instantclient.patch Patch66: php-db.patch Patch67: mysql-lib-ver-mismatch.patch -Patch69: fpm-conf-split.patch +# https://bugs.php.net/bug.php?id=68344 +Patch68: php-mysql-ssl-context.patch Patch71: libdb-info.patch URL: http://php.net/ -%{?with_firebird:%{!?with_interbase_inst:BuildRequires: Firebird-devel >= 1.0.2.908-2}} +%{?with_pdo_firebird:%{!?with_interbase_inst:BuildRequires: Firebird-devel >= 1.0.2.908-2}} %{?with_pspell:BuildRequires: aspell-devel >= 2:0.50.0} BuildRequires: autoconf >= 2.59 BuildRequires: automake >= 1.4d @@ -189,10 +187,6 @@ BuildRequires: cyrus-sasl-devel >= 2 BuildRequires: db-devel >= 4.0 BuildRequires: elfutils-devel %{?with_enchant:BuildRequires: enchant-devel >= 1.1.3} -%{?with_kerberos5:BuildRequires: heimdal-devel} -%{?with_argon2:BuildRequires: libargon2-devel >= 20161029} -%{?with_ffi:BuildRequires: libffi-devel} -%{?with_sodium:BuildRequires: libsodium-devel >= 1.0.8} %if %{with pdo_dblib} BuildRequires: freetds-devel >= 0.82 %endif @@ -202,28 +196,33 @@ BuildRequires: gd-devel >= 2.1 %endif BuildRequires: gdbm-devel BuildRequires: gmp-devel >= 4.2 +%{?with_kerberos5:BuildRequires: heimdal-devel} %{?with_imap:BuildRequires: imap-devel >= 1:2007e-2} %{?with_gcov:BuildRequires: lcov} %{?with_fpm:BuildRequires: libapparmor-devel} +%{?with_argon2:BuildRequires: libargon2-devel >= 20161029} +%{?with_avif:BuildRequires: libavif-devel >= 0.8.2} +%{?with_ffi:BuildRequires: libffi-devel} %{?with_intl:BuildRequires: libicu-devel >= 50.1} BuildRequires: libjpeg-devel BuildRequires: libltdl-devel >= 1.4 BuildRequires: libpng-devel >= 1.0.8 +%{?with_sodium:BuildRequires: libsodium-devel >= 1.0.8} %{?with_intl:BuildRequires: libstdc++-devel} BuildRequires: libtool >= 2:2.4.6 -%{?with_webp:BuildRequires: libwebp-devel} +%{?with_webp:BuildRequires: libwebp-devel >= 0.2.0} BuildRequires: libxml2-devel >= 1:2.7.6-4 %{?with_xsl:BuildRequires: libxslt-devel >= 1.1.0} %{?with_zip:BuildRequires: libzip-devel >= 1.3.1} %{?with_snmp:%{?with_tests:BuildRequires: mibs-net-snmp}} %{?with_mm:BuildRequires: mm-devel >= 1.3.0} -%{!?with_mysqli:BuildRequires: mysql-devel >= 4.1.13} +%{!?with_mysqli:BuildRequires: mysql-devel} %{!?with_pdo_mysql:BuildRequires: mysql-devel} %{?with_snmp:BuildRequires: net-snmp-devel >= 5.3} -BuildRequires: oniguruma-devel +BuildRequires: oniguruma-devel %{?with_ldap:BuildRequires: openldap-devel >= 2.3.0} %if %{with openssl} || %{with ldap} -BuildRequires: openssl-devel >= 1.0.1 +BuildRequires: openssl-devel >= 1.0.2 %endif %{?with_oci:%{?with_instantclient:BuildRequires: oracle-instantclient-devel}} BuildRequires: pam-devel @@ -236,14 +235,13 @@ BuildRequires: rpm-build >= 4.4.0 BuildRequires: rpmbuild(macros) >= 1.566 BuildRequires: sed >= 4.0 %if %{with sqlite3} || %{with pdo_sqlite} -BuildRequires: sqlite3-devel >= 3.7.4 +BuildRequires: sqlite3-devel >= 3.7.7 %endif %{?with_systemtap:BuildRequires: systemtap-sdt-devel} BuildRequires: tar >= 1:1.22 %{?with_tidy:BuildRequires: tidy-devel} BuildRequires: tokyocabinet-devel %{?with_odbc:BuildRequires: unixODBC-devel} -%{?with_xmlrpc:BuildRequires: xmlrpc-epi-devel >= 0.54.1} BuildRequires: xz BuildRequires: zlib-devel >= 1.2.0.4 %if %{with apache2} @@ -255,13 +253,13 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define php_sysconfdir /etc/%{name} %define php_extensiondir %{_libdir}/php/%{name} -%define php_datadir /usr/share/php/%{name} +%define php_data_dir /usr/share/php/%{name} %define _sysconfdir %{php_sysconfdir} # must be in sync with source. extra check ensuring that it is so is done in %%build -%define php_api_version 20190902 -%define zend_module_api 20190902 -%define zend_extension_api 320190902 +%define php_api_version 20230831 +%define zend_module_api 20230831 +%define zend_extension_api 420230831 %define php_pdo_api_version 20170320 # Extension versions @@ -273,7 +271,7 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define jsonver %{version} %define pharver %{version} %define sqlite3ver %{version} -%define zipver 1.15.6 +%define zipver 1.22.3 %define phpdbgver %{version} %define sodiumver %{version} @@ -514,6 +512,7 @@ Provides: %{name}-standard Provides: php(core) = %{version} Provides: php(date) Provides: php(hash) = %{hashver} +Provides: php(json) Provides: php(libxml) Provides: php(pcre) Provides: php(reflection) @@ -785,7 +784,8 @@ support in image files. Moduł PHP dodający obsługę znaczników EXIF w plikach obrazków. %package ffi -Summary: %{modname} - Foreign Function Interface +Summary: Foreign Function Interface module for PHP +Summary(pl.UTF-8): Moduł Foreign Function Interface (interfejsu do obcych języków) dla PHP Group: Libraries URL: https://www.php.net/manual/en/book.ffi.php Requires: %{name}-common = %{epoch}:%{version}-%{release} @@ -795,6 +795,10 @@ Provides: php(ffi) = %{version} FFI is a multi-platform extension for PHP that allows you to bind to functions from arbitrary shared libraries and call them. +%description ffi -l pl.UTF-8 +FFI to wieloplatformowe rozszerzenie dla PHP pozwalające dowiązywać +funkcje z dowolnych bibliotek współdzielonych i wywoływać je. + %package fileinfo Summary: libmagic bindings Summary(pl.UTF-8): Wiązania do libmagic @@ -980,24 +984,6 @@ interfejsem do biblioteki ICU, pozwalającym programistom PHP na wykonywanie w skryptach porównań zgodnych z UCA oraz formatowania daty/czasu/walut. -%package json -Summary: PHP C extension for JSON serialization -Summary(pl.UTF-8): Rozszerzenie C PHP dla serializacji JSON -Group: Libraries -URL: http://php.net/manual/en/book.json.php -Requires: %{name}-common = %{epoch}:%{version}-%{release} -Provides: php(json) = %{jsonver} -Obsoletes: php-json < 4:5.3.28-7 -Obsoletes: php-pecl-json < %{jsonver} - -%description json -php-json is an extremely fast PHP C extension for JSON (JavaScript -Object Notation) serialisation. - -%description json -l pl.UTF-8 -php-json to bardzo szybkie rozszerzenie C PHP dla serializacji JSON -(JavaScript Object Notation). - %package ldap Summary: LDAP extension module for PHP Summary(pl.UTF-8): Moduł LDAP dla PHP @@ -1042,7 +1028,7 @@ URL: http://php.net/manual/en/book.mysqli.php Requires: %{name}-common = %{epoch}:%{version}-%{release} %{?with_mysqlnd:Requires: %{name}-mysqlnd = %{epoch}:%{version}-%{release}} Requires: %{name}-spl = %{epoch}:%{version}-%{release} -Requires: mysql-libs >= 4.1.13 +Requires: mysql-libs Provides: php(mysqli) Obsoletes: php-mysqli < 4:5.3.28-7 @@ -1547,6 +1533,7 @@ Moduł PHP dodający obsługę gniazdek. %package sodium Summary: Wrapper for the Sodium cryptographic library +Summary(pl.UTF-8): Interfejs do biblioteki kryptograficznej Sodium Group: Libraries URL: https://paragonie.com/book/pecl-libsodium Requires: %{name}-common = %{epoch}:%{version}-%{release} @@ -1555,6 +1542,9 @@ Provides: php(sodium) = %{sodiumver} %description sodium A simple, low-level PHP extension for libsodium. +%description sodium -l pl.UTF-8 +Proste, niskopoziomowe rozszerzenie PHP wykorzystując libsodium. + %package sqlite3 Summary: SQLite3 extension module for PHP Summary(pl.UTF-8): Moduł SQLite3 dla PHP @@ -1638,6 +1628,7 @@ Summary(pl.UTF-8): Zawiera pliki testów jednostkowych dla PHP i rozszerzeń Group: Libraries URL: http://qa.php.net/ Requires: %{name}-cli +BuildArch: noarch %description tests This package contains unit tests for PHP and its extensions. @@ -1718,23 +1709,6 @@ Moduł PHP umożliwiający analizę plików XML w trybie Pull. Czytnik działa jako kursor przechodzący przez strumień dokumentu i zatrzymujący się na każdym węźle po drodze. -%package xmlrpc -Summary: xmlrpc extension module for PHP -Summary(pl.UTF-8): Moduł xmlrpc dla PHP -Group: Libraries -URL: http://php.net/manual/en/book.xmlrpc.php -Requires: %{name}-common = %{epoch}:%{version}-%{release} -Requires: %{name}-xml = %{epoch}:%{version}-%{release} -Provides: php(xmlrpc) -Obsoletes: php-xmlrpc < 4:5.3.28-7 - -%description xmlrpc -This is a dynamic shared object (DSO) for PHP that will add XMLRPC -support. - -%description xmlrpc -l pl.UTF-8 -Moduł PHP dodający obsługę XMLRPC. - %package xmlwriter Summary: Fast, non-cached, forward-only means to write XML data Summary(pl.UTF-8): Szybka, nie cachowana metoda zapisu danych w formacie XML @@ -1810,16 +1784,18 @@ compression support to PHP. Moduł PHP umożliwiający używanie kompresji zlib. %prep -%setup -q -n %{orgname}-%{version} +%setup -q -n %{orgname}-%{version}%{?subver} + cp -p php.ini-production php.ini %patch0 -p1 %patch1 -p1 %patch3 -p1 +%patch4 -p1 +%patch5 -p1 + %patch7 -p1 -%patch9 -p1 %patch10 -p1 %patch14 -p1 -%patch17 -p1 %patch18 -p1 %patch21 -p1 %patch22 -p1 @@ -1828,24 +1804,24 @@ cp -p php.ini-production php.ini %patch25 -p1 %patch27 -p1 %patch29 -p1 -%patch31 -p1 -%patch37 -p1 -%patch38 -p1 %patch39 -p1 -%if %{with fpm} %patch41 -p1 -%endif %patch43 -p1 %patch44 -p1 %patch50 -p1 %patch53 -p1 -%undos ext/spl/tests/SplFileInfo_getInode_basic.phpt -%patch59 -p1 -b .systzdata +%patch59 -p1 +%if %{with instantclient} +%patch60 -p1 +%endif %patch66 -p1 %patch67 -p1 +#%patch68 -p1 DROP or update to 7.0 APIs %patch71 -p1 -%{__sed} -i -e '/PHP_ADD_LIBRARY_WITH_PATH/s#xmlrpc,#xmlrpc-epi,#' ext/xmlrpc/config.m4 +sed -E -i -e '1s,#!\s*/usr/bin/env\s+(.*),#!%{_bindir}/\1%{php_suffix},' \ + ext/ext_skel.php \ + run-tests.php # cleanup backups after patching find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f @@ -1854,7 +1830,17 @@ find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f %{__rm} -r ext/com_dotnet # remove all bundled libraries not to link with them accidentally -%{__rm} -r ext/xmlrpc/libxmlrpc +#%{__rm} -r ext/bcmath/libbcmath +#%{__rm} -r ext/date/lib +#%{__rm} -r ext/fileinfo/libmagic +#%{__rm} -r ext/dba/libcdb +#%{__rm} -r ext/dba/libflatfile +#%{__rm} -r ext/dba/libinifile +#%{__rm} -r ext/gd/libgd +#%{__rm} -r ext/mbstring/libmbfl +#%{__rm} -r ext/pcre/pcre2lib +#%{__rm} -r ext/soap/interop +#%{__rm} -r ext/zip/lib %{__rm} ext/date/lib/timezonedb.h cp -pf Zend/LICENSE{,.Zend} @@ -1931,6 +1917,11 @@ ix86=: x8664=: \ sh -xe %{_sourcedir}/skip-tests.sh %build +get_version() { + local define="$1" filename="$2" + awk -vdefine="$define" '/#define/ && $2 == define {print $3}' "$filename" | xargs +} + API=$(awk '/#define PHP_API_VERSION/{print $3}' main/php.h) if [ $API != %{php_api_version} ]; then echo "Set %%define php_api_version to $API and re-run." @@ -1962,7 +1953,7 @@ if test "$ver" != "PHP_VERSION"; then : Update the fileinfover macro and rebuild. exit 1 fi -ver=$(awk '/#define PHP_PHAR_VERSION/ {print $3}' ext/phar/php_phar.h | xargs) +ver=$(get_version PHP_PHAR_VERSION ext/phar/php_phar.h) if test "$ver" != "PHP_VERSION"; then : Error: Upstream PHAR version is now ${ver}, expecting %{pharver}. : Update the pharver macro and rebuild. @@ -1984,19 +1975,19 @@ if test "$ver" != "%{zipver}"; then : Update the zipver macro and rebuild. exit 1 fi -ver=$(awk '/#define PHP_JSON_VERSION/ {print $3}' ext/json/php_json.h | xargs) +ver=$(get_version PHP_JSON_VERSION ext/json/php_json.h) if test "$ver" != "PHP_VERSION"; then : Error: Upstream JSON version is now ${ver}, expecting %{jsonver}. : Update the jsonver macro and rebuild. exit 1 fi -ver=$(awk '/#define PHPDBG_VERSION/ {print $3}' sapi/phpdbg/phpdbg.h | xargs) +ver=$(get_version PHPDBG_VERSION sapi/phpdbg/phpdbg.h) if test "$ver" != "PHP_VERSION"; then : Error: Upstream phpdbg version is now ${ver}, expecting %{phpdbgver}. : Update the phpdbgver macro and rebuild. exit 1 fi -ver=$(awk '/#define PHP_BZ2_VERSION/ {print $3}' ext/bz2/php_bz2.h | xargs) +ver=$(get_version PHP_BZ2_VERSION ext/bz2/php_bz2.h) if test "$ver" != "PHP_VERSION"; then : Error: Upstream BZIP2 version is now ${ver}, expecting %{bz2ver}. : Update the bz2ver macro and rebuild. @@ -2006,13 +1997,13 @@ ver=$(awk '/#define PHP_ENCHANT_VERSION/ {print $3}' ext/enchant/php_enchant.h | if test "$ver" != "PHP_VERSION"; then exit 1 fi -ver=$(awk '/#define PHP_HASH_VERSION/ {print $3}' ext/hash/php_hash.h | xargs) +ver=$(get_version PHP_HASH_VERSION ext/hash/php_hash.h) if test "$ver" != "PHP_VERSION"; then : Error: Upstream HASH version is now ${ver}, expecting %{hashver}. : Update the hashver macro and rebuild. exit 1 fi -ver=$(awk '/#define PHP_INTL_VERSION/ {print $3}' ext/intl/php_intl.h | xargs) +ver=$(get_version PHP_INTL_VERSION ext/intl/php_intl.h) if test "$ver" != "PHP_VERSION"; then : Error: Upstream Intl version is now ${ver}, expecting %{intlver}. : Update the intlver macro and rebuild. @@ -2041,19 +2032,13 @@ if [ ! -f _built-conf ]; then touch _built-conf fi export PROG_SENDMAIL="/usr/lib/sendmail" -export CPPFLAGS="-DDEBUG_FASTCGI -DHAVE_STRNDUP %{rpmcppflags} \ - -I%{_includedir}/xmlrpc-epi" +export CPPFLAGS="-DDEBUG_FASTCGI -DHAVE_STRNDUP %{rpmcppflags}" # This should be detected by configure and set there, # but looks like the build system is hosed on 7.3 export CXXFLAGS="%{rpmcxxflags} -fPIC -DPIC" export CFLAGS="%{rpmcflags} -fPIC -DPIC" -%if %{with intl} -# icu 59+ C++ API requires C++ >= 11 -CXXFLAGS="$CXXFLAGS -std=c++11" -%endif - sapis=" cli %if %{with cgi} @@ -2083,37 +2068,40 @@ for sapi in $sapis; do sapi_args='' case $sapi in cgi-fcgi) - sapi_args='--disable-cli' + sapi_args='--enable-cgi' ;; cli) - sapi_args='--disable-cgi %{?with_gcov:--enable-gcov}' + sapi_args='--enable-cli %{?with_gcov:--enable-gcov}' ;; fpm) - sapi_args='--disable-cli --disable-cgi --enable-fpm' + sapi_args='--enable-fpm' ;; embed) - sapi_args='--disable-cli --disable-cgi --enable-embed' + sapi_args='--enable-embed' ;; apxs2) ver=$(rpm -q --qf '%{V}' apache-devel) - sapi_args="--disable-cli --disable-cgi --with-apxs2=%{apxs2} --with-apache-version=$ver" + sapi_args="--with-apxs2=%{apxs2} --with-apache-version=$ver" ;; litespeed) - sapi_args='--disable-cli --disable-cgi --enable-litespeed' + sapi_args='--enable-litespeed' ;; phpdbg) - sapi_args='--disable-cli --disable-cgi --enable-phpdbg %{?debug:--enable-phpdbg-debug}' + sapi_args='--enable-phpdbg %{?debug:--enable-phpdbg-debug}' ;; esac %configure \ EXTRA_LDFLAGS="%{rpmldflags}" \ --program-suffix=%{php_suffix} \ + --disable-cgi \ + --disable-cli \ + --disable-phpdbg \ $sapi_args \ %if "%{!?configure_cache:0}%{?configure_cache}" == "0" --cache-file=config.cache \ %endif - --datadir=%{php_datadir} \ + --datadir=%{php_data_dir} \ --with-libdir=%{_lib} \ --with-config-file-path=%{_sysconfdir} \ --with-config-file-scan-dir=%{_sysconfdir}/conf.d \ @@ -2121,7 +2109,7 @@ for sapi in $sapis; do %{?with_argon2:--with-password-argon2} \ --%{!?with_debug:dis}%{?with_debug:en}able-debug \ %{?with_zts:--enable-maintainer-zts} \ - --enable-inline-optimization \ + --enable-option-checking=fatal \ %{__enable_disable bcmath bcmath shared} \ %{__enable_disable calendar calendar shared} \ %{__enable_disable ctype ctype shared} \ @@ -2137,8 +2125,8 @@ for sapi in $sapis; do --enable-mbregex \ %{__enable_disable pcntl pcntl shared} \ %{__enable_disable pdo pdo shared} \ - %{__enable_disable json json shared} \ --enable-xmlwriter=shared \ + %{?with_avif:--with-avif} \ %if %{with fpm} --with-fpm-user=http \ --with-fpm-group=http \ @@ -2171,7 +2159,7 @@ for sapi in $sapis; do --enable-tokenizer=shared \ --enable-xml=shared \ --enable-xmlreader=shared \ - %{__with_without bz2 bz2 shared} \ + %{__with_without bzip2 bz2 shared} \ %{__with_without curl curl shared} \ --with-db4 \ %{__with_without iconv iconv shared} \ @@ -2206,7 +2194,6 @@ for sapi in $sapis; do %{__with_without sqlite3 sqlite3 shared} \ %{?with_tidy:--with-tidy=shared} \ %{?with_odbc:--with-unixODBC=shared} \ - %{__with_without xmlrpc xmlrpc shared,/usr} \ %{?with_xsl:--with-xsl=shared} \ --with-zlib=shared \ %{?with_zip:--with-zip=shared} \ @@ -2230,7 +2217,7 @@ cp -af Makefile.cli Makefile MYSQLND_SHARED_LIBADD="-lssl -lcrypto" %if %{with apache2} -%{__make} libtool-sapi LIBTOOL_SAPI=sapi/apache2handler/libphp7.la -f Makefile.apxs2 +%{__make} libtool-sapi LIBTOOL_SAPI=sapi/apache2handler/libphp8.la -f Makefile.apxs2 %endif %if %{with litespeed} @@ -2238,7 +2225,7 @@ cp -af Makefile.cli Makefile %endif %if %{with embed} -%{__make} -f Makefile.embed libphp7.la +%{__make} -f Makefile.embed libphp8.la %endif %if %{with phpdbg} @@ -2346,10 +2333,10 @@ v=$(echo %{version} | cut -d. -f1-2) # install Apache2 DSO module %if %{with apache2} # versioned libphp -libtool --mode=install install -p sapi/apache2handler/libphp7.la $RPM_BUILD_ROOT%{_libdir}/apache -%{__mv} $RPM_BUILD_ROOT%{_libdir}/apache/libphp7.la $RPM_BUILD_ROOT%{_libdir}/apache/libphp%{php_suffix}.la -%{__mv} $RPM_BUILD_ROOT%{_libdir}/apache/libphp7.so $RPM_BUILD_ROOT%{_libdir}/apache/libphp%{php_suffix}.so -sed -i -e "s|libphp7|libphp%{php_suffix}|g" $RPM_BUILD_ROOT%{_libdir}/apache/libphp%{php_suffix}.la +libtool --mode=install install -p sapi/apache2handler/libphp8.la $RPM_BUILD_ROOT%{_libdir}/apache +%{__mv} $RPM_BUILD_ROOT%{_libdir}/apache/libphp8.la $RPM_BUILD_ROOT%{_libdir}/apache/libphp%{php_suffix}.la +%{__mv} $RPM_BUILD_ROOT%{_libdir}/apache/libphp8.so $RPM_BUILD_ROOT%{_libdir}/apache/libphp%{php_suffix}.so +sed -i -e "s|libphp8|libphp%{php_suffix}|g" $RPM_BUILD_ROOT%{_libdir}/apache/libphp%{php_suffix}.la ln -s libphp%{php_suffix}.so $RPM_BUILD_ROOT%{_libdir}/apache/mod_php.so %endif @@ -2413,7 +2400,7 @@ touch $RPM_BUILD_ROOT%{_sbindir}/php-fpm # we could use install-headers from Makefile.embed, but that would reinstall all headers # install-sapi installs to wrong dir, so just do it all manually install -d $RPM_BUILD_ROOT%{_includedir}/php/php%{php_suffix}/sapi/embed -install -p libs/libphp7.so $RPM_BUILD_ROOT%{_libdir}/libphp%{php_suffix}.so +install -p libs/libphp8.so $RPM_BUILD_ROOT%{_libdir}/libphp%{php_suffix}.so cp -p sapi/embed/php_embed.h $RPM_BUILD_ROOT%{_includedir}/php/php%{php_suffix}/sapi/embed %endif @@ -2454,14 +2441,14 @@ install -d $RPM_BUILD_ROOT%{_includedir}/php/php%{php_suffix}/ext/mbstring cp -p ext/mbstring/libmbfl/mbfl/*.h $RPM_BUILD_ROOT%{_includedir}/php/php%{php_suffix}/ext/mbstring # tests -install -d $RPM_BUILD_ROOT%{php_datadir}/tests/php -install -p run-tests.php $RPM_BUILD_ROOT%{php_datadir}/tests/php/run-tests.php -cp -a tests/* $RPM_BUILD_ROOT%{php_datadir}/tests/php +install -d $RPM_BUILD_ROOT%{php_data_dir}/tests/php +install -p run-tests.php $RPM_BUILD_ROOT%{php_data_dir}/tests/php/run-tests.php +cp -a tests/* $RPM_BUILD_ROOT%{php_data_dir}/tests/php # fix install paths, avoid evil rpaths sed -i -e "s|^libdir=.*|libdir='%{_libdir}'|" $RPM_BUILD_ROOT%{_libdir}/libphp_common%{php_suffix}.la -install -p ext/ext_skel.php $RPM_BUILD_ROOT%{_bindir} +install -p ext/ext_skel.php $RPM_BUILD_ROOT%{_bindir}/ext_skel%{php_suffix} %clean rm -rf $RPM_BUILD_ROOT @@ -2479,7 +2466,7 @@ fi %post cli update-alternatives \ --install %{_bindir}/php php %{_bindir}/php%{php_suffix} %{php_suffix} \ - --slave %{_mandir}/man1/php.1 php.1 %{_mandir}/man1/php%{php_suffix}.1* || : + --slave %{_mandir}/man1/php.1.gz php.1.gz %{_mandir}/man1/php%{php_suffix}.1.gz || : %postun cli if [ $1 -eq 0 ]; then @@ -2492,10 +2479,12 @@ fi %post devel update-alternatives \ --install %{_bindir}/phpize phpize %{_bindir}/phpize%{php_suffix} %{php_suffix} \ - --slave %{_mandir}/man1/php.1 php.1 %{_mandir}/man1/php%{php_suffix}.1* || : + --slave %{_mandir}/man1/phpize.1.gz phpize.1.gz %{_mandir}/man1/phpize%{php_suffix}.1.gz || : update-alternatives \ --install %{_bindir}/php-config php-config %{_bindir}/php-config%{php_suffix} %{php_suffix} \ - --slave %{_mandir}/man1/php.1 php.1 %{_mandir}/man1/php%{php_suffix}.1* || : + --slave %{_mandir}/man1/php-config.1.gz php-config.1.gz %{_mandir}/man1/php-config%{php_suffix}.1.gz || : +update-alternatives \ + --install %{_bindir}/ext_skel ext_skel %{_bindir}/ext_skel%{php_suffix} %{php_suffix} || : %postun devel if [ $1 -eq 0 ]; then @@ -2509,7 +2498,9 @@ fi %post fpm /sbin/chkconfig --add %{name}-fpm %service %{name}-fpm restart -update-alternatives --install %{_sbindir}/php-fpm php-fpm %{_sbindir}/php%{php_suffix}-fpm %{php_suffix} || : +update-alternatives \ + --install %{_sbindir}/php-fpm php-fpm %{_sbindir}/php%{php_suffix}-fpm %{php_suffix} \ + --slave %{_mandir}/man8/php-fpm.8.gz php-fpm.8.gz %{_mandir}/man8/php-fpm%{php_suffix}.8.gz || : %preun fpm if [ "$1" = "0" ]; then @@ -2548,7 +2539,14 @@ fi # restart webserver at the end of transaction [ ! -f /etc/httpd/conf.d/??_mod_php.conf ] || %service -q httpd restart -%triggerpostun common -- php-common < 4:5.3.28-7 +%triggerpostun common -- %{name}-common < 4:5.6.4-2, php-common < 4:5.6.4-2 +# switch to browscap package if the ini file has original value +%{__sed} -i -e 's#%{_sysconfdir}/browscap.ini#/usr/share/browscap/php_browscap.ini#' %{_sysconfdir}/php.ini +# disable browscap, if optional package not present +if [ ! -e /usr/share/browscap/php_browscap.ini ]; then + %{__sed} -i -e 's#^browscap = /usr/share/browscap/php_browscap.ini#;&#' %{_sysconfdir}/php.ini +fi + # migrate configs /etc/php/conf.d -> /etc/phpXY/conf.d/ # do config migration in php-common trigger, as the trigger is ran after all packages are upgraded # this way we can stick to one trigger, instead of attaching one for each (sub)package! @@ -2569,14 +2567,6 @@ for f in /etc/php/*.ini.rpmsave /etc/php/*.d/*.ini.rpmsave; do ' $nf done -%triggerpostun common -- %{name}-common < 4:5.6.4-2, php-common < 4:5.6.4-2 -# switch to browscap package if the ini file has original value -%{__sed} -i -e 's#%{_sysconfdir}/browscap.ini#/usr/share/browscap/php_browscap.ini#' %{_sysconfdir}/php.ini -# disable browscap, if optional package not present -if [ ! -e /usr/share/browscap/php_browscap.ini ]; then - %{__sed} -i -e 's#^browscap = /usr/share/browscap/php_browscap.ini#;&#' %{_sysconfdir}/php.ini -fi - %triggerpostun -n apache-mod_%{name} -- apache-mod_%{name} < 4:7.0.0-2.RC4 sed -i -e 's#modules/libphp[57].so#modules/mod_php.so#g' /etc/httpd/conf.d/*_mod_php.conf @@ -2621,7 +2611,6 @@ fi \ %extension_scripts iconv %extension_scripts imap %extension_scripts intl -%extension_scripts json %extension_scripts ldap %extension_scripts mbstring %extension_scripts mysqli @@ -2657,7 +2646,6 @@ fi \ %extension_scripts tokenizer %extension_scripts xml %extension_scripts xmlreader -%extension_scripts xmlrpc %extension_scripts xmlwriter %extension_scripts xsl %extension_scripts zip @@ -2667,7 +2655,7 @@ fi \ %ext_post update-alternatives \ --install %{_bindir}/phar phar %{_bindir}/phar%{php_suffix}.phar %{php_suffix} \ - --slave %{_mandir}/man1/phar.1 phar.1 %{_mandir}/man1/phar%{php_suffix}.1* || : + --slave %{_mandir}/man1/phar.1.gz phar.1.gz %{_mandir}/man1/phar%{php_suffix}.1.gz || : %postun phar %ext_postun @@ -2746,7 +2734,7 @@ fi %dir %{_sysconfdir}/conf.d %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php.ini %attr(755,root,root) %{_libdir}/libphp_common%{php_suffix}-*.so -%dir %{php_datadir} +%dir %{php_data_dir} %dir %{php_extensiondir} %doc ext/session/mod_files.sh @@ -2754,7 +2742,7 @@ fi %files devel %defattr(644,root,root,755) %doc CODING_STANDARDS.md docs/*.md -%attr(755,root,root) %{_bindir}/ext_skel.php +%attr(755,root,root) %{_bindir}/ext_skel%{php_suffix} %attr(755,root,root) %{_bindir}/phpize%{php_suffix} %attr(755,root,root) %{_bindir}/php-config%{php_suffix} %ghost %{_bindir}/phpize @@ -2775,7 +2763,7 @@ fi %attr(755,root,root) %{php_extensiondir}/bcmath.so %endif -%if %{with bz2} +%if %{with bzip2} %files bz2 %defattr(644,root,root,755) %doc ext/bz2/CREDITS @@ -2919,14 +2907,6 @@ fi %attr(755,root,root) %{php_extensiondir}/intl.so %endif -%if %{with json} -%files json -%defattr(644,root,root,755) -%doc ext/json/CREDITS -%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_json.ini -%attr(755,root,root) %{php_extensiondir}/json.so -%endif - %if %{with ldap} %files ldap %defattr(644,root,root,755) @@ -2959,7 +2939,7 @@ fi %attr(755,root,root) %{php_extensiondir}/mysqlnd.so %endif -%if %{with oci} +%if %{with pdo_oci} %files oci8 %defattr(644,root,root,755) %doc ext/oci8/{CREDITS,README} @@ -3031,7 +3011,7 @@ fi %attr(755,root,root) %{php_extensiondir}/pdo_mysql.so %endif -%if %{with pdo_oci} +%if %{with oci} %files pdo-oci %defattr(644,root,root,755) %doc ext/pdo_oci/CREDITS @@ -3094,7 +3074,6 @@ fi %if %{with pspell} %files pspell %defattr(644,root,root,755) -%doc ext/pspell/CREDITS %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_pspell.ini %attr(755,root,root) %{php_extensiondir}/pspell.so %endif @@ -3184,18 +3163,17 @@ fi %files tests %defattr(644,root,root,755) -%dir %{php_datadir}/tests -%dir %{php_datadir}/tests/php -%{php_datadir}/tests/php/basic -%{php_datadir}/tests/php/classes -%{php_datadir}/tests/php/func -%{php_datadir}/tests/php/lang -%{php_datadir}/tests/php/output -%{php_datadir}/tests/php/run-test -%{php_datadir}/tests/php/security -%{php_datadir}/tests/php/strings -%{php_datadir}/tests/php/quicktester.inc -%attr(755,root,root) %{php_datadir}/tests/php/run-tests.php +%dir %{php_data_dir}/tests +%dir %{php_data_dir}/tests/php +%{php_data_dir}/tests/php/basic +%{php_data_dir}/tests/php/classes +%{php_data_dir}/tests/php/func +%{php_data_dir}/tests/php/lang +%{php_data_dir}/tests/php/output +%{php_data_dir}/tests/php/run-test +%{php_data_dir}/tests/php/security +%{php_data_dir}/tests/php/strings +%attr(755,root,root) %{php_data_dir}/tests/php/run-tests.php %if %{with tidy} %files tidy @@ -3223,14 +3201,6 @@ fi %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_xmlreader.ini %attr(755,root,root) %{php_extensiondir}/xmlreader.so -%if %{with xmlrpc} -%files xmlrpc -%defattr(644,root,root,755) -%doc ext/xmlrpc/CREDITS -%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_xmlrpc.ini -%attr(755,root,root) %{php_extensiondir}/xmlrpc.so -%endif - %files xmlwriter %defattr(644,root,root,755) %doc ext/xmlwriter/CREDITS @@ -3248,7 +3218,8 @@ fi %if %{with zip} %files zip %defattr(644,root,root,755) -%doc ext/zip/{CREDITS,examples} +%doc ext/zip/CREDITS +%doc ext/zip/examples %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_zip.ini %attr(755,root,root) %{php_extensiondir}/zip.so %endif