%bcond_without apache2 # disable building apache 2.x module
%bcond_without fcgi # disable building FCGI SAPI
%bcond_without zts # disable experimental-zts
-%bcond_with tests # default off; test process very often hangs on buildersl; perform "make test"
+%bcond_with system_xmlrpc_epi # use system xmlrpc-epi library (broken on 64bit arches, see http://bugs.php.net/41611)
+%bcond_with tests # default off; test process very often hangs on builders; perform "make test"
%bcond_with versioning # build with experimental versioning (to load php4/php5 into same apache)
%define apxs1 /usr/sbin/apxs1
%undefine with_mm
%endif
-%ifnarch %{ix86} %{x8664} sparc sparcv9 alpha
-# ppc disabled (broken on th-ppc)
+%ifnarch %{ix86} %{x8664} sparc sparcv9 alpha ppc
%undefine with_interbase
%endif
%undefine with_filter
%endif
-%define _rel 0.2
-%define _rc RC2
+%define _rel 3
Summary: PHP: Hypertext Preprocessor
Summary(fr.UTF-8): Le langage de script embarque-HTML PHP
Summary(pl.UTF-8): Język skryptowy PHP
Epoch: 4
License: PHP
Group: Libraries
-#Source0: http://www.php.net/distributions/%{name}-%{version}.tar.bz2
-Source0: http://downloads.php.net/ilia/%{name}-%{version}%{_rc}.tar.bz2
-# Source0-md5: deb66ac45b18ced1077365b0e0179995
-Source2: zend.gif
-Source3: %{name}-mod_%{name}.conf
-Source4: %{name}-cgi-fcgi.ini
-Source5: %{name}-cgi.ini
-Source6: %{name}-apache.ini
-Source7: %{name}-cli.ini
-Source8: http://www.hardened-php.net/hardening-patch-5.0.4-0.3.0.patch.gz
-# Source8-md5: 47a742fa9fab2826ad10c13a2376111a
+Source0: http://www.php.net/distributions/%{name}-%{version}.tar.bz2
+# Source0-md5: 1fe14ca892460b09f06729941a1bb605
+Source1: zend.gif
+Source2: %{name}-mod_%{name}.conf
+Source3: %{name}-cgi-fcgi.ini
+Source4: %{name}-cgi.ini
+Source5: %{name}-apache.ini
+Source6: %{name}-cli.ini
+Source7: http://www.hardened-php.net/hardening-patch-5.0.4-0.3.0.patch.gz
+# Source7-md5: 47a742fa9fab2826ad10c13a2376111a
# Taken from: http://browsers.garykeith.com/downloads.asp
-Source9: %{name}_browscap.ini
+Source8: %{name}_browscap.ini
Patch0: %{name}-shared.patch
Patch1: %{name}-pldlogo.patch
Patch2: %{name}-mail.patch
Patch9: %{name}-sh.patch
Patch10: %{name}-ini.patch
Patch11: %{name}-acam.patch
-# XXX: needs fix
Patch12: %{name}-threads-acfix.patch
Patch13: %{name}-tsrmlsfetchgcc2.patch
Patch14: %{name}-no_pear_install.patch
Patch28: %{name}-pear.patch
Patch29: %{name}-config-dir.patch
Patch30: %{name}-bug-42952.patch
+Patch31: %{name}-fcgi-graceful.patch
+Patch32: %{name}-apr-apu.patch
+Patch33: %{name}-fcgi-error_log-no-newlines.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}
BuildRequires: elfutils-devel
%if %{with xmlrpc}
BuildRequires: expat-devel
+%{?with_system_xmlrpc_epi:BuildRequires: xmlrpc-epi-devel}
%endif
%{?with_fcgi:BuildRequires: fcgi-devel}
%{?with_fdf:BuildRequires: fdftk-devel}
BuildRequires: t1lib-devel
%{?with_tidy:BuildRequires: tidy-devel}
%{?with_odbc:BuildRequires: unixODBC-devel}
-%{?with_xmlrpc:BuildRequires: xmlrpc-epi-devel}
BuildRequires: zlib-devel >= 1.0.9
%if %{with apache1}
BuildRequires: apache1-devel
Summary(pl.UTF-8): Moduł ming dla PHP
Group: Libraries
Requires: %{name}-common = %{epoch}:%{version}-%{release}
-Requires: ming >= 0.3
Provides: php(ming)
%description ming
Summary(pl.UTF-8): Moduł xmlrpc dla PHP
Group: Libraries
Requires: %{name}-common = %{epoch}:%{version}-%{release}
+Requires: %{name}-xml = %{epoch}:%{version}-%{release}
Provides: php(xmlrpc)
%description xmlrpc
Moduł PHP umożliwiający używanie kompresji zlib.
%prep
-%setup -q -n %{name}-%{version}%{_rc}
+%setup -q
%patch27 -p1
%patch0 -p1
%patch1 -p1
%patch21 -p1
%if %{with hardening}
-zcat %{SOURCE8} | patch -p1 || exit 1
+zcat %{SOURCE7} | patch -p1 || exit 1
patch -p1 < %{PATCH22} || exit 1
%endif
%patch23 -p1
%patch28 -p1
%patch29 -p1
%patch30 -p1
+%patch31 -p1
+%patch32 -p1
+%patch33 -p1
# conflict seems to be resolved by recode patches
rm -f ext/recode/config9.m4
rm -rf ext/pcre/pcrelib
rm -rf ext/pdo_sqlite/sqlite
#rm -rf ext/soap/interop
+%if %{with system_xmlrpc_epi}
rm -rf ext/xmlrpc/libxmlrpc
+%endif
+
+%ifarch ppc ppc64
+# this test hungs on ac-ppc
+#mv ext/reflection/tests/007.php{,ignore}
+# this test gets killed by itself
+mv ext/standard/tests/general_functions/bug39322.phpt{,.broken}
+%endif
+
+cp -f Zend/LICENSE{,.Zend}
%build
-if API=$(awk '/#define PHP_API_VERSION/{print $3}' main/php.h) && [ $API != %{php_api_version} ]; then
- echo "Set %%define php_api_version to $API and rerun."
+API=$(awk '/#define PHP_API_VERSION/{print $3}' main/php.h)
+if [ $API != %{php_api_version} ]; then
+ echo "Set %%define php_api_version to $API and re-run."
exit 1
fi
-if API=$(awk '/#define ZEND_MODULE_API_NO/{print $3}' Zend/zend_modules.h) && [ $API != %{zend_module_api} ]; then
- echo "Set %%define zend_module_api to $API and rerun."
+API=$(awk '/#define ZEND_MODULE_API_NO/{print $3}' Zend/zend_modules.h)
+if [ $API != %{zend_module_api} ]; then
+ echo "Set %%define zend_module_api to $API and re-run."
exit 1
fi
-if API=$(awk '/#define ZEND_EXTENSION_API_NO/{print $3}' Zend/zend_extensions.h) && [ $API != %{zend_extension_api} ]; then
- echo "Set %%define zend_extension_api to $API and rerun."
+API=$(awk '/#define ZEND_EXTENSION_API_NO/{print $3}' Zend/zend_extensions.h)
+if [ $API != %{zend_extension_api} ]; then
+ echo "Set %%define zend_extension_api to $API and re-run."
exit 1
fi
%{?with_tidy:--with-tidy=shared} \
--with-tiff-dir=/usr \
%{?with_odbc:--with-unixODBC=shared,/usr} \
- %{!?with_xmlrpc:--without-xmlrpc}%{?with_xmlrpc:--with-xmlrpc=shared,/usr} \
+ %{!?with_xmlrpc:--without-xmlrpc}%{?with_xmlrpc:--with-xmlrpc=shared%{?with_system_xmlrpc_epi:,/usr}} \
--with-xsl=shared \
--with-zlib=shared \
--with-zlib-dir=shared,/usr \
install -d $RPM_BUILD_ROOT{%{_libdir}/{php,apache{,1}},%{php_sysconfdir}/{apache,cgi}} \
$RPM_BUILD_ROOT/home/services/{httpd,apache}/icons \
$RPM_BUILD_ROOT{%{_sbindir},%{_bindir}} \
- $RPM_BUILD_ROOT/etc/{apache/conf.d,httpd/httpd.conf} \
+ $RPM_BUILD_ROOT/etc/{apache/conf.d,httpd/conf.d} \
$RPM_BUILD_ROOT%{_mandir}/man1 \
# install the apache modules' files
sed -e 's#%{_prefix}/lib/php#%{_libdir}/php#g' php.ini > $RPM_BUILD_ROOT%{php_sysconfdir}/php.ini
%if %{with fcgi}
-install %{SOURCE4} $RPM_BUILD_ROOT%{php_sysconfdir}/php-cgi-fcgi.ini
+install %{SOURCE3} $RPM_BUILD_ROOT%{php_sysconfdir}/php-cgi-fcgi.ini
%endif
-install %{SOURCE5} $RPM_BUILD_ROOT%{php_sysconfdir}/php-cgi.ini
-install %{SOURCE7} $RPM_BUILD_ROOT%{php_sysconfdir}/php-cli.ini
-install %{SOURCE9} $RPM_BUILD_ROOT%{php_sysconfdir}/browscap.ini
+install %{SOURCE4} $RPM_BUILD_ROOT%{php_sysconfdir}/php-cgi.ini
+install %{SOURCE6} $RPM_BUILD_ROOT%{php_sysconfdir}/php-cli.ini
+install %{SOURCE8} $RPM_BUILD_ROOT%{php_sysconfdir}/browscap.ini
%if %{with apache1}
-install %{SOURCE2} php.gif $RPM_BUILD_ROOT/home/services/apache/icons
-install %{SOURCE3} $RPM_BUILD_ROOT/etc/apache/conf.d/70_mod_php.conf
-install %{SOURCE6} $RPM_BUILD_ROOT%{php_sysconfdir}/php-apache.ini
+install %{SOURCE1} php.gif $RPM_BUILD_ROOT/home/services/apache/icons
+install %{SOURCE2} $RPM_BUILD_ROOT/etc/apache/conf.d/70_mod_php.conf
+install %{SOURCE5} $RPM_BUILD_ROOT%{php_sysconfdir}/php-apache.ini
rm -f $RPM_BUILD_ROOT%{_libdir}/apache1/libphp5.la
%endif
%if %{with apache2}
-install %{SOURCE2} php.gif $RPM_BUILD_ROOT/home/services/httpd/icons
-install %{SOURCE3} $RPM_BUILD_ROOT/etc/httpd/httpd.conf/70_mod_php.conf
-install %{SOURCE6} $RPM_BUILD_ROOT%{php_sysconfdir}/php-apache2handler.ini
+install %{SOURCE1} php.gif $RPM_BUILD_ROOT/home/services/httpd/icons
+install %{SOURCE2} $RPM_BUILD_ROOT/etc/httpd/conf.d/70_mod_php.conf
+install %{SOURCE5} $RPM_BUILD_ROOT%{php_sysconfdir}/php-apache2handler.ini
rm -f $RPM_BUILD_ROOT%{_libdir}/apache/libphp5.la
%endif
-cp -f Zend/LICENSE{,.Zend}
-
# Generate stub .ini files for each subpackage
install -d $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d
-for so in modules/*.so; do
- mod=$(basename $so .so)
- conf="%{php_sysconfdir}/conf.d/${mod}.ini"
- # xml needs to be loaded before wddx
- [ "$mod" = "wddx" ] && conf="%{php_sysconfdir}/conf.d/xml_${mod}.ini"
- cat > $RPM_BUILD_ROOT${conf} <<EOF
-; Enable ${mod} extension module
-extension=${mod}.so
-EOF
-done
+generate_inifiles() {
+ for so in modules/*.so; do
+ mod=$(basename $so .so)
+ conf="%{php_sysconfdir}/conf.d/$mod.ini"
+ # xml needs to be loaded before wddx
+ [ "$mod" = "wddx" ] && conf="%{php_sysconfdir}/conf.d/xml_$mod.ini"
+ echo "+ $conf"
+ cat > $RPM_BUILD_ROOT$conf <<-EOF
+ ; Enable $mod extension module
+ extension=$mod.so
+ EOF
+ done
+}
+generate_inifiles
# per SAPI ini directories
install -d $RPM_BUILD_ROOT%{php_sysconfdir}/{cgi,cli,cgi-fcgi,apache,apache2handler}.d
# restart webserver at the end of transaction
[ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart
-[ ! -f /etc/httpd/httpd.conf/??_mod_php.conf ] || %service -q httpd restart
+[ ! -f /etc/httpd/conf.d/??_mod_php.conf ] || %service -q httpd restart
%if %{with apache1}
%triggerpostun -n apache1-mod_php -- php < 4:5.0.4-9.11
%if %{with apache2}
%files -n apache-mod_php
%defattr(644,root,root,755)
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/httpd/httpd.conf/*_mod_php.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/httpd/conf.d/*_mod_php.conf
%dir %{php_sysconfdir}/apache2handler.d
%config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/php-apache2handler.ini
%attr(755,root,root) %{_libdir}/apache/libphp5.so