X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=php.spec;h=b3557ce20ccd1fbe2a167225c54b74614df1fc5e;hb=5082ab8862ec3a4f22c0246bdfdbb04e088672a3;hp=6d8f054cd0d423437c12bc5c14546d5a0c0d2551;hpb=9361e182008e267a508e124e72128bb7622ef5a5;p=packages%2Fphp.git diff --git a/php.spec b/php.spec index 6d8f054..b3557ce 100644 --- a/php.spec +++ b/php.spec @@ -6,8 +6,6 @@ # - update imap myrights patch (needs api porting) # --with-libmbfl=DIR MBSTRING: Use external libmbfl. DIR is the libmbfl base install directory BUNDLED # --with-onig=DIR MBSTRING: Use external oniguruma. DIR is the oniguruma install prefix. -# UNPACKAGED EXTENSION NOTES: -# - com_dotnet is Win32-only # TODO: # - fileinfo extension bundles magic db in library: data_file.c (dump of magic.mgc) is 14M # - 2.3M fileinfo.so php54-fileinfo-5.4.6-0.15.x86_64 @@ -16,9 +14,6 @@ # - ttyname_r() misdetected http://bugs.php.net/bug.php?id=48820 # - wddx: restore session support (not compiled in due DL extension check) # - modularize standard (output from pure php -m)? -# - WARNING: Phar: sha256/sha512 signature support disabled if ext/hash is -# built shared, also PHAR_HAVE_OPENSSL is false if openssl is built shared. -# make it runtime dep and add Suggests (or php warning messages) # - some mods should be shared: #$ php -m # [PHP Modules] @@ -139,8 +134,6 @@ %undefine with_filter %endif -%define rel 1 -%define subver RC6 %define orgname php %define ver_suffix 70 %define php_suffix %{!?with_default_php:%{ver_suffix}} @@ -151,18 +144,17 @@ Summary(pt_BR.UTF-8): A linguagem de script PHP Summary(ru.UTF-8): PHP Версии 7 - язык препроцессирования HTML-файлов, выполняемый на сервере Summary(uk.UTF-8): PHP Версії 7 - мова препроцесування HTML-файлів, виконувана на сервері Name: %{orgname}%{php_suffix} -Version: 7.0.0 -Release: %{rel}.%{subver} +Version: 7.0.2 +Release: 2 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://www.php.net/distributions/%{orgname}-%{version}.tar.xz -Source0: https://downloads.php.net/~ab/php-%{version}%{subver}.tar.xz -# Source0-md5: 809731123f62a9fcc706385de9a5dc5b -Source2: %{orgname}-mod_%{orgname}.conf +Source0: http://www.php.net/distributions/%{orgname}-%{version}.tar.xz +# Source0-md5: ce5964672e4ec0b66ff088a6bafde8c7 +Source2: %{orgname}-mod_php.conf Source3: %{orgname}-cgi-fcgi.ini Source4: %{orgname}-apache.ini Source5: %{orgname}-cli.ini @@ -175,6 +167,7 @@ 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 @@ -221,6 +214,8 @@ Patch67: mysql-lib-ver-mismatch.patch Patch68: php-mysql-ssl-context.patch Patch69: fpm-conf-split.patch Patch70: mysqlnd-ssl.patch +Patch71: libdb-info.patch +Patch72: phar-hash-shared.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} @@ -254,6 +249,7 @@ 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: libwebp-devel} BuildRequires: tokyocabinet-devel %if "%{pld_release}" != "ac" @@ -1441,12 +1437,14 @@ 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}-hash = %{epoch}:%{version}-%{release} Requires: %{name}-spl = %{epoch}:%{version}-%{release} +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 @@ -1925,17 +1923,13 @@ compression support to PHP. Moduł PHP umożliwiający używanie kompresji zlib. %prep -%if 1 -%setup -q -n %{orgname}-%{version}%{?subver} -%else -%setup -qc -n %{orgname}-%{version} -mv php-src-*/* . -%endif +%setup -q -n %{orgname}-%{version} cp -p php.ini-production php.ini %patch0 -p1 %patch1 -p1 #%patch2 -p1 NEEDS PORTING %patch3 -p1 +%patch4 -p1 %patch5 -p1 %patch6 -p1 %patch7 -p1 @@ -2000,12 +1994,17 @@ exit 1 %patch67 -p1 #%patch68 -p1 DROP or update to 7.0 APIs %patch70 -p1 +%patch71 -p1 +%patch72 -p1 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 +# com_dotnet is Win32-only +%{__rm} -r ext/com_dotnet + # conflict seems to be resolved by recode patches %{__rm} ext/recode/config9.m4 @@ -2065,13 +2064,31 @@ mv Zend/tests/bug39438.phpt{,.disable} %{__rm} -r ext/sqlite3/tests %endif +# ----- Manage known as failed test ------- +# affected by systzdata patch +%{__rm} ext/date/tests/timezone_location_get.phpt +%{__rm} ext/date/tests/timezone_version_get.phpt +%{__rm} ext/date/tests/timezone_version_get_basic1.phpt +# Should be skipped but fails sometime +%{__rm} ext/standard/tests/file/file_get_contents_error001.phpt +# fails sometimes +%{__rm} ext/sockets/tests/mcast_ipv?_recv.phpt +# causes stack exhausion +%{__rm} Zend/tests/bug54268.phpt +%{__rm} Zend/tests/bug68412.phpt + +# avoid issues when two builds run simultaneously +%ifarch %{x8664} +sed -e 's/64321/64322/' -i ext/openssl/tests/*.phpt +%endif + # skip XFAILs # no point testing stuff that is knowingly broken -find -name '*.phpt' | xargs grep XFAIL -l | xargs rm -v +find -name '*.phpt' | xargs grep '^--XFAIL--' -l | xargs rm -v env \ %ifarch %{ix86} -ix86= x8664=: +ix86= x8664=: \ %endif %ifarch %{x8664} ix86=: x8664= \ @@ -2467,6 +2484,7 @@ exit 1 cat <<'EOF' > run-tests.sh #!/bin/sh export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2 +export SKIP_ONLINE_TESTS=1 unset TZ LANG LC_ALL || : %{__make} test \ EXTENSION_DIR=modules \ @@ -2511,9 +2529,11 @@ cp -pf Makefile.cli Makefile # version the .phar files mv $RPM_BUILD_ROOT%{_bindir}/phar{,%{ver_suffix}}.phar -mv $RPM_BUILD_ROOT%{_mandir}/man1/phar{,%{ver_suffix}}.phar.1 -# make link relative -ln -sfn phar%{ver_suffix}.phar $RPM_BUILD_ROOT%{_bindir}/phar +mv $RPM_BUILD_ROOT%{_mandir}/man1/phar{,%{ver_suffix}}.1 +# touch for ghost +%{__rm} $RPM_BUILD_ROOT%{_bindir}/phar +touch $RPM_BUILD_ROOT%{_bindir}/phar +touch $RPM_BUILD_ROOT%{_mandir}/man1/phar.1 # version suffix v=$(echo %{version} | cut -d. -f1-2) @@ -2552,11 +2572,11 @@ cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/php-cgi-fcgi.ini # install FCGI PM %if %{with fpm} -install -d $RPM_BUILD_ROOT{%{_sysconfdir}/fpm.d,%{_sbindir}} +install -d $RPM_BUILD_ROOT{%{_sysconfdir}/php-fpm.d,%{_sbindir}} libtool --mode=install install -p sapi/fpm/php-fpm $RPM_BUILD_ROOT%{_sbindir}/%{name}-fpm cp -p sapi/fpm/php-fpm.8 $RPM_BUILD_ROOT%{_mandir}/man8/%{name}-fpm.8 cp -p sapi/fpm/php-fpm.conf $RPM_BUILD_ROOT%{_sysconfdir} -cp -p sapi/fpm/www.conf $RPM_BUILD_ROOT%{_sysconfdir}/fpm.d +cp -p sapi/fpm/www.conf $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.d install -d $RPM_BUILD_ROOT/etc/rc.d/init.d install -p %{SOURCE10} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}-fpm install -d $RPM_BUILD_ROOT/etc/logrotate.d @@ -2567,9 +2587,9 @@ cp -p %{SOURCE11} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}-fpm %{__sed} -i -e ' s#/usr/lib/php#%{php_extensiondir}# - s#/etc/php#%{_sysconfdir}# + s#/etc/php/#%{_sysconfdir}/# s#@processname@#%{name}-fpm#g -' $RPM_BUILD_ROOT{/etc/{rc.d/init.d/%{name}-fpm,logrotate.d/%{name}-fpm},%{_sysconfdir}/php-fpm.conf,%{_sysconfdir}/fpm.d/www.conf} +' $RPM_BUILD_ROOT{/etc/{rc.d/init.d/%{name}-fpm,logrotate.d/%{name}-fpm},%{_sysconfdir}/php-fpm.conf,%{_sysconfdir}/php-fpm.d/www.conf} %endif # install Embedded API @@ -2734,16 +2754,24 @@ fi 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 @@ -2787,7 +2815,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 @@ -2814,6 +2841,18 @@ fi %extension_scripts zip %extension_scripts zlib +%post phar +%ext_post +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* || : + +%postun phar +%ext_postun +if [ $1 -eq 0 ]; then + update-alternatives --remove phar %{_bindir}/phar || : +fi + %if %{with apache2} %files -n apache-mod_%{name} %defattr(644,root,root,755) @@ -2861,9 +2900,9 @@ fi %files fpm %defattr(644,root,root,755) %doc sapi/fpm/{CREDITS,LICENSE} -%dir %{_sysconfdir}/fpm.d +%dir %{_sysconfdir}/php-fpm.d %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php-fpm.conf -%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fpm.d/www.conf +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php-fpm.d/www.conf %attr(755,root,root) %{_sbindir}/%{name}-fpm %{_mandir}/man8/%{name}-fpm.8* %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}-fpm @@ -3240,10 +3279,11 @@ 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 %attr(755,root,root) %{_bindir}/phar%{ver_suffix}.phar -%{_mandir}/man1/phar.1* -%{_mandir}/man1/phar%{ver_suffix}.phar.1 +%{_mandir}/man1/phar.phar.1 +%{_mandir}/man1/phar%{ver_suffix}.1* +%ghost %{_bindir}/phar +%ghost %{_mandir}/man1/phar.1 %endif %if %{with posix}