X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=php.spec;h=f20d464c6b34552f4747fda7201998caf9517259;hb=7611cec84156255887bbc59cca0b75410a6f5b08;hp=1648a5d617b6eb0646ce521d23001496f30ae641;hpb=85b73eb6b9e6b15aa67cef4e2de335d8b146afc0;p=packages%2Fphp.git diff --git a/php.spec b/php.spec index 1648a5d..f20d464 100644 --- a/php.spec +++ b/php.spec @@ -1,4 +1,7 @@ # NOTE: mysqlnd does not support ssl or compression (see FAQ at http://dev.mysql.com/downloads/connector/php-mysqlnd/) +# UNPACKAGED EXTENSION NOTES: +# - com_dotnet is Win32-only +# - enchant is packaged separately (php-pecl-enchant) # TODO: # - ttyname_r() misdetected http://bugs.php.net/bug.php?id=48820 # - wddx: restore session support (not compiled in due DL extension check) @@ -62,6 +65,7 @@ %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 @@ -105,7 +109,7 @@ ERROR: You need to select at least one Apache SAPI to build shared modules. %undefine with_filter %endif -%define rel 11 +%define rel 6 Summary: PHP: Hypertext Preprocessor Summary(fr.UTF-8): Le langage de script embarque-HTML PHP Summary(pl.UTF-8): Język skryptowy PHP @@ -113,13 +117,13 @@ 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: php -Version: 5.3.6 +Version: 5.3.8 Release: %{rel}%{?with_type_hints:.th}%{?with_oci8:.oci} Epoch: 4 License: PHP Group: Libraries Source0: http://www.php.net/distributions/%{name}-%{version}.tar.bz2 -# Source0-md5: 2286f5a82a6e8397955a0025c1c2ad98 +# Source0-md5: 704cd414a0565d905e1074ffdc1fadfb Source2: %{name}-mod_%{name}.conf Source3: %{name}-cgi-fcgi.ini Source4: %{name}-apache.ini @@ -144,6 +148,7 @@ Patch7: %{name}-sapi-ini-file.patch Patch8: %{name}-config-file-scan-dir.patch Patch9: %{name}-sh.patch Patch10: %{name}-ini.patch +Patch11: embed.patch %if %{with type_hints} Patch12: http://ilia.ws/patch/type_hint_53_v2.txt %endif @@ -162,7 +167,6 @@ Patch26: %{name}-pear.patch Patch27: %{name}-config-dir.patch Patch29: %{name}-fcgi-graceful.patch Patch31: %{name}-fcgi-error_log-no-newlines.patch -Patch32: %{name}-curl-limit-speed.patch Patch34: %{name}-libtool.patch Patch35: %{name}-tds.patch Patch36: %{name}-mysql-charsetphpini.patch @@ -189,7 +193,9 @@ Patch60: %{name}-oracle-instantclient.patch Patch61: %{name}-krb5-ac.patch Patch62: mcrypt-libs.patch Patch63: %{name}-mysql-nowarning.patch -Patch64: %{name}-buff_ovf.patch +Patch64: %{name}-m4.patch +# http://spot.fedorapeople.org/php-5.3.6-libzip.patch +Patch65: system-libzip.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} @@ -204,6 +210,7 @@ BuildRequires: elfutils-devel #BuildRequires: fcgi-devel #BuildRequires: flex %{?with_kerberos5:BuildRequires: heimdal-devel} +BuildRequires: libzip-devel >= 0.10-3 BuildRequires: mysql-devel BuildRequires: pkgconfig BuildRequires: sed >= 4.0 @@ -424,6 +431,15 @@ PHP as CLI interpreter. %description cli -l pl.UTF-8 PHP jako interpreter działający z linii poleceń. +%package embedded +Summary: PHP library for embedding in applications +Group: Libraries +Requires: %{name}-common = %{epoch}:%{version}-%{release} + +%description embedded +The php-embedded package contains a library which can be embedded into +applications to provide PHP scripting language support. + %package program Summary: /usr/bin/php symlink Summary(pl.UTF-8): Dowiązanie symboliczne /usr/bin/php @@ -513,7 +529,7 @@ Summary(ru.UTF-8): Пакет разработки для построения Summary(uk.UTF-8): Пакет розробки для побудови розширень PHP Group: Development/Languages/PHP Requires: %{name}-common = %{epoch}:%{version}-%{release} -Requires: autoconf +Requires: autoconf >= 2.13 Requires: automake %if "%{pld_release}" != "ac" Requires: libtool >= 2:2.2 @@ -1623,10 +1639,10 @@ URL: http://qa.php.net/ Requires: %{name}-cli %description tests -This package contains unit tests for PHP and it's extensions. +This package contains unit tests for PHP and its extensions. %description tests -l pl.UTF-8 -Ten pakiet zawiera pliki testów jednostkowych dla PHP i rozszerzeń +Ten pakiet zawiera pliki testów jednostkowych dla PHP i rozszerzeń. %package tidy Summary: Tidy extension module for PHP @@ -1777,6 +1793,7 @@ Summary(pl.UTF-8): Zarządzanie archiwami zip Group: Libraries URL: http://www.php.net/manual/en/book.zip.php Requires: %{name}-common = %{epoch}:%{version}-%{release} +Requires: libzip >= 0.10-3 Provides: php(zip) Obsoletes: php-pecl-zip @@ -1816,8 +1833,9 @@ Moduł PHP umożliwiający używanie kompresji zlib. %patch8 -p1 %patch7 -p1 %patch9 -p1 -cp php.ini-production php.ini +cp -p php.ini-production php.ini %patch10 -p1 +%patch11 -p1 %if %{with type_hints} %patch12 -p0 %endif @@ -1838,7 +1856,6 @@ cp php.ini-production php.ini %patch27 -p1 %patch29 -p1 %patch31 -p1 -%patch32 -p1 %if "%{pld_release}" != "ac" %patch34 -p1 %endif @@ -1873,6 +1890,7 @@ cp php.ini-production php.ini %patch62 -p1 %patch63 -p1 %patch64 -p1 +%patch65 -p1 %{__rm} -r sapi/litespeed gzip -dc %{SOURCE15} | tar xf - -C sapi/ @@ -1903,7 +1921,7 @@ find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f %{__rm} -r ext/xmlrpc/libxmlrpc #%{__rm} -r ext/zip/lib -cp -af Zend/LICENSE{,.Zend} +cp -pf Zend/LICENSE{,.Zend} install -p %{SOURCE13} dep-tests.sh # breaks build @@ -1968,6 +1986,9 @@ litespeed %if %{with fpm} fpm %endif +%if %{with embed} +embed +%endif %if %{with apache1} apxs1 %endif @@ -1991,6 +2012,9 @@ for sapi in $sapis; do fpm) sapi_args='--disable-cli --enable-fpm' ;; + embed) + sapi_args='--disable-cli --enable-embed' + ;; apxs1) ver=$(rpm -q --qf '%{V}' apache1-devel) sapi_args="--disable-cli --with-apxs=%{apxs1} --with-apache-version=$ver" @@ -2059,7 +2083,6 @@ for sapi in $sapis; do --enable-session=shared \ --enable-shmop=shared \ --enable-simplexml=shared \ - --enable-spl=shared \ --enable-sysvmsg=shared \ --enable-sysvsem=shared \ --enable-sysvshm=shared \ @@ -2115,6 +2138,7 @@ for sapi in $sapis; do --with-xsl=shared \ --with-zlib=shared \ --with-zlib-dir=shared,/usr \ + --with-libzip \ --enable-zip=shared,/usr \ # save for debug @@ -2147,20 +2171,20 @@ cp -af Makefile.cli Makefile # CGI/FCGI %if %{with cgi} -cp -af php_config.h.cgi-fcgi main/php_config.h +cp -pf php_config.h.cgi-fcgi main/php_config.h %{__make} -f Makefile.cgi-fcgi [ "$(echo ' /dev/null %endif # CLI -cp -af php_config.h.cli main/php_config.h +cp -pf php_config.h.cli main/php_config.h %{__make} -f Makefile.cli [ "$(echo ' run-tests.sh #!/bin/sh @@ -2244,8 +2268,8 @@ install -d $RPM_BUILD_ROOT{%{_libdir}/{php,apache{,1}},%{_sysconfdir}/{apache,cg $RPM_BUILD_ROOT/etc/{apache/conf.d,httpd/conf.d} \ $RPM_BUILD_ROOT%{_mandir}/man{1,8} \ -cp -af php_config.h.cli main/php_config.h -cp -af Makefile.cli Makefile +cp -pf php_config.h.cli main/php_config.h +cp -pf Makefile.cli Makefile %{__make} install \ INSTALL_ROOT=$RPM_BUILD_ROOT @@ -2254,69 +2278,74 @@ ln -sfn phar.phar $RPM_BUILD_ROOT%{_bindir}/phar # install Apache1 DSO module %if %{with apache1} -libtool --mode=install install sapi/apache/libphp5.la $RPM_BUILD_ROOT%{_libdir}/apache1 +libtool --mode=install install -p sapi/apache/libphp5.la $RPM_BUILD_ROOT%{_libdir}/apache1 %endif # install Apache2 DSO module %if %{with apache2} -libtool --mode=install install sapi/apache2handler/libphp5.la $RPM_BUILD_ROOT%{_libdir}/apache +libtool --mode=install install -p sapi/apache2handler/libphp5.la $RPM_BUILD_ROOT%{_libdir}/apache %endif # install litespeed sapi %if %{with litespeed} -libtool --mode=install install sapi/litespeed/php $RPM_BUILD_ROOT%{_sbindir}/php.litespeed +libtool --mode=install install -p sapi/litespeed/php $RPM_BUILD_ROOT%{_sbindir}/php.litespeed %endif -libtool --mode=install install libphp_common.la $RPM_BUILD_ROOT%{_libdir} -# fix install paths, avoid evil rpaths -sed -i -e "s|^libdir=.*|libdir='%{_libdir}'|" $RPM_BUILD_ROOT%{_libdir}/libphp_common.la -# better solution? -sed -i -e 's|libphp_common.la|$(libdir)/libphp_common.la|' $RPM_BUILD_ROOT%{_libdir}/php/build/acinclude.m4 +libtool --mode=install install -p libphp_common.la $RPM_BUILD_ROOT%{_libdir} # install CGI/FCGI %if %{with cgi} -libtool --mode=install install sapi/cgi/php-cgi $RPM_BUILD_ROOT%{_bindir}/php.cgi +# install-cgi +libtool --mode=install install -p sapi/cgi/php-cgi $RPM_BUILD_ROOT%{_bindir}/php.cgi ln -sf php.cgi $RPM_BUILD_ROOT%{_bindir}/php.fcgi -cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/php-cgi-fcgi.ini +cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/php-cgi-fcgi.ini %endif # install FCGI PM %if %{with fpm} install -d $RPM_BUILD_ROOT{%{_sysconfdir}/fpm.d,%{_sbindir}} -libtool --mode=install install sapi/fpm/php-fpm $RPM_BUILD_ROOT%{_sbindir} -cp -a sapi/fpm/php-fpm.8 $RPM_BUILD_ROOT%{_mandir}/man8 -cp -a sapi/fpm/php-fpm.conf $RPM_BUILD_ROOT%{_sysconfdir} +libtool --mode=install install -p sapi/fpm/php-fpm $RPM_BUILD_ROOT%{_sbindir} +cp -p sapi/fpm/php-fpm.8 $RPM_BUILD_ROOT%{_mandir}/man8 +cp -p sapi/fpm/php-fpm.conf $RPM_BUILD_ROOT%{_sysconfdir} install -d $RPM_BUILD_ROOT/etc/rc.d/init.d install -p %{SOURCE10} $RPM_BUILD_ROOT/etc/rc.d/init.d/php-fpm install -d $RPM_BUILD_ROOT/etc/logrotate.d -cp -a %{SOURCE11} $RPM_BUILD_ROOT/etc/logrotate.d/php-fpm +cp -p %{SOURCE11} $RPM_BUILD_ROOT/etc/logrotate.d/php-fpm +%endif + +# install Embedded API +%if %{with embed} +%{__make} -f Makefile.embed install-sapi INSTALL_ROOT=$RPM_BUILD_ROOT +# we could use install-headers from Makefile.embed, but that would reinstall all headers +install -d $RPM_BUILD_ROOT%{_includedir}/php/sapi/embed +cp -p sapi/embed/php_embed.h $RPM_BUILD_ROOT%{_includedir}/php/sapi/embed %endif # install CLI -libtool --mode=install install sapi/cli/php $RPM_BUILD_ROOT%{_bindir}/php.cli -install sapi/cli/php.1 $RPM_BUILD_ROOT%{_mandir}/man1/php.1 +libtool --mode=install install -p sapi/cli/php $RPM_BUILD_ROOT%{_bindir}/php.cli +cp -p sapi/cli/php.1 $RPM_BUILD_ROOT%{_mandir}/man1/php.1 echo ".so php.1" >$RPM_BUILD_ROOT%{_mandir}/man1/php.cli.1 ln -sf php.cli $RPM_BUILD_ROOT%{_bindir}/php sed -e 's#%{_prefix}/lib/php#%{_libdir}/php#g' php.ini > $RPM_BUILD_ROOT%{_sysconfdir}/php.ini -cp -a %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/php-cli.ini -cp -a %{SOURCE9} $RPM_BUILD_ROOT%{_sysconfdir}/browscap.ini +cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/php-cli.ini +cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_sysconfdir}/browscap.ini %if %{with apache1} -cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/apache/conf.d/70_mod_php.conf -cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/php-apache.ini -rm -f $RPM_BUILD_ROOT%{_libdir}/apache1/libphp5.la +cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/apache/conf.d/70_mod_php.conf +cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/php-apache.ini +%{__rm} -f $RPM_BUILD_ROOT%{_libdir}/apache1/libphp5.la %endif %if %{with apache2} -cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/httpd/conf.d/70_mod_php.conf -cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/php-apache2handler.ini -rm -f $RPM_BUILD_ROOT%{_libdir}/apache/libphp5.la +cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/httpd/conf.d/70_mod_php.conf +cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/php-apache2handler.ini +%{__rm} -f $RPM_BUILD_ROOT%{_libdir}/apache/libphp5.la %endif install -d $RPM_BUILD_ROOT%{_sysconfdir}/conf.d -cp -a conf.d/*.ini $RPM_BUILD_ROOT%{_sysconfdir}/conf.d +cp -p conf.d/*.ini $RPM_BUILD_ROOT%{_sysconfdir}/conf.d # per SAPI ini directories install -d $RPM_BUILD_ROOT%{_sysconfdir}/{cgi-fcgi,cli,apache,apache2handler}.d @@ -2339,13 +2368,20 @@ ln -snf %{_bindir}/shtool $RPM_BUILD_ROOT%{_libdir}/php/build # for php-pecl-mailparse install -d $RPM_BUILD_ROOT%{_includedir}/php/ext/mbstring -cp -a ext/mbstring/libmbfl/mbfl/*.h $RPM_BUILD_ROOT%{_includedir}/php/ext/mbstring +cp -p ext/mbstring/libmbfl/mbfl/*.h $RPM_BUILD_ROOT%{_includedir}/php/ext/mbstring # tests 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.la +# libphp5.la contains our buildroot in dependency_libs +sed -i -e "/dependency_libs/ s,/[^ ]*/libs/libphp_common.la,%{_libdir}/libphp_common.la," $RPM_BUILD_ROOT%{_libdir}/libphp5.la +# better solution? +sed -i -e 's|libphp_common.la|$(libdir)/libphp_common.la|' $RPM_BUILD_ROOT%{_libdir}/php/build/acinclude.m4 + %clean rm -rf $RPM_BUILD_ROOT @@ -2387,6 +2423,9 @@ if [ "$1" = "0" ]; then %userremove http fi +%post embedded -p /sbin/ldconfig +%postun embedded -p /sbin/ldconfig + %post 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 @@ -2689,6 +2728,12 @@ fi %attr(755,root,root) %{_bindir}/php.fcgi %endif +%if %{with embed} +%files embedded +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libphp5-%{version}.so +%endif + %files cli %defattr(644,root,root,755) %dir %{_sysconfdir}/cli.d @@ -2704,8 +2749,7 @@ fi %if %{with fpm} %files fpm %defattr(644,root,root,755) -%doc sapi/fpm/CREDITS -%doc sapi/fpm/LICENSE +%doc sapi/fpm/{CREDITS,LICENSE} %dir %{_sysconfdir}/fpm.d %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php-fpm.conf %attr(755,root,root) %{_sbindir}/php-fpm @@ -2716,12 +2760,7 @@ fi %files common %defattr(644,root,root,755) -%doc php.ini-* -%doc CREDITS Zend/ZEND_CHANGES -%doc LICENSE Zend/LICENSE.Zend EXTENSIONS NEWS TODO* -%doc README.PHP4-TO-PHP5-THIN-CHANGES -%doc README.namespaces - +%doc CREDITS EXTENSIONS LICENSE NEWS README.{PHP4-TO-PHP5-THIN-CHANGES,namespaces} TODO* UPGRADING* Zend/{LICENSE.Zend,ZEND_CHANGES} php.ini-* %dir %{_sysconfdir} %dir %{_sysconfdir}/conf.d %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php.ini @@ -2733,10 +2772,7 @@ fi %files devel %defattr(644,root,root,755) -%doc README.UNIX-BUILD-SYSTEM -%doc README.EXT_SKEL README.SELF-CONTAINED-EXTENSIONS -%doc CODING_STANDARDS README.EXTENSIONS README.PARAMETER_PARSING_API README.STREAMS -%doc README.SUBMITTING_PATCH README.TESTING README.TESTING2 +%doc CODING_STANDARDS README.{EXTENSIONS,EXT_SKEL,PARAMETER_PARSING_API,SELF-CONTAINED-EXTENSIONS,STREAMS,SUBMITTING_PATCH,TESTING,TESTING2,UNIX-BUILD-SYSTEM,input_filter} %attr(755,root,root) %{_bindir}/phpize %attr(755,root,root) %{_bindir}/php-config %attr(755,root,root) %{_libdir}/libphp_common.so @@ -2745,6 +2781,11 @@ fi %{_libdir}/php/build %{_mandir}/man1/php-config.1* %{_mandir}/man1/phpize.1* +%if %{with embed} +# embedded +%{_libdir}/libphp5.so +%{_libdir}/libphp5.la +%endif %files bcmath %defattr(644,root,root,755) @@ -2790,14 +2831,12 @@ fi %files fileinfo %defattr(644,root,root,755) -%doc README.input_filter %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/fileinfo.ini %attr(755,root,root) %{php_extensiondir}/fileinfo.so %if %{with filter} %files filter %defattr(644,root,root,755) -%doc README.input_filter %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/filter.ini %attr(755,root,root) %{php_extensiondir}/filter.so %endif @@ -3059,8 +3098,7 @@ fi %files spl %defattr(644,root,root,755) -%doc ext/spl/{CREDITS,README,TODO} -%doc ext/spl/examples +%doc ext/spl/{CREDITS,README,TODO,examples} %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/SPL.ini %attr(755,root,root) %{php_extensiondir}/spl.so