X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=php.spec;h=217e7541c38531faf982fceb04c7a69a7083b81c;hb=2d96d201be16f5fc4e50fc59e6ef649dda280c8f;hp=714710dd99471bfb6ed7851a11cc3e92929083a7;hpb=948813993be0a7d8636615062dc5c73b7c18a63f;p=packages%2Fphp.git diff --git a/php.spec b/php.spec index 714710d..217e754 100644 --- a/php.spec +++ b/php.spec @@ -40,27 +40,41 @@ # Reflection # # Conditional build: -%bcond_with interbase_inst # use InterBase install., not Firebird (BR: proprietary libs) -%bcond_with oci # with Oracle oci8 extension module (BR: proprietary libs) -%bcond_without instantclient # build Oracle oci8 extension module against oracle-instantclient package -%bcond_with system_gd # with system gd (imageantialias function is missing then) -%bcond_with system_libzip # with system libzip (reported broken currently) -%bcond_with default_php # use this PHP as default PHP in distro +# - packaging options +%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 gcov # Enable Code coverage reporting +%bcond_without kerberos5 # without Kerberos5 support +%bcond_with suhosin # with suhosin patch, has little point in PHP>=5.3, see https://github.com/stefanesser/suhosin/issues/42#issuecomment-41728178 +%bcond_with tests # default off; test process very often hangs on builders, approx run time 45m; perform "make test" +%bcond_with type_hints # experimental support for strict typing/casting +%bcond_with zts # Zend Thread Safety +# - SAPI +%bcond_without apache1 # disable building Apache 1.3.x SAPI +%bcond_without apache2 # disable building Apache 2.x SAPI +%bcond_without cgi # disable CGI/FCGI SAPI +%bcond_without fpm # disable FPM SAPI +%bcond_without litespeed # build litespeed SAPI +# - Extensions +%bcond_without bcmath # without bcmath extension module +%bcond_without bz2 # 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 %bcond_without enchant # without Enchant extension module %bcond_without filter # without filter extension module %bcond_without imap # without IMAP extension module %bcond_without interbase # without InterBase extension module %bcond_without intl # without Intl extension module -%bcond_without kerberos5 # without Kerberos5 support -%bcond_without litespeed # build litespeed module %bcond_without ldap # without LDAP extension module %bcond_without mhash # without mhash extension (supported by hash extension) -%bcond_without mm # without mm support for session storage %bcond_without mssql # without MS SQL extension module # don't turn it on by default; see TODO item for mysqlnd in this spec %bcond_with mysqlnd # with mysqlnd support in mysql related extensions %bcond_without mysqli # without mysqli support (Requires mysql > 4.1) +%bcond_with oci # with Oracle oci8 extension module (BR: proprietary libs) %bcond_without odbc # without ODBC extension module %bcond_without opcache # without Enable Zend OPcache extension support %bcond_without openssl # without OpenSSL support and OpenSSL extension (module) @@ -75,19 +89,15 @@ %bcond_without sqlite3 # without SQLite3 extension module %bcond_without sybase_ct # without Sybase-CT extension module %bcond_without tidy # without Tidy extension module -%bcond_without webp # Without WebP support in GD extension (imagecreatefromwebp) %bcond_without wddx # without WDDX extension module %bcond_without xmlrpc # without XML-RPC extension module -%bcond_without apache1 # disable building Apache 1.3.x SAPI -%bcond_without apache2 # disable building Apache 2.x SAPI -%bcond_with zts # Zend Thread Safety -%bcond_without cgi # disable CGI/FCGI SAPI -%bcond_without fpm # disable FPM -%bcond_without embed # disable Embedded API -%bcond_without suhosin # with suhosin patch -%bcond_with tests # default off; test process very often hangs on builders, approx run time 45m; perform "make test" -%bcond_with gcov # Enable Code coverage reporting -%bcond_with type_hints # experimental support for strict typing/casting +# extensions options +%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_with system_gd # with system gd (imageantialias function is missing then) +%bcond_with system_libzip # with system libzip (reported broken currently) +%bcond_without webp # Without WebP support in GD extension (imagecreatefromwebp) %define apxs1 /usr/sbin/apxs1 %define apxs2 /usr/sbin/apxs @@ -100,6 +110,10 @@ %undefine with_litespeed %endif +%if %{with default_php} +%undefine with_alternatives +%endif + # mm is not thread safe %if %{with zts} %undefine with_mm @@ -126,7 +140,7 @@ ERROR: You need to select at least one Apache SAPI to build shared modules. %undefine with_filter %endif -%define rel 4 +%define rel 21 %define orgname php %define ver_suffix 55 %define php_suffix %{!?with_default_php:%{ver_suffix}} @@ -137,13 +151,16 @@ Summary(pt_BR.UTF-8): A linguagem de script PHP Summary(ru.UTF-8): PHP Версии 5 - язык препроцессирования HTML-файлов, выполняемый на сервере Summary(uk.UTF-8): PHP Версії 5 - мова препроцесування HTML-файлів, виконувана на сервері Name: %{orgname}%{php_suffix} -Version: 5.5.21 +Version: 5.5.38 Release: %{rel}%{?with_type_hints:.th} Epoch: 4 -License: PHP +# 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://www.php.net/distributions/%{orgname}-%{version}.tar.xz -# Source0-md5: 79664ce44f7c93f355a25a3fe3dcc91b +# Source0-md5: 72302e26f153687e2ca922909f927443 Source2: %{orgname}-mod_%{orgname}.conf Source3: %{orgname}-cgi-fcgi.ini Source4: %{orgname}-apache.ini @@ -157,10 +174,11 @@ Patch0: %{orgname}-shared.patch Patch1: %{orgname}-pldlogo.patch Patch2: %{orgname}-mail.patch Patch3: %{orgname}-link-libs.patch +Patch4: php-bug-71475.patch Patch5: %{orgname}-filter-shared.patch Patch6: %{orgname}-build_modules.patch Patch7: %{orgname}-sapi-ini-file.patch - +Patch8: openssl.patch Patch10: %{orgname}-ini.patch Patch11: embed.patch %if %{with type_hints} @@ -206,6 +224,7 @@ Patch66: php-db.patch Patch67: mysql-lib-ver-mismatch.patch Patch68: x32.patch Patch69: fpm-conf-split.patch +Patch70: php-icu64.patch URL: http://www.php.net/ %{?with_interbase:%{!?with_interbase_inst:BuildRequires: Firebird-devel >= 1.0.2.908-2}} %{?with_pspell:BuildRequires: aspell-devel >= 2:0.50.0} @@ -238,10 +257,11 @@ BuildRequires: libjpeg-devel BuildRequires: libltdl-devel >= 1.4 BuildRequires: libmcrypt-devel >= 2.4.4 BuildRequires: libpng-devel >= 1.0.8 +%{?with_intl:BuildRequires: libstdc++-devel} %{?with_webp:BuildRequires: libvpx-devel} BuildRequires: tokyocabinet-devel %if "%{pld_release}" != "ac" -BuildRequires: libtool >= 2:2.2 +BuildRequires: libtool >= 2:2.4.6 %else BuildRequires: libtool >= 1.4.3 %endif @@ -257,7 +277,7 @@ BuildRequires: openssl-devel >= 0.9.7d %{?with_snmp:BuildRequires: net-snmp-devel >= 5.0.7} %{?with_oci:%{?with_instantclient:BuildRequires: oracle-instantclient-devel}} BuildRequires: pam-devel -%{?with_pcre:BuildRequires: pcre-devel >= 8.10} +%{?with_pcre:BuildRequires: pcre-devel >= 8.38} BuildRequires: pkgconfig %{?with_pgsql:BuildRequires: postgresql-backend-devel >= 7.2} %{?with_pgsql:BuildRequires: postgresql-devel} @@ -303,7 +323,7 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define hashver 1.0 %define intlver 1.1.0 %define jsonver 1.2.1 -%define opcachever 7.0.4-dev +%define opcachever 7.0.6-dev %define pharver 2.0.2 %define sqlite3ver 0.7-dev %define zipver 1.11.0 @@ -392,20 +412,33 @@ PHP as DSO module for Apache 1.3.x. PHP jako moduł DSO (Dynamic Shared Object) dla Apache 1.3.x. %package -n apache-mod_%{name} -Summary: PHP DSO module for Apache 2.x -Summary(pl.UTF-8): Moduł DSO (Dynamic Shared Object) PHP dla Apache 2.x +Summary: PHP support for Apache 2.x +Summary(pl.UTF-8): Wsparcie PHP dla Apache 2.x Group: Development/Languages/PHP +Requires: apache-mod_%{name}-core = %{epoch}:%{version}-%{release} Requires: %{name}-common = %{epoch}:%{version}-%{release} -Requires: apache(modules-api) = %{apache_modules_api} -Requires: apache-mod_mime Provides: webserver(php) = %{version} Obsoletes: apache-mod_php < 4:5.3.28-7 Obsoletes: phpfi %description -n apache-mod_%{name} -PHP as DSO module for Apache 2.x. +PHP support for Apache 2.x. %description -n apache-mod_%{name} -l pl.UTF-8 +Wsparcie PHP dla Apache 2.x. + +%package -n apache-mod_%{name}-core +Summary: PHP DSO module for Apache 2.x +Summary(pl.UTF-8): Moduł DSO (Dynamic Shared Object) PHP dla Apache 2.x +Group: Development/Languages/PHP +Requires: %{name}-common = %{epoch}:%{version}-%{release} +Requires: apache(modules-api) = %{apache_modules_api} +Requires: apache-mod_mime + +%description -n apache-mod_%{name}-core +PHP as DSO module for Apache 2.x. + +%description -n apache-mod_%{name}-core -l pl.UTF-8 PHP jako moduł DSO (Dynamic Shared Object) dla Apache 2.x. %package litespeed @@ -434,9 +467,6 @@ Provides: php(fcgi) Provides: webserver(php) = %{version} Obsoletes: php-cgi < 4:5.3.28-7 Obsoletes: php-fcgi < 4:5.3.0 -%if "%{pld_release}" != "ac" -Conflicts: logrotate < 3.8.0 -%endif %description cgi PHP as CGI or FastCGI program. @@ -496,11 +526,16 @@ Requires(postun): /usr/sbin/userdel Requires(pre): /bin/id Requires(pre): /usr/sbin/useradd Requires: %{name}-common = %{epoch}:%{version}-%{release} +%{?with_alternatives:Requires: alternatives} +Requires: php-dirs >= 1.4-2 Requires: rc-scripts Provides: php(fpm) Provides: user(http) Provides: webserver(php) = %{version} Obsoletes: php-fpm < 4:5.3.28-7 +%if "%{pld_release}" != "ac" +Conflicts: logrotate < 3.8.0 +%endif %description fpm PHP FastCGI Process Manager. @@ -570,7 +605,7 @@ Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: autoconf >= 2.13 Requires: automake %if "%{pld_release}" != "ac" -Requires: libtool >= 2:2.2 +Requires: libtool >= 2:2.4.6 %else Requires: libtool %endif @@ -583,6 +618,11 @@ Obsoletes: php4-devel Obsoletes: php52-devel Obsoletes: php53-devel Obsoletes: php54-devel +Obsoletes: php56-devel +Obsoletes: php70-devel +Obsoletes: php71-devel +Obsoletes: php72-devel +Obsoletes: php73-devel %description devel The php-devel package lets you compile dynamic extensions to PHP. @@ -1317,7 +1357,7 @@ Group: Libraries URL: http://www.php.net/manual/en/ref.pdo-dblib.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-pdo = %{epoch}:%{version}-%{release} -Provides: php(dblib) +Provides: php(pdo_dblib) Obsoletes: php-pdo-dblib < 4:5.3.28-7 %description pdo-dblib @@ -1336,6 +1376,7 @@ URL: http://www.php.net/manual/en/ref.pdo-firebird.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-pdo = %{epoch}:%{version}-%{release} Provides: php(pdo-firebird) +Provides: php(pdo_firebird) Obsoletes: php-pdo-firebird < 4:5.3.28-7 Obsoletes: php-pecl-PDO_FIREBIRD @@ -1356,6 +1397,7 @@ Requires: %{name}-common = %{epoch}:%{version}-%{release} %{?with_mysqlnd:Requires: %{name}-mysqlnd = %{epoch}:%{version}-%{release}} Requires: %{name}-pdo = %{epoch}:%{version}-%{release} Provides: php(pdo-mysql) +Provides: php(pdo_mysql) Obsoletes: php-pdo-mysql < 4:5.3.28-7 Obsoletes: php-pecl-PDO_MYSQL @@ -1375,6 +1417,7 @@ URL: http://www.php.net/manual/en/ref.pdo-oci.php %{?requires_php_extension} %{?requires_php_pdo_module} Provides: php(pdo-oci) +Provides: php(pdo_oci) Obsoletes: php-pdo-oci < 4:5.3.28-7 Obsoletes: php-pecl-PDO_OCI @@ -1394,6 +1437,7 @@ URL: http://www.php.net/manual/en/ref.pdo-odbc.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-pdo = %{epoch}:%{version}-%{release} Provides: php(pdo-odbc) +Provides: php(pdo_odbc) Obsoletes: php-pdo-odbc < 4:5.3.28-7 Obsoletes: php-pecl-PDO_ODBC @@ -1413,7 +1457,7 @@ URL: http://www.php.net/manual/en/ref.pdo-pgsql.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-pdo = %{epoch}:%{version}-%{release} Provides: php(pdo-pgsql) -Provides: php-pecl-PDO_PGSQL +Provides: php(pdo_pgsql) Obsoletes: php-pdo-pgsql < 4:5.3.28-7 Obsoletes: php-pecl-PDO_PGSQL < 4:5.2.1-2 @@ -1433,6 +1477,7 @@ URL: http://www.php.net/manual/en/ref.pdo-sqlite.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-pdo = %{epoch}:%{version}-%{release} Provides: php(pdo-sqlite) +Provides: php(pdo_sqlite) Obsoletes: php-pdo-sqlite < 4:5.3.28-7 Obsoletes: php-pecl-PDO_SQLITE @@ -1464,12 +1509,13 @@ Moduł PHP umożliwiający dostęp do bazy danych PostgreSQL. Um módulo para aplicações PHP que usam bancos de dados postgresql. %package phar -Summary: phar database module for PHP +Summary: Phar archive module for PHP Summary(pl.UTF-8): Moduł phar dla PHP Group: Libraries URL: http://www.php.net/manual/en/book.phar.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-spl = %{epoch}:%{version}-%{release} +%{?with_alternatives:Requires: alternatives} Suggests: %{name}-cli # zlib is required by phar program, but as phar cli is optional should the dep be too Suggests: %{name}-zlib @@ -1971,9 +2017,11 @@ Moduł PHP umożliwiający używanie kompresji zlib. %patch1 -p1 %patch2 -p1 %patch3 -p1 +%patch4 -p1 %patch5 -p1 %patch6 -p1 %patch7 -p1 +%patch8 -p1 cp -p php.ini-production php.ini %patch10 -p1 @@ -2002,6 +2050,20 @@ cp -p php.ini-production php.ini %patch38 -p1 %patch39 -p1 %if %{with fpm} +%if 0 +# create split php-fpm.conf patch. review (restore other diffs) and commit +cp sapi/fpm/php-fpm.conf.in{,.orig} +%{__sed} -n -e '/; Start a new pool named/,$p' sapi/fpm/php-fpm.conf.in > sapi/fpm/php-fpm.conf-d.in +%{__sed} -i -e '/; Include one or more files/,/include=etc\/fpm\.d/d' sapi/fpm/php-fpm.conf.in +%{__sed} -i -e '/; Start a new pool named/,$d' sapi/fpm/php-fpm.conf.in +set +e +cd .. +diff -u %{orgname}-%{version}/sapi/fpm/php-fpm.conf.in{.orig,} > %{PATCH69} +diff -u /dev/null %{orgname}-%{version}/sapi/fpm/php-fpm.conf-d.in >> %{PATCH69} +exit 1 +%else +%patch69 -p1 +%endif %patch41 -p1 %patch42 -p1 %endif @@ -2011,6 +2073,7 @@ cp -p php.ini-production php.ini #%patch46 -p1 # imap myrights. fixme %if %{with suhosin} %patch47 -p1 +%patch68 -p1 %endif %patch50 -p1 %patch51 -p1 @@ -2025,10 +2088,12 @@ cp -p php.ini-production php.ini %{?with_system_libzip:%patch65 -p1} %patch66 -p1 %patch67 -p1 -%patch68 -p1 -%patch69 -p1 +%patch70 -p1 + +sed -E -i -e '1s,#!\s*/usr/bin/env\s+(.*),#!%{__bindir}\1,' \ + run-tests.php -sed -i -e '/PHP_ADD_LIBRARY_WITH_PATH/s#xmlrpc,#xmlrpc-epi,#' ext/xmlrpc/config.m4 +%{__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 @@ -2061,22 +2126,22 @@ sed -i -e 's#-fvisibility=hidden##g' configure* # disable broken tests # says just "Terminated" twice and fails -mv sapi/cli/tests/022.phpt{,.broken} +%{__mv} sapi/cli/tests/022.phpt{,.broken} # really dumb test, executable binary name is .libs/ something when building # https://bugs.php.net/bug.php?id=54514 -mv tests/basic/bug54514.phpt{,.disable} +%{__mv} tests/basic/bug54514.phpt{,.disable} # breaks whole testsuite unexpectedly: # Fatal error: Call to undefined function gzencode() in run-tests.php on line 1714 # probably broken as zlib is built as shared -mv ext/soap/tests/server019.phpt{,disable} +%{__mv} ext/soap/tests/server019.phpt{,disable} # Fatal error: Call to undefined function gzcompress() in run-tests.php on line 1728 -mv ext/soap/tests/server020.phpt{,disable} +%{__mv} ext/soap/tests/server020.phpt{,disable} # runs out of memory and kills carme vserver # PASS Bug #39438 (Fatal error: Out of memory) [Zend/tests/bug39438.phpt] -mv Zend/tests/bug39438.phpt{,.disable} +%{__mv} Zend/tests/bug39438.phpt{,.disable} # php-5.3.3/ext/standard/tests/file/statpage.phpt %{__rm} ext/standard/tests/file/statpage.phpt @@ -2207,7 +2272,7 @@ if [ ! -f _built-conf ]; then touch _built-conf fi export PROG_SENDMAIL="/usr/lib/sendmail" -export CPPFLAGS="-DDEBUG_FASTCGI -DHAVE_STRNDUP %{rpmcppflags} \ +export CPPFLAGS="-DDEBUG_FASTCGI -DHAVE_STRNDUP -DOPENSSL_NO_SSL2=1 -DOPENSSL_NO_SSL3=1 %{rpmcppflags} \ -I%{_includedir}/xmlrpc-epi" sapis=" @@ -2264,6 +2329,7 @@ for sapi in $sapis; do esac %configure \ + EXTRA_LDFLAGS="%{rpmldflags}" \ $sapi_args \ %if "%{!?configure_cache:0}%{?configure_cache}" == "0" --cache-file=config.cache \ @@ -2516,8 +2582,17 @@ cp -pf Makefile.cli Makefile phpbuilddir=%{_libdir}/%{name}/build \ INSTALL_ROOT=$RPM_BUILD_ROOT -# make link relative -ln -sfn phar.phar $RPM_BUILD_ROOT%{_bindir}/phar +%if %{without default_php} +# version the .phar files +%{__mv} $RPM_BUILD_ROOT%{_bindir}/phar{,%{php_suffix}}.phar +%{__mv} $RPM_BUILD_ROOT%{_mandir}/man1/phar{,%{php_suffix}}.1 +%endif +%if %{with alternatives} +# touch for ghost +%{__rm} $RPM_BUILD_ROOT%{_bindir}/phar +touch $RPM_BUILD_ROOT%{_bindir}/phar +touch $RPM_BUILD_ROOT%{_mandir}/man1/phar.1 +%endif # version suffix v=$(echo %{version} | cut -d. -f1-2) @@ -2525,15 +2600,15 @@ v=$(echo %{version} | cut -d. -f1-2) # install Apache1 DSO module %if %{with apache1} libtool --mode=install install -p sapi/apache/libphp5.la $RPM_BUILD_ROOT%{_libdir}/apache1 -mv $RPM_BUILD_ROOT%{_libdir}/apache1/libphp5{,-$v}.so -ln -s libphp5-$v.so $RPM_BUILD_ROOT%{_libdir}/apache1/libphp5.so +%{__mv} $RPM_BUILD_ROOT%{_libdir}/apache1/libphp5{,-$v}.so +ln -s libphp5-$v.so $RPM_BUILD_ROOT%{_libdir}/apache1/mod_php.so %endif # install Apache2 DSO module %if %{with apache2} libtool --mode=install install -p sapi/apache2handler/libphp5.la $RPM_BUILD_ROOT%{_libdir}/apache -mv $RPM_BUILD_ROOT%{_libdir}/apache/libphp5{,-$v}.so -ln -s libphp5-$v.so $RPM_BUILD_ROOT%{_libdir}/apache/libphp5.so +%{__mv} $RPM_BUILD_ROOT%{_libdir}/apache/libphp5{,-$v}.so +ln -s libphp5-$v.so $RPM_BUILD_ROOT%{_libdir}/apache/mod_php.so %endif # install litespeed sapi @@ -2566,6 +2641,11 @@ cp -p %{SOURCE11} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}-fpm %{__sed} -i -e '/su/d' $RPM_BUILD_ROOT/etc/logrotate.d/%{name}-fpm %endif +%if %{with alternatives} +# touch for ghost for alternatives +touch $RPM_BUILD_ROOT%{_sbindir}/php-fpm +%endif + %{__sed} -i -e ' s#/usr/lib/php#%{php_extensiondir}# s#/etc/php#%{_sysconfdir}# @@ -2618,7 +2698,7 @@ cp -p conf.d/*.ini $RPM_BUILD_ROOT%{_sysconfdir}/conf.d install -d $RPM_BUILD_ROOT%{_sysconfdir}/{cgi-fcgi,cli,apache,apache2handler}.d # for CLI SAPI only -mv $RPM_BUILD_ROOT%{_sysconfdir}/{conf.d/readline.ini,cli.d} +%{__mv} $RPM_BUILD_ROOT%{_sysconfdir}/{conf.d/readline.ini,cli.d} # use system automake and {lib,sh}tool ln -snf /usr/share/automake/config.{guess,sub} $RPM_BUILD_ROOT%{_libdir}/%{name}/build @@ -2679,11 +2759,17 @@ fi %post fpm /sbin/chkconfig --add %{name}-fpm %service %{name}-fpm restart +%if %{with alternatives} +update-alternatives --install %{_sbindir}/php-fpm php-fpm %{_sbindir}/php%{ver_suffix}-fpm %{ver_suffix} || : +%endif %preun fpm -if [ "$1" = 0 ]; then +if [ "$1" = "0" ]; then %service %{name}-fpm stop /sbin/chkconfig --del %{name}-fpm +%if %{with alternatives} + update-alternatives --remove php-fpm %{_sbindir}/php-fpm || : +%endif fi %postun fpm @@ -2694,7 +2780,7 @@ fi %post embedded -p /sbin/ldconfig %postun embedded -p /sbin/ldconfig -%post common +%posttrans common # PHP 5.3 requires timezone being setup, try setup it from tzdata if ! grep -q '^date.timezone[[:space:]]*=' %{_sysconfdir}/php.ini && [ -f /etc/sysconfig/timezone ]; then TIMEZONE= @@ -2704,7 +2790,6 @@ if ! grep -q '^date.timezone[[:space:]]*=' %{_sysconfdir}/php.ini && [ -f /etc/s fi fi -%posttrans common # minimizing apache restarts logics. we restart webserver: # # 1. at the end of transaction. (posttrans, feature from rpm 4.4.2) @@ -2731,8 +2816,8 @@ for f in /etc/php/*.ini.rpmsave /etc/php/*.d/*.ini.rpmsave; do fn=${fn%.rpmsave} nf=%{_sysconfdir}/$dn/$fn test -f "$nf" || continue - cp -vf $nf{,.rpmnew} - mv -vf $f $nf + cp -vfb $nf{,.rpmnew} + cp -vfb $f $nf %{__sed} -i -e ' s#%{_libdir}/php#%{_libdir}/%{name}# s#/etc/php#%{_sysconfdir}# @@ -2747,17 +2832,31 @@ 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 apache1-mod_%{name} -- apache1-mod_%{name} < 4:5.5.30-2 +sed -i -e 's#modules/libphp5.so#modules/mod_php.so#g' /etc/apache/conf.d/*_mod_php.conf + +%triggerpostun -n apache-mod_%{name} -- apache-mod_%{name} < 4:5.5.30-2 +sed -i -e 's#modules/libphp[57].so#modules/mod_php.so#g' /etc/httpd/conf.d/*_mod_php.conf + # common macros called at extension post/postun scriptlet -%define extension_scripts() \ -%post %1 \ +%define ext_post \ if [ "$1" = "1" ]; then \ %php_webserver_restart \ fi \ -\ -%postun %1 \ +%{nil} + +%define ext_postun \ if [ "$1" = "0" ]; then \ %php_webserver_restart \ -fi +fi \ +%{nil} + +%define extension_scripts() \ +%post %1 \ +%ext_post \ +\ +%postun %1 \ +%ext_postun \ %{nil} # extension scripts defines @@ -2803,7 +2902,6 @@ fi %extension_scripts pdo-pgsql %extension_scripts pdo-sqlite %extension_scripts pgsql -%extension_scripts phar %extension_scripts pcntl %extension_scripts posix %extension_scripts pspell @@ -2831,13 +2929,29 @@ fi %extension_scripts zip %extension_scripts zlib +%post phar +%ext_post +%if %{with alternatives} +update-alternatives \ + --install %{_bindir}/phar phar %{_bindir}/phar%{ver_suffix}.phar %{ver_suffix} \ + --slave %{_mandir}/man1/phar.1 phar.1 %{_mandir}/man1/phar%{ver_suffix}.1* || : +%endif + +%postun phar +%ext_postun +%if %{with alternatives} +if [ $1 -eq 0 ]; then + update-alternatives --remove phar %{_bindir}/phar || : +fi +%endif + %if %{with apache1} %files -n apache1-mod_%{name} %defattr(644,root,root,755) %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/apache/conf.d/*_mod_php.conf %dir %{_sysconfdir}/apache.d %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php-apache.ini -%attr(755,root,root) %{_libdir}/apache1/libphp5.so +%attr(755,root,root) %{_libdir}/apache1/mod_php.so %attr(755,root,root) %{_libdir}/apache1/libphp5-*.*.so %endif @@ -2845,9 +2959,12 @@ fi %files -n apache-mod_%{name} %defattr(644,root,root,755) %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/httpd/conf.d/*_mod_php.conf +%attr(755,root,root) %{_libdir}/apache/mod_php.so + +%files -n apache-mod_%{name}-core +%defattr(644,root,root,755) %dir %{_sysconfdir}/apache2handler.d %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php-apache2handler.ini -%attr(755,root,root) %{_libdir}/apache/libphp5.so %attr(755,root,root) %{_libdir}/apache/libphp5-*.*.so %endif @@ -2892,6 +3009,9 @@ fi %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php-fpm.conf %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fpm.d/www.conf %attr(755,root,root) %{_sbindir}/%{name}-fpm +%if %{with alternatives} +%ghost %{_sbindir}/php-fpm +%endif %{_mandir}/man8/%{name}-fpm.8* %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}-fpm %attr(754,root,root) /etc/rc.d/init.d/%{name}-fpm @@ -3227,10 +3347,15 @@ fi %doc ext/phar/{CREDITS,TODO} %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/phar.ini %attr(755,root,root) %{php_extensiondir}/phar.so +%attr(755,root,root) %{_bindir}/phar%{php_suffix}.phar +%{_mandir}/man1/phar%{php_suffix}.1* +%{_mandir}/man1/phar.phar.1* +%if %{with alternatives} +%ghost %{_bindir}/phar +%ghost %{_mandir}/man1/phar.1 +%else %attr(755,root,root) %{_bindir}/phar -%attr(755,root,root) %{_bindir}/phar.phar -%{_mandir}/man1/phar.1* -%{_mandir}/man1/phar.phar.1 +%endif %endif %files posix