%bcond_with system_libzip # with system libzip (reported broken: https://bugs.php.net/bug.php?id=60100)
%bcond_with gd_jis_conv # causes imagettfbbox(): any2eucjp(): invalid code in input string when internal gd used
%bcond_with zend_multibyte # enable zend multibyte, mbstring can't be shared then anymore
+%bcond_with default_php # use this PHP as default PHP in distro
%bcond_without curl # without CURL extension module
%bcond_without filter # without filter extension module
%bcond_without imap # without IMAP extension module
%if "%{pld_release}" == "ac"
%define magic_mime /usr/share/file/magic.mime
+%define _noautoreqdep libphp_common.*
+# if commandline --without was given. respect that
+%if 0%{!?_without_default_php:1}
+%define with_default_php 1
+%endif
%else
%define magic_mime /usr/share/misc/magic.mime
%endif
+%define rel 4
%define orgname php
-%if "%{pld_release}" == "th"
-%define php_suffix 52
-%else
-%define php_suffix %{nil}
-%endif
-
+%define ver_suffix 52
+%define php_suffix %{!?with_default_php:%{ver_suffix}}
+%define backport_date 20130717
Summary: PHP: Hypertext Preprocessor
Summary(fr.UTF-8): Le langage de script embarque-HTML PHP
Summary(pl.UTF-8): Język skryptowy PHP
Summary(uk.UTF-8): PHP Версії 5 - мова препроцесування HTML-файлів, виконувана на сервері
Name: %{orgname}%{php_suffix}
Version: 5.2.17
-Release: 33
+Release: %{backport_date}.%{rel}
Epoch: 4
License: PHP
Group: Libraries
Source12: %{orgname}-branch.sh
Source13: dep-tests.sh
Source14: skip-tests.sh
-Patch100: https://php52-backports.googlecode.com/files/php52-backports-20130320.patch
-# Patch100-md5: 8428acfb94d5804e00333db01f7cd8dd
+Patch100: https://php52-backports.googlecode.com/files/php52-backports-%{backport_date}.patch
+# Patch100-md5: 80014a8f7894d4e893a8b1292b8b3032
Patch0: %{orgname}-shared.patch
Patch1: %{orgname}-pldlogo.patch
Patch2: %{orgname}-mail.patch
Patch65: system-libzip.patch
Patch66: bug-47930.patch
Patch67: php-db.patch
-Patch68: php-libxml.patch
Patch69: bug-50563.patch
Patch70: php-crypt-null.patch
Patch71: php-apache24.patch
+Patch72: exif-crash-bug-36.patch
# CENTALT patches
# Backport from 5.3.6
Patch311: php-5.3.6-bug-47435.patch
Requires: php-dirs >= 1.4
Requires: rpm-whiteout >= 1.28
Requires: tzdata
+Provides: %{name}(debug) = %{php_debug}
+Provides: %{name}(modules_api) = %{php_api_version}
+Provides: %{name}(thread-safety) = %{zend_zts}
+Provides: %{name}(zend_extension_api) = %{zend_extension_api}
+Provides: %{name}(zend_module_api) = %{zend_module_api}
+Provides: %{name}-core
+Provides: %{name}-date
+Provides: %{name}-ereg
+%{?with_zend_multibyte:Provides: %{name}-mbstring = %{epoch}:%{version}-%{release}}
+Provides: %{name}-overload
+Provides: %{name}-reflection
+Provides: %{name}-standard
Provides: php(core) = %{version}
Provides: php(date)
Provides: php(ereg)
Provides: php(overload)
Provides: php(reflection)
Provides: php(standard)
-Provides: php(zend_extension_api) = %{zend_extension_api}
-Provides: php(zend_module_api) = %{zend_module_api}
-Provides: php-core
-Provides: php-date
-Provides: php-ereg
-%{?with_zend_multibyte:Provides: php-mbstring = %{epoch}:%{version}-%{release}}
-Provides: php-overload
-Provides: php-reflection
-Provides: php-standard
-Provides: php5(debug) = %{php_debug}
-Provides: php5(thread-safety) = %{zend_zts}
# ensure backward compatibility for Titanium
# to be dropped in future but ask Titanium RM before doing so
%if "%{pld_release}" == "ti"
Requires: %{name}-session = %{epoch}:%{version}-%{release}
Requires: %{name}-spl = %{epoch}:%{version}-%{release}
%endif
+%{!?with_mysqlnd:Obsoletes: php-mysqlnd}
+%{?with_pcre:%requires_ge_to pcre pcre-devel}
Obsoletes: php-pecl-domxml
Conflicts: php-pecl-memcache < 3.0.4-2
Conflicts: php4-common < 3:4.4.4-8
Group: Libraries
URL: http://www.php.net/manual/en/book.bzip2.php
Requires: %{name}-common = %{epoch}:%{version}-%{release}
+Provides: %{name}-bzip2 = %{epoch}:%{version}-%{release}
Provides: php(bz2)
Provides: php(bzip2)
-Provides: php-bzip2 = %{epoch}:%{version}-%{release}
Obsoletes: php-bzip2
%description bz2
Requires: %{name}-common = %{epoch}:%{version}-%{release}
Provides: php(dom)
# it has some compatibility functions
+Provides: %{name}-domxml = %{epoch}:%{version}-%{release}
Provides: php(domxml)
-Provides: php-domxml = %{epoch}:%{version}-%{release}
Obsoletes: php-domxml <= 3:4.3.8-1
%description dom
Group: Libraries
Requires: %{name}-common = %{epoch}:%{version}-%{release}
Suggests: %{name}-hash = %{epoch}:%{version}-%{release}
+Suggests: tmpwatch
Provides: php(session)
%description session
Group: Libraries
URL: http://www.php.net/manual/en/book.zip.php
Requires: %{name}-common = %{epoch}:%{version}-%{release}
+%{?with_system_libzip:Requires: libzip >= 0.10-3}
Provides: php(zip)
Obsoletes: php-pecl-zip
-%{?with_system_libzip:Requires: libzip >= 0.10-3}
%description zip
Zip is an extension to create, modify and read zip files.
%{?with_system_libzip:%patch65 -p1}
%patch66 -p2
%patch67 -p1
-%patch68 -p1
%patch69 -p4
%patch70 -p1
%patch71 -p1
+%patch72 -p1
# Bugfix backport from 5.3.6
%patch311 -p1 -b .bug-47435
# install the Apache modules' files
%{__make} install-headers install-build install-modules install-programs \
+ phpbuilddir=%{_libdir}/%{name}/build \
INSTALL_ROOT=$RPM_BUILD_ROOT
+# version suffix
+v=$(echo %{version} | cut -d. -f1-2)
+
# install Apache1 DSO module
%if %{with apache1}
-libtool --silent --mode=install install sapi/apache/libphp5.la $RPM_BUILD_ROOT%{_libdir}/apache1
-mv $RPM_BUILD_ROOT%{_libdir}/apache1/libphp5{,-%{version}}.so
-ln -s libphp5-%{version}.so $RPM_BUILD_ROOT%{_libdir}/apache1/libphp5.so
+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
%endif
# install Apache2 DSO module
%if %{with apache2}
-libtool --silent --mode=install install sapi/apache2handler/libphp5.la $RPM_BUILD_ROOT%{_libdir}/apache
-mv $RPM_BUILD_ROOT%{_libdir}/apache/libphp5{,-%{version}}.so
-ln -s libphp5-%{version}.so $RPM_BUILD_ROOT%{_libdir}/apache/libphp5.so
+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
%endif
-libtool --silent --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
-
# install CGI
libtool --mode=install install -p sapi/cgi/php-cgi $RPM_BUILD_ROOT%{_bindir}/%{name}.cgi
# use system automake and {lib,sh}tool
%if "%{pld_release}" != "ac"
- ln -snf /usr/share/automake/config.{guess,sub} $RPM_BUILD_ROOT%{_libdir}/php/build
+ ln -snf /usr/share/automake/config.{guess,sub} $RPM_BUILD_ROOT%{_libdir}/%{name}/build
for i in libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4; do
- ln -snf %{_aclocaldir}/${i} $RPM_BUILD_ROOT%{_libdir}/php/build
+ ln -snf %{_aclocaldir}/${i} $RPM_BUILD_ROOT%{_libdir}/%{name}/build
done
- ln -snf %{_datadir}/libtool/config/ltmain.sh $RPM_BUILD_ROOT%{_libdir}/php/build
+ ln -snf %{_datadir}/libtool/config/ltmain.sh $RPM_BUILD_ROOT%{_libdir}/%{name}/build
%else
- ln -snf %{_aclocaldir}/libtool.m4 $RPM_BUILD_ROOT%{_libdir}/php/build
- ln -snf %{_datadir}/libtool/ltmain.sh $RPM_BUILD_ROOT%{_libdir}/php/build
+ ln -snf %{_aclocaldir}/libtool.m4 $RPM_BUILD_ROOT%{_libdir}/%{name}/build
+ ln -snf %{_datadir}/libtool/ltmain.sh $RPM_BUILD_ROOT%{_libdir}/%{name}/build
%endif
-ln -snf %{_bindir}/shtool $RPM_BUILD_ROOT%{_libdir}/php/build
+ln -snf %{_bindir}/shtool $RPM_BUILD_ROOT%{_libdir}/%{name}/build
+sed -i -e '/^phpdir/ s,/php/build,/%{name}/build,' $RPM_BUILD_ROOT%{_bindir}/phpize
# as a result of ext/pcre/pcrelib removal in %%prep, ext/pcre/php_pcre.h
# isn't installed by install-headers make target, we do it manually here.
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
+libtool --silent --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}/%{name}/build/acinclude.m4
+
%clean
rm -rf $RPM_BUILD_ROOT
%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/libphp5-%{version}.so
+%attr(755,root,root) %{_libdir}/apache1/libphp5-*.*.so
%endif
%if %{with apache2}
%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-%{version}.so
+%attr(755,root,root) %{_libdir}/apache/libphp5-*.*.so
%endif
%if %{with fcgi}
%attr(755,root,root) %{_libdir}/libphp_common.so
%{_libdir}/libphp_common.la
%{_includedir}/php
-%{_libdir}/php/build
+%{_libdir}/%{name}/build
%{_mandir}/man1/php-config.1*
%{_mandir}/man1/phpize.1*