X-Git-Url: http://git.pld-linux.org/?p=packages%2Fphp.git;a=blobdiff_plain;f=php.spec;h=967dd40e99046ee26970521ce6d2d730b01456ec;hp=1bd7f18dbff1e19ff221e3b54b85c8f130ac328a;hb=61d0f04;hpb=96f92f8f6ba0e2497dd1fc0b82da1b9a8cb8d4a7 diff --git a/php.spec b/php.spec index 1bd7f18..967dd40 100644 --- a/php.spec +++ b/php.spec @@ -14,7 +14,7 @@ %bcond_without alternatives # use alternatives system to select default phar and php-fpm %bcond_with default_php # build this PHP as default PHP in system (disables alternatives) # - 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 @@ -47,7 +47,6 @@ %bcond_without iconv # without iconv extension module %bcond_without 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) @@ -78,7 +77,6 @@ %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 # extensions options @@ -139,18 +137,17 @@ %undefine with_pdo_sqlite %endif -%define rel 2 %define orgname php -%define ver_suffix 74 +%define ver_suffix 80 %define php_suffix %{!?with_default_php:%{ver_suffix}} 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.6 +Version: 8.0.7 Release: 1 Epoch: 4 # All files licensed under PHP version 3.01, except @@ -159,7 +156,7 @@ Epoch: 4 License: PHP 3.01 and Zend and BSD Group: Libraries Source0: https://php.net/distributions/%{orgname}-%{version}.tar.xz -# Source0-md5: 523b7d61e5fa8ea15375f6d1f7e2876a +# Source0-md5: ee5d675f8e9d58fcdc4c887d3d9e8412 Source1: opcache.ini Source2: %{orgname}-mod_php.conf Source3: %{orgname}-cgi-fcgi.ini @@ -181,7 +178,6 @@ 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 @@ -197,7 +193,6 @@ Patch43: %{orgname}-silent-session-cleanup.patch Patch44: %{orgname}-include_path.patch Patch50: extension-shared-optional-dep.patch Patch53: fix-test-run.patch -Patch55: bug-52078-fileinode.patch Patch59: %{orgname}-systzdata.patch Patch60: %{orgname}-oracle-instantclient.patch Patch66: php-db.patch @@ -271,7 +266,6 @@ 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} @@ -286,9 +280,9 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %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 php_api_version 20200930 %define zend_module_api %{php_api_version} -%define zend_extension_api 3%{zend_module_api} +%define zend_extension_api 4%{zend_module_api} %define php_pdo_api_version 20170320 # Extension versions @@ -300,7 +294,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.19.2 %define phpdbgver %{version} %define sodiumver %{version} @@ -465,7 +459,6 @@ Summary: /usr/bin/php symlink Summary(pl.UTF-8): Dowiązanie symboliczne /usr/bin/php Group: Development/Languages/PHP Requires: %{name}-cli = %{epoch}:%{version}-%{release} -Obsoletes: /usr/bin/php Obsoletes: php-program < 4:5.3.28-7 %description program @@ -624,6 +617,7 @@ Obsoletes: php56-devel Obsoletes: php70-devel Obsoletes: php71-devel Obsoletes: php73-devel +Obsoletes: php74-devel %description devel The php-devel package lets you compile dynamic extensions to PHP. @@ -1693,9 +1687,7 @@ Summary(pl.UTF-8): Zawiera pliki testów jednostkowych dla PHP i rozszerzeń Group: Libraries URL: http://qa.php.net/ Requires: %{name}-cli -%if "%{_rpmversion}" >= "5" BuildArch: noarch -%endif %description tests This package contains unit tests for PHP and its extensions. @@ -1776,23 +1768,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 @@ -1868,52 +1843,47 @@ 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 -%patch2 -p1 +#%patch2 -p1 -b .mail %patch3 -p1 %patch4 -p1 -%patch7 -p1 +%patch7 -p1 -b .sapi-ini-file %patch9 -p1 -%patch10 -p1 +%patch10 -p1 -b .ini %patch14 -p1 -%patch17 -p1 %patch18 -p1 %patch21 -p1 %patch22 -p1 %patch23 -p1 -%patch24 -p1 +%patch24 -p1 -b .zlib-for-getimagesize %patch25 -p1 %patch27 -p1 %patch29 -p1 %patch31 -p1 -%patch39 -p1 +%patch39 -p1 -b .use-prog_sendmail %patch41 -p1 %patch43 -p1 %patch44 -p1 %patch50 -p1 - %patch53 -p1 -%undos ext/spl/tests/SplFileInfo_getInode_basic.phpt -%patch55 -p1 %patch59 -p1 -b .systzdata %if %{with instantclient} %patch60 -p1 -b .instantclient %endif %patch66 -p1 -%patch67 -p1 +%patch67 -p1 -b .mysql-lib-ver-mismatch #%patch68 -p1 DROP or update to 7.0 APIs -%patch71 -p1 +%patch71 -p1 -b .libdb-info sed -E -i -e '1s,#!\s*/usr/bin/env\s+(.*),#!%{__bindir}\1,' \ ext/ext_skel.php \ run-tests.php -%{__sed} -i -e '/PHP_ADD_LIBRARY_WITH_PATH/s#xmlrpc,#xmlrpc-epi,#' ext/xmlrpc/config.m4 - # cleanup backups after patching find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f @@ -1931,7 +1901,6 @@ find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f #%{__rm} -r ext/mbstring/libmbfl #%{__rm} -r ext/pcre/pcre2lib #%{__rm} -r ext/soap/interop -%{__rm} -r ext/xmlrpc/libxmlrpc #%{__rm} -r ext/zip/lib %{__rm} ext/date/lib/timezonedb.h @@ -2124,8 +2093,7 @@ 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 @@ -2205,7 +2173,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} \ @@ -2221,7 +2189,6 @@ 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 \ %if %{with fpm} --with-fpm-user=http \ @@ -2290,7 +2257,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} \ @@ -2314,7 +2280,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} @@ -2322,7 +2288,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} @@ -2437,9 +2403,9 @@ v=$(echo %{version} | cut -d. -f1-2) # install Apache2 DSO module %if %{with apache2} -libtool --mode=install install -p sapi/apache2handler/libphp7.la $RPM_BUILD_ROOT%{_libdir}/apache -%{__mv} $RPM_BUILD_ROOT%{_libdir}/apache/libphp7{,-$v}.so -ln -s libphp7-$v.so $RPM_BUILD_ROOT%{_libdir}/apache/mod_php.so +libtool --mode=install install -p sapi/apache2handler/libphp8.la $RPM_BUILD_ROOT%{_libdir}/apache +%{__mv} $RPM_BUILD_ROOT%{_libdir}/apache/libphp8{,-$v}.so +ln -s libphp8-$v.so $RPM_BUILD_ROOT%{_libdir}/apache/mod_php.so %endif # install litespeed sapi @@ -2501,7 +2467,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/sapi/embed -install -p libs/libphp7.so $RPM_BUILD_ROOT%{_libdir} +install -p libs/libphp8.so $RPM_BUILD_ROOT%{_libdir} cp -p sapi/embed/php_embed.h $RPM_BUILD_ROOT%{_includedir}/php/sapi/embed %endif @@ -2519,7 +2485,7 @@ cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/cli.d/php.ini %if %{with apache2} cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/httpd/conf.d/70_mod_php.conf cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/apache2handler.d/php.ini -%{__rm} -f $RPM_BUILD_ROOT%{_libdir}/apache/libphp7.la +%{__rm} -f $RPM_BUILD_ROOT%{_libdir}/apache/libphp8.la %endif # ensure that paths are correct for current php version and arch @@ -2614,7 +2580,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! @@ -2635,14 +2608,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 @@ -2723,7 +2688,6 @@ fi \ %extension_scripts tokenizer %extension_scripts xml %extension_scripts xmlreader -%extension_scripts xmlrpc %extension_scripts xmlwriter %extension_scripts xsl %extension_scripts zip @@ -2755,7 +2719,7 @@ fi %defattr(644,root,root,755) %dir %{_sysconfdir}/apache2handler.d %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache2handler.d/php.ini -%attr(755,root,root) %{_libdir}/apache/libphp7-*.*.so +%attr(755,root,root) %{_libdir}/apache/libphp8-*.*.so %endif %if %{with litespeed} @@ -2776,7 +2740,7 @@ fi %if %{with embed} %files embedded %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libphp7.so +%attr(755,root,root) %{_libdir}/libphp8.so %endif %files cli @@ -2990,13 +2954,9 @@ 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 @@ -3298,14 +3258,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