# standard
#
# Conditional build:
-# - packaging options
-%bcond_without alternatives # use alternatives system to select default phar and php-fpm
-%bcond_with default_php # build this PHP as default PHP in system (disables alternatives)
# - General options:
%bcond_without embed # disable building Embedded API
%bcond_with gcov # Enable Code coverage reporting
%undefine with_litespeed
%endif
-%if %{with default_php}
-%undefine with_alternatives
-%endif
-
# mm is not thread safe
%if %{with zts}
%undefine with_mm
%endif
%define orgname php
-%define ver_suffix 70
-%define php_suffix %{!?with_default_php:%{ver_suffix}}
+%define php_suffix 70
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 Версії 7 - мова препроцесування HTML-файлів, виконувана на сервері
Name: %{orgname}%{php_suffix}
Version: 7.0.15
-Release: 1
+Release: 1.1
Epoch: 4
# All files licensed under PHP version 3.01, except
# Zend is licensed under Zend
Patch18: %{orgname}-nohttpd.patch
Patch21: %{orgname}-dba-link.patch
Patch22: %{orgname}-both-apxs.patch
-Patch23: %{orgname}-builddir.patch
+Patch23: %{orgname}-paths.patch
Patch24: %{orgname}-zlib-for-getimagesize.patch
Patch25: %{orgname}-stupidapache_version.patch
Patch26: %{orgname}-pear.patch
%{?with_webp:BuildRequires: libwebp-devel}
BuildRequires: tokyocabinet-devel
BuildRequires: libtool >= 2:2.4.6
-%endif
BuildRequires: libxml2-devel >= 1:2.7.6-4
BuildRequires: libxslt-devel >= 1.1.0
%{?with_mm:BuildRequires: mm-devel >= 1.3.0}
%define php_sysconfdir /etc/%{name}
%define php_extensiondir %{_libdir}/%{name}
+%define php_datadir /usr/share/%{name}
%define _sysconfdir %{php_sysconfdir}
# must be in sync with source. extra check ensuring that it is so is done in %%build
Summary(pl.UTF-8): PHP jako interpreter działający z linii poleceń
Group: Development/Languages/PHP
Requires: %{name}-common = %{epoch}:%{version}-%{release}
-Provides: php-program
+Requires: alternatives
Obsoletes: php-cli < 4:5.3.28-7
%description cli
Requires(pre): /bin/id
Requires(pre): /usr/sbin/useradd
Requires: %{name}-common = %{epoch}:%{version}-%{release}
-%{?with_alternatives:Requires: alternatives}
+Requires: alternatives
Requires: php-dirs >= 1.4-2
Requires: rc-scripts
Provides: php(fcgi)
Obsoletes: php53-devel
Obsoletes: php54-devel
Obsoletes: php55-devel
-Obsoletes: php56-devel
-Obsoletes: php71-devel
%description devel
The php-devel package lets you compile dynamic extensions to PHP.
Requires: %{name}-common = %{epoch}:%{version}-%{release}
Requires: %{name}-hash = %{epoch}:%{version}-%{release}
Requires: %{name}-spl = %{epoch}:%{version}-%{release}
-%{?with_alternatives:Requires: alternatives}
+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
%configure \
EXTRA_LDFLAGS="%{rpmldflags}" \
+ --program-suffix=%{php_suffix} \
$sapi_args \
%if "%{!?configure_cache:0}%{?configure_cache}" == "0"
--cache-file=config.cache \
%endif
+ --datadir=%{php_datadir} \
--with-libdir=%{_lib} \
--with-config-file-path=%{_sysconfdir} \
--with-config-file-scan-dir=%{_sysconfdir}/conf.d \
phpbuilddir=%{_libdir}/%{name}/build \
INSTALL_ROOT=$RPM_BUILD_ROOT
-%if %{without default_php}
# version the .phar files
%{__mv} $RPM_BUILD_ROOT%{_bindir}/phar{,%{php_suffix}}.phar
%{__mv} $RPM_BUILD_ROOT%{_mandir}/man1/phar{,%{php_suffix}}.1
-%endif
-%if %{with alternatives}
# touch for ghost
%{__rm} $RPM_BUILD_ROOT%{_bindir}/phar
touch $RPM_BUILD_ROOT%{_bindir}/phar
touch $RPM_BUILD_ROOT%{_mandir}/man1/phar.1
-%endif
# version suffix
v=$(echo %{version} | cut -d. -f1-2)
%{__make} -f Makefile.phpdbg install-phpdbg \
INSTALL="libtool --mode=install install -p" \
INSTALL_ROOT=$RPM_BUILD_ROOT
-
-%if %{without default_php}
-# version the phpdbg files
-%{__mv} $RPM_BUILD_ROOT%{_bindir}/phpdbg{,%{ver_suffix}}
-%{__mv} $RPM_BUILD_ROOT%{_mandir}/man1/phpdbg{,%{ver_suffix}}.1
-%endif
%endif
+# touch for ghost
+touch $RPM_BUILD_ROOT%{_bindir}/phpize
+touch $RPM_BUILD_ROOT%{_mandir}/man1/phpize.1
+touch $RPM_BUILD_ROOT%{_bindir}/php-config
+touch $RPM_BUILD_ROOT%{_mandir}/man1/php-config.1
+
%if %{with milter}
%{__make} -f Makefile.milter install-milter \
INSTALL_ROOT=$RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT/etc/logrotate.d
cp -p %{SOURCE11} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}-fpm
-%if %{with alternatives}
# touch for ghost for alternatives
touch $RPM_BUILD_ROOT%{_sbindir}/php-fpm
-%endif
%{__sed} -i -e '
s#/usr/lib/php#%{php_extensiondir}#g
%if %{with embed}
# 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/sapi/embed
+install -d $RPM_BUILD_ROOT%{_includedir}/php/php%{php_suffix}/sapi/embed
install -p libs/libphp7.so $RPM_BUILD_ROOT%{_libdir}
-cp -p sapi/embed/php_embed.h $RPM_BUILD_ROOT%{_includedir}/php/sapi/embed
+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%{ver_suffix}
-cp -p sapi/cli/php.1 $RPM_BUILD_ROOT%{_mandir}/man1/php%{ver_suffix}.1
-
-%if %{with default_php}
-# man for php
-echo ".so php%{ver_suffix}.1" >$RPM_BUILD_ROOT%{_mandir}/man1/php.1
-# link as /usr/bin/php
-ln -sf php%{ver_suffix} $RPM_BUILD_ROOT%{_bindir}/php
-# php.cli link for backward compatibility
-ln -sf php $RPM_BUILD_ROOT%{_bindir}/php.cli
-%endif
+# CLI
+# 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
ln -snf $f $RPM_BUILD_ROOT%{_libdir}/%{name}/build
break
done
-sed -i -e '/^phpdir/ s,/php/build,/%{name}/build,' $RPM_BUILD_ROOT%{_bindir}/phpize
+sed -i -e '/^phpdir/ s,/php/build,/%{name}/build,' $RPM_BUILD_ROOT%{_bindir}/phpize%{php_suffix}
# for php-pecl-mailparse
-install -d $RPM_BUILD_ROOT%{_includedir}/php/ext/mbstring
-cp -p ext/mbstring/libmbfl/mbfl/*.h $RPM_BUILD_ROOT%{_includedir}/php/ext/mbstring
+install -d $RPM_BUILD_ROOT%{_includedir}/php/php%{php_suffix}/ext/mbstring
+cp -p ext/mbstring/libmbfl/mbfl/*.h $RPM_BUILD_ROOT%{_includedir}/php/php%{php_suffix}/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
+install -d $RPM_BUILD_ROOT%{php_datadir}/tests/php
+install -p run-tests.php $RPM_BUILD_ROOT%{php_datadir}/tests/php/run-tests.php
+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
%service -q httpd restart
fi
+%post cli
+update-alternatives \
+ --install %{_bindir}/php php %{_bindir}/php%{php_suffix} %{php_suffix} \
+ --slave %{_mandir}/man1/php.1 php.1 %{_mandir}/man1/php%{php_suffix}.1* || :
+
+%postun cli
+if [ $1 -eq 0 ]; then
+ update-alternatives --remove php %{_bindir}/php || :
+fi
+
+%post devel
+update-alternatives \
+ --install %{_bindir}/phpize phpize %{_bindir}/phpize%{php_suffix} %{php_suffix} \
+ --slave %{_mandir}/man1/php.1 php.1 %{_mandir}/man1/php%{php_suffix}.1* || :
+update-alternatives \
+ --install %{_bindir}/php-config php-config %{_bindir}/php-config%{php_suffix} %{php_suffix} \
+ --slave %{_mandir}/man1/php.1 php.1 %{_mandir}/man1/php%{php_suffix}.1* || :
+
+%postun devel
+if [ $1 -eq 0 ]; then
+ update-alternatives --remove phpize %{_bindir}/phpize || :
+ update-alternatives --remove php-config %{_bindir}/php-config || :
+fi
+
%pre fpm
%useradd -u 51 -r -s /bin/false -c "HTTP User" -g http http
%post fpm
/sbin/chkconfig --add %{name}-fpm
%service %{name}-fpm restart
-%if %{with alternatives}
-update-alternatives --install %{_sbindir}/php-fpm php-fpm %{_sbindir}/php%{ver_suffix}-fpm %{ver_suffix} || :
-%endif
+update-alternatives --install %{_sbindir}/php-fpm php-fpm %{_sbindir}/php%{php_suffix}-fpm %{php_suffix} || :
%preun fpm
if [ "$1" = "0" ]; then
%service %{name}-fpm stop
/sbin/chkconfig --del %{name}-fpm
-%if %{with alternatives}
update-alternatives --remove php-fpm %{_sbindir}/php-fpm || :
-%endif
fi
%postun fpm
%post phar
%ext_post
-%if %{with alternatives}
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* || :
-%endif
+ --install %{_bindir}/phar phar %{_bindir}/phar%{php_suffix}.phar %{php_suffix} \
+ --slave %{_mandir}/man1/phar.1 phar.1 %{_mandir}/man1/phar%{php_suffix}.1* || :
%postun phar
%ext_postun
-%if %{with alternatives}
if [ $1 -eq 0 ]; then
update-alternatives --remove phar %{_bindir}/phar || :
fi
-%endif
%if %{with apache2}
%files -n apache-mod_%{name}
%defattr(644,root,root,755)
%dir %{_sysconfdir}/cli.d
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php-cli.ini
-%attr(755,root,root) %{_bindir}/php%{ver_suffix}
-%{_mandir}/man1/php%{ver_suffix}.1*
-%if %{with default_php}
-%attr(755,root,root) %{_bindir}/php
-%attr(755,root,root) %{_bindir}/php.cli
-%{_mandir}/man1/php.1*
-%endif
+%attr(755,root,root) %{_bindir}/php%{php_suffix}
+%{_mandir}/man1/php%{php_suffix}.1*
+%ghost %{_bindir}/php
+%ghost %{_mandir}/man1/php.1*
%if %{with fpm}
%files fpm
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php-fpm.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php-fpm.d/www.conf
%attr(755,root,root) %{_sbindir}/%{name}-fpm
-%if %{with alternatives}
%ghost %{_sbindir}/php-fpm
-%endif
%{_mandir}/man8/%{name}-fpm.8*
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}-fpm
%attr(754,root,root) /etc/rc.d/init.d/%{name}-fpm
%files devel
%defattr(644,root,root,755)
%doc CODING_STANDARDS README.{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) %{_bindir}/phpize%{php_suffix}
+%attr(755,root,root) %{_bindir}/php-config%{php_suffix}
+%ghost %{_bindir}/phpize
+%ghost %{_bindir}/php-config
%attr(755,root,root) %{_libdir}/libphp_common.so
%{_libdir}/libphp_common.la
-%{_includedir}/php
+%{_includedir}/php/php%{php_suffix}
%{_libdir}/%{name}/build
-%{_mandir}/man1/php-config.1*
-%{_mandir}/man1/phpize.1*
+%{_mandir}/man1/php-config%{php_suffix}.1*
+%ghost %{_mandir}/man1/php-config.1*
+%{_mandir}/man1/phpize%{php_suffix}.1*
+%ghost %{_mandir}/man1/phpize.1*
%if %{with bcmath}
%files bcmath
%attr(755,root,root) %{_bindir}/phar%{php_suffix}.phar
%{_mandir}/man1/phar%{php_suffix}.1*
%{_mandir}/man1/phar.phar.1*
-%if %{with alternatives}
%ghost %{_bindir}/phar
-%ghost %{_mandir}/man1/phar.1
-%else
-%attr(755,root,root) %{_bindir}/phar
-%endif
+%ghost %{_mandir}/man1/phar.1*
%endif
%if %{with posix}
%files tests
%defattr(644,root,root,755)
-%dir %{php_data_dir}/tests
-%dir %{php_data_dir}/tests/php
-%{php_data_dir}/tests/php/basic
-%{php_data_dir}/tests/php/classes
-%{php_data_dir}/tests/php/func
-%{php_data_dir}/tests/php/lang
-%{php_data_dir}/tests/php/output
-%{php_data_dir}/tests/php/run-test
-%{php_data_dir}/tests/php/security
-%{php_data_dir}/tests/php/strings
-%{php_data_dir}/tests/php/quicktester.inc
-%attr(755,root,root) %{php_data_dir}/tests/php/run-tests.php
+%dir %{php_datadir}/tests
+%dir %{php_datadir}/tests/php
+%{php_datadir}/tests/php/basic
+%{php_datadir}/tests/php/classes
+%{php_datadir}/tests/php/func
+%{php_datadir}/tests/php/lang
+%{php_datadir}/tests/php/output
+%{php_datadir}/tests/php/run-test
+%{php_datadir}/tests/php/security
+%{php_datadir}/tests/php/strings
+%{php_datadir}/tests/php/quicktester.inc
+%attr(755,root,root) %{php_datadir}/tests/php/run-tests.php
%if %{with tidy}
%files tidy