%bcond_with tests # default off; test process very often hangs on builders, approx run time 45m; perform "make test"
%bcond_with zts # Zend Thread Safety
# - SAPI
-%bcond_with 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
# disable all sapis
%if %{with gcov}
-%undefine with_apache1
%undefine with_apache2
%undefine with_cgi
%undefine with_litespeed
%undefine with_fpm
%endif
-%if 0
-%if %{without apache1} && %{without apache2}
-ERROR: You need to select at least one Apache SAPI to build shared modules.
-%endif
-%endif
-
# filter depends on pcre
%if %{without pcre}
%undefine with_filter
%endif
-%define rel 1.1
%define orgname php
%define php_suffix 56
Summary: PHP: Hypertext Preprocessor
Summary(ru.UTF-8): PHP Версии 5 - язык препроцессирования HTML-файлов, выполняемый на сервере
Summary(uk.UTF-8): PHP Версії 5 - мова препроцесування HTML-файлів, виконувана на сервері
Name: %{orgname}%{php_suffix}
-Version: 5.6.30
-Release: %{rel}
+Version: 5.6.40
+Release: 1
Epoch: 4
# All files licensed under PHP version 3.01, except
# Zend is licensed under Zend
License: PHP 3.01 and Zend and BSD
Group: Libraries
Source0: http://www.php.net/distributions/%{orgname}-%{version}.tar.xz
-# Source0-md5: 68753955a8964ae49064c6424f81eb3e
+# Source0-md5: c7dde3afb16ce7b761abf2805125d372
Source2: %{orgname}-mod_%{orgname}.conf
Source3: %{orgname}-cgi-fcgi.ini
Source4: %{orgname}-apache.ini
Source14: skip-tests.sh
Patch0: %{orgname}-shared.patch
Patch1: %{orgname}-tld.patch
-Patch2: %{orgname}-mail.patch
Patch3: %{orgname}-link-libs.patch
Patch4: php-bug-71475.patch
Patch5: %{orgname}-filter-shared.patch
Patch42: %{orgname}-fpm-shared.patch
Patch43: %{orgname}-silent-session-cleanup.patch
Patch44: %{orgname}-include_path.patch
-Patch45: %{orgname}-imap-annotations.patch
-Patch46: %{orgname}-imap-myrights.patch
Patch47: suhosin.patch
Patch50: extension-shared-optional-dep.patch
Patch51: spl-shared.patch
BuildRequires: pam-devel
%{?with_pcre:BuildRequires: pcre-devel >= 8.10}
BuildRequires: pkgconfig
-%{?with_pgsql:BuildRequires: postgresql-backend-devel >= 7.2}
%{?with_pgsql:BuildRequires: postgresql-devel}
BuildRequires: readline-devel
%{?with_recode:BuildRequires: recode-devel >= 3.5d-3}
%{?with_odbc:BuildRequires: unixODBC-devel}
%{?with_xmlrpc:BuildRequires: xmlrpc-epi-devel >= 0.54.1}
BuildRequires: zlib-devel >= 1.0.9
-%if %{with apache1}
-BuildRequires: apache1-devel
-%endif
%if %{with apache2}
BuildRequires: apache-devel >= 2.0.52-2
BuildRequires: apr-devel >= 1:1.0.0
%define php_sysconfdir /etc/%{name}
%define php_extensiondir %{_libdir}/%{name}
-%define php_datadir /usr/share/%{name}
-%define _sysconfdir %{php_sysconfdir}
+%define php_datadir /usr/share/php/%{name}
+%define _sysconfdir %{php_sysconfdir}
# must be in sync with source. extra check ensuring that it is so is done in %%build
%define php_api_version 20131106
роботи з базами даних є доволі простим. Найбільш популярне
використання PHP - заміна для CGI скриптів.
-%package -n apache1-mod_%{name}
-Summary: PHP DSO module for Apache 1.3.x
-Summary(pl.UTF-8): Moduł DSO (Dynamic Shared Object) PHP dla Apache 1.3.x
-Group: Development/Languages/PHP
-Requires: %{name}-common = %{epoch}:%{version}-%{release}
-Requires: apache1(EAPI) >= 1.3.33-2
-Requires: apache1-mod_mime
-Provides: webserver(php) = %{version}
-Obsoletes: apache-mod_php < 1:4.1.1
-Obsoletes: apache1-mod_php < 4:5.3.28-7
-Obsoletes: phpfi
-
-%description -n apache1-mod_%{name}
-PHP as DSO module for Apache 1.3.x.
-
-%description -n apache1-mod_%{name} -l pl.UTF-8
-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
%{?with_pcre:Requires: pcre-devel >= 8.10}
Requires: shtool
Provides: php-devel = %{epoch}:%{version}-%{release}
-Obsoletes: php-devel
Obsoletes: php-pear-devel
Obsoletes: php4-devel
Obsoletes: php52-devel
cp -p php.ini-production php.ini
%patch0 -p1
%patch1 -p1
-%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%endif
%patch43 -p1
%patch44 -p1
-#%patch45 -p1 # imap annotations. fixme
-#%patch46 -p1 # imap myrights. fixme
%if %{with suhosin}
%patch47 -p1
%endif
%if %{with embed}
embed
%endif
-%if %{with apache1}
-apxs1
-%endif
%if %{with apache2}
apxs2
%endif
embed)
sapi_args='--disable-cli --disable-cgi --enable-embed'
;;
- apxs1)
- ver=$(rpm -q --qf '%{V}' apache1-devel)
- sapi_args="--disable-cli --disable-cgi --with-apxs=%{apxs1} --with-apache-version=$ver"
- ;;
apxs2)
ver=$(rpm -q --qf '%{V}' apache-devel)
sapi_args="--disable-cli --disable-cgi --with-apxs2=%{apxs2} --with-apache-version=$ver"
cp -f main/php_config.h php_config.h.$sapi
cp -f config.log config.log.$sapi
done
-
# as we build each SAPI in own make, adjust php-config.in forehead
sapis=$(%{__sed} -rne 's/^PHP_INSTALLED_SAPIS = (.+)/\1/p' Makefile.* | tr ' ' '\n' | sort -u | xargs)
%{__sed} -i -e "s,@PHP_INSTALLED_SAPIS@,$sapis," scripts/php-config.in
%{__make} build-modules \
MYSQLND_SHARED_LIBADD="-lssl -lcrypto"
-%if %{with apache1}
-%{__make} libtool-sapi LIBTOOL_SAPI=sapi/apache/libphp5.la -f Makefile.apxs1
-%endif
-
%if %{with apache2}
%{__make} libtool-sapi LIBTOOL_SAPI=sapi/apache2handler/libphp5.la -f Makefile.apxs2
%endif
# version suffix
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/mod_php.so
-%endif
-
# install Apache2 DSO module
%if %{with apache2}
+# versioned libphp
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/mod_php.so
+%{__mv} $RPM_BUILD_ROOT%{_libdir}/apache/libphp5.la $RPM_BUILD_ROOT%{_libdir}/apache/libphp%{php_suffix}.la
+%{__mv} $RPM_BUILD_ROOT%{_libdir}/apache/libphp5.so $RPM_BUILD_ROOT%{_libdir}/apache/libphp%{php_suffix}.so
+sed -i -e "s|libphp5|libphp%{php_suffix}|g" $RPM_BUILD_ROOT%{_libdir}/apache/libphp%{php_suffix}.la
+ln -s libphp%{php_suffix}.so $RPM_BUILD_ROOT%{_libdir}/apache/mod_php.so
%endif
# install litespeed sapi
INSTALL_ROOT=$RPM_BUILD_ROOT
%endif
+# versioned libphp_common
libtool --mode=install install -p libphp_common.la $RPM_BUILD_ROOT%{_libdir}
+%{__mv} $RPM_BUILD_ROOT%{_libdir}/libphp_common.la $RPM_BUILD_ROOT%{_libdir}/libphp_common%{php_suffix}.la
+%{__mv} $RPM_BUILD_ROOT%{_libdir}/libphp_common-%{version}.so $RPM_BUILD_ROOT%{_libdir}/libphp_common%{php_suffix}-%{version}.so
+%{__rm} -f $RPM_BUILD_ROOT%{_libdir}/libphp_common.so
+ln -s libphp_common%{php_suffix}-%{version}.so $RPM_BUILD_ROOT%{_libdir}/libphp_common%{php_suffix}.so
+sed -i -e "s|libphp_common|libphp_common%{php_suffix}|g" $RPM_BUILD_ROOT%{_libdir}/libphp_common%{php_suffix}.la
# install CGI/FCGI
%if %{with cgi}
# we could use install-headers from Makefile.embed, but that would reinstall all headers
# install-sapi installs to wrong dir, so just do it all manually
install -d $RPM_BUILD_ROOT%{_includedir}/php/php%{php_suffix}/sapi/embed
-install -p libs/libphp5.so $RPM_BUILD_ROOT%{_libdir}
+install -p libs/libphp5.so $RPM_BUILD_ROOT%{_libdir}/libphp%{php_suffix}.so
cp -p sapi/embed/php_embed.h $RPM_BUILD_ROOT%{_includedir}/php/php%{php_suffix}/sapi/embed
%endif
-# install CLI
-# versioned suffix is always installed
-#libtool --mode=install install -p sapi/cli/php $RPM_BUILD_ROOT%{_bindir}/php%{php_suffix}
-#cp -p sapi/cli/php.1 $RPM_BUILD_ROOT%{_mandir}/man1/php%{php_suffix}.1
+# CLI
+libtool --mode=install install -p sapi/cli/php $RPM_BUILD_ROOT%{_bindir}/php%{php_suffix}
# touch for ghost
touch $RPM_BUILD_ROOT%{_bindir}/php
touch $RPM_BUILD_ROOT%{_mandir}/man1/php.1
cp -p php.ini $RPM_BUILD_ROOT%{_sysconfdir}/php.ini
cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/php-cli.ini
-%if %{with apache1}
-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 -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
+%{__rm} -f $RPM_BUILD_ROOT%{_libdir}/apache/libphp%{php_suffix}.la
%endif
# ensure that paths are correct for current php version and arch
cp -a tests/* $RPM_BUILD_ROOT%{php_datadir}/tests/php
# fix install paths, avoid evil rpaths
-sed -i -e "s|^libdir=.*|libdir='%{_libdir}'|" $RPM_BUILD_ROOT%{_libdir}/libphp_common.la
+sed -i -e "s|^libdir=.*|libdir='%{_libdir}'|" $RPM_BUILD_ROOT%{_libdir}/libphp_common%{php_suffix}.la
# better solution?
-sed -i -e 's|libphp_common.la|$(libdir)/libphp_common.la|' $RPM_BUILD_ROOT%{_libdir}/%{name}/build/acinclude.m4
-
-# somewhy there are installed static versions we don't use
-%if %{with apache1} || %{with apache2}
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/apache*/libphp*.a
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/libphp*.a
-%{__rm} $RPM_BUILD_ROOT%{php_extensiondir}/*.a
-%endif
+sed -i -e 's|libphp_common.la|$(libdir)/libphp_common%{php_suffix}.la|' $RPM_BUILD_ROOT%{_libdir}/%{name}/build/acinclude.m4
%clean
rm -rf $RPM_BUILD_ROOT
-%post -n apache1-mod_%{name}
-if [ "$1" = "1" ]; then
- %service -q apache restart
-fi
-
-%postun -n apache1-mod_%{name}
-if [ "$1" = "0" ]; then
- %service -q apache restart
-fi
-
%post -n apache-mod_%{name}
if [ "$1" = "1" ]; then
%service -q httpd restart
%postun cli
if [ $1 -eq 0 ]; then
- update-alternatives --remove php %{_bindir}/php || :
+ update-alternatives --remove php %{_bindir}/php%{php_suffix} || :
fi
+%post common -p /sbin/ldconfig
+%postun common -p /sbin/ldconfig
+
%post devel
update-alternatives \
--install %{_bindir}/phpize phpize %{_bindir}/phpize%{php_suffix} %{php_suffix} \
%postun devel
if [ $1 -eq 0 ]; then
- update-alternatives --remove phpize %{_bindir}/phpize || :
- update-alternatives --remove php-config %{_bindir}/php-config || :
+ update-alternatives --remove phpize %{_bindir}/phpize%{php_suffix} || :
+ update-alternatives --remove php-config %{_bindir}/php-config%{php_suffix} || :
fi
%pre fpm
if [ "$1" = "0" ]; then
%service %{name}-fpm stop
/sbin/chkconfig --del %{name}-fpm
- update-alternatives --remove php-fpm %{_sbindir}/php-fpm || :
+ update-alternatives --remove php-fpm %{_sbindir}/php%{php_suffix}-fpm || :
fi
%postun fpm
%{__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.6.14-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.6.14-2
sed -i -e 's#modules/libphp[57].so#modules/mod_php.so#g' /etc/httpd/conf.d/*_mod_php.conf
%postun phar
%ext_postun
if [ $1 -eq 0 ]; then
- update-alternatives --remove phar %{_bindir}/phar || :
+ update-alternatives --remove phar %{_bindir}/phar%{php_suffix}.phar || :
fi
-%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/mod_php.so
-%attr(755,root,root) %{_libdir}/apache1/libphp5-*.*.so
-%endif
-
%if %{with apache2}
%files -n apache-mod_%{name}
%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/mod_php.so
-%attr(755,root,root) %{_libdir}/apache/libphp5-*.*.so
+%attr(755,root,root) %{_libdir}/apache/libphp%{php_suffix}.so
%endif
%if %{with litespeed}
%if %{with embed}
%files embedded
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libphp5.so
+%attr(755,root,root) %{_libdir}/libphp%{php_suffix}.so
%endif
%files cli
%dir %{_sysconfdir}
%dir %{_sysconfdir}/conf.d
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php.ini
-%if %{with apache1} || %{with apache2}
-%attr(755,root,root) %{_libdir}/libphp_common-*.so
-%endif
+%attr(755,root,root) %{_libdir}/libphp_common%{php_suffix}-*.so
+%dir %{php_datadir}
%dir %{php_extensiondir}
%doc ext/session/mod_files.sh
%attr(755,root,root) %{_bindir}/php-config%{php_suffix}
%ghost %{_bindir}/phpize
%ghost %{_bindir}/php-config
-%if %{with apache1} || %{with apache2}
-%attr(755,root,root) %{_libdir}/libphp_common.so
-%else
-%attr(755,root,root) %{_libdir}/libphp_common.a
-%endif
-%{_libdir}/libphp_common.la
+%attr(755,root,root) %{_libdir}/libphp_common%{php_suffix}.so
+%{_libdir}/libphp_common%{php_suffix}.la
%{_includedir}/php/php%{php_suffix}
%{_libdir}/%{name}/build
%{_mandir}/man1/php-config%{php_suffix}.1*