X-Git-Url: https://git.tld-linux.org/?a=blobdiff_plain;f=php.spec;h=510971195a8d70fe372e00cf95c7d753ed2b94f7;hb=refs%2Fheads%2FPHP_7_2;hp=5c09bbde710d615fd01ac38c733a47f5c7b85068;hpb=2145ef2126854956fb897978f38cda33bdc6672c;p=packages%2Fphp.git diff --git a/php.spec b/php.spec index 5c09bbd..5109711 100644 --- a/php.spec +++ b/php.spec @@ -1,37 +1,12 @@ -# TODO 5.6: -# - enable --with-fpm-systemd, but ensure it checks for sd_booted() -# - build with system libgd 2.1, see 73c5128 -# TODO 5.4: -# - update imap annotations patch (needs api porting) -# - update imap myrights patch (needs api porting) -# --with-libmbfl=DIR MBSTRING: Use external libmbfl. DIR is the libmbfl base install directory BUNDLED -# --with-onig=DIR MBSTRING: Use external oniguruma. DIR is the oniguruma install prefix. -# TODO: -# - fileinfo extension bundles magic db in library: data_file.c (dump of magic.mgc) is 14M -# - 2.3M fileinfo.so php54-fileinfo-5.4.6-0.15.x86_64 -# - 2.3M fileinfo.so php-fileinfo-5.3.16-1.x86_64 -# - 13K fileinfo.so php-pecl-fileinfo-1.0.4-8.amd64 -# - ttyname_r() misdetected http://bugs.php.net/bug.php?id=48820 -# - wddx: restore session support (not compiled in due DL extension check) -# - modularize standard (output from pure php -m)? -# - some mods should be shared: -#$ php -m -# [PHP Modules] -# Core -# date -# libxml -# Reflection -# standard -# # Conditional build: # - General options: %bcond_without embed # disable building Embedded API %bcond_with gcov # Enable Code coverage reporting %bcond_without kerberos5 # without Kerberos5 support -%bcond_with suhosin # with suhosin patch, has little point in PHP>=5.3, see https://github.com/stefanesser/suhosin/issues/42#issuecomment-41728178 %bcond_with systemtap # systemtap/DTrace support %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 +%bcond_with debug # Zend Debug Build # - SAPI %bcond_without apache2 # disable building Apache 2.x SAPI %bcond_without cgi # disable CGI/FCGI SAPI @@ -63,7 +38,6 @@ %bcond_without json # without json extension module %bcond_without ldap # without LDAP extension module %bcond_without mbstring # without mbstring extension module -%bcond_without mcrypt # without mbcrypt extension module %bcond_without mhash # without mhash extension (supported by hash extension) %bcond_without mysqli # without mysqli support (Requires mysql >= 4.1) %bcond_without mysqlnd # without mysqlnd support in mysql related extensions @@ -85,17 +59,20 @@ %bcond_without recode # without recode extension module %bcond_without session # without session extension module %bcond_without snmp # without SNMP extension module +%bcond_without sodium # without sodium extension module %bcond_without sqlite2 # without SQLite extension module %bcond_without sqlite3 # without SQLite3 extension module %bcond_without tidy # without Tidy extension module %bcond_without wddx # without WDDX extension module %bcond_without xmlrpc # without XML-RPC extension module +%bcond_without xsl # without xsl extension module +%bcond_without zip # without zip extension module # extensions options +%bcond_without argon2 # argon2 password hashing %bcond_without instantclient # build Oracle oci8 extension module against oracle-instantclient package %bcond_with interbase_inst # use InterBase install., not Firebird (BR: proprietary libs) %bcond_with mm # without mm support for session storage -%bcond_with system_gd # with system gd (imageantialias function is missing then) -%bcond_with system_libzip # with system libzip (reported broken currently) +%bcond_without system_gd # system gd %bcond_without webp # Without WebP support in GD extension (imagecreatefromwebp) %define apxs1 /usr/sbin/apxs1 @@ -134,7 +111,7 @@ %endif %define orgname php -%define php_suffix 71 +%define php_suffix 72 Summary: PHP: Hypertext Preprocessor Summary(fr.UTF-8): Le langage de script embarque-HTML PHP Summary(pl.UTF-8): Język skryptowy PHP @@ -142,8 +119,8 @@ Summary(pt_BR.UTF-8): A linguagem de script PHP Summary(ru.UTF-8): PHP Версии 7 - язык препроцессирования HTML-файлов, выполняемый на сервере Summary(uk.UTF-8): PHP Версії 7 - мова препроцесування HTML-файлів, виконувана на сервері Name: %{orgname}%{php_suffix} -Version: 7.1.1 -Release: 0.1 +Version: 7.2.34 +Release: 1 Epoch: 4 # All files licensed under PHP version 3.01, except # Zend is licensed under Zend @@ -151,7 +128,8 @@ Epoch: 4 License: PHP 3.01 and Zend and BSD Group: Libraries Source0: http://php.net/distributions/%{orgname}-%{version}.tar.xz -# Source0-md5: 65eef256f6e7104a05361939f5e23ada +# Source0-md5: adb64072b9b7e4634844a72512239a34 +Source1: opcache.ini Source2: %{orgname}-mod_php.conf Source3: %{orgname}-cgi-fcgi.ini Source4: %{orgname}-apache.ini @@ -192,16 +170,12 @@ Patch41: %{orgname}-fpm-config.patch Patch42: %{orgname}-fpm-shared.patch Patch43: %{orgname}-silent-session-cleanup.patch Patch44: %{orgname}-include_path.patch -Patch47: suhosin.patch Patch50: extension-shared-optional-dep.patch Patch51: spl-shared.patch Patch52: pcre-shared.patch Patch53: fix-test-run.patch Patch55: bug-52078-fileinode.patch Patch59: %{orgname}-systzdata.patch -Patch60: %{orgname}-oracle-instantclient.patch -Patch62: mcrypt-libs.patch -Patch65: system-libzip.patch Patch66: php-db.patch Patch67: mysql-lib-ver-mismatch.patch Patch69: fpm-conf-split.patch @@ -233,22 +207,24 @@ BuildRequires: gmp-devel >= 4.2 %{?with_imap:BuildRequires: imap-devel >= 1:2007e-2} %{?with_gcov:BuildRequires: lcov} %{?with_fpm:BuildRequires: libapparmor-devel} +%{?with_argon2:BuildRequires: libargon2-devel >= 20161029} %{?with_intl:BuildRequires: libicu-devel >= 4.4} BuildRequires: libjpeg-devel BuildRequires: libltdl-devel >= 1.4 -BuildRequires: libmcrypt-devel >= 2.5.6 BuildRequires: libpng-devel >= 1.0.8 +%{?with_sodium:BuildRequires: libsodium-devel >= 1.0.8} %{?with_intl:BuildRequires: libstdc++-devel} %{?with_webp:BuildRequires: libwebp-devel} BuildRequires: libtool >= 2:2.4.6 BuildRequires: libxml2-devel >= 1:2.7.6-4 -BuildRequires: libxslt-devel >= 1.1.0 -%{?with_system_libzip:BuildRequires: libzip-devel >= 0.10.1-2} +%{?with_xsl:BuildRequires: libxslt-devel >= 1.1.0} +%{?with_zip:BuildRequires: libzip-devel >= 1.3.1} %{?with_snmp:%{?with_tests:BuildRequires: mibs-net-snmp}} %{?with_mm:BuildRequires: mm-devel >= 1.3.0} -%{!?with_pdo_mysql:BuildRequires: mysql-devel} %{!?with_mysqli:BuildRequires: mysql-devel >= 4.1.13} +%{!?with_pdo_mysql:BuildRequires: mysql-devel} %{?with_snmp:BuildRequires: net-snmp-devel >= 5.3} +BuildRequires: oniguruma-devel %{?with_ldap:BuildRequires: openldap-devel >= 2.3.0} %if %{with openssl} || %{with ldap} BuildRequires: openssl-devel >= 1.0.1 @@ -283,30 +259,31 @@ BuildRequires: apr-util-devel >= 1:1.0.0 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define php_sysconfdir /etc/%{name} -%define php_extensiondir %{_libdir}/%{name} -%define php_datadir /usr/share/%{name} +%define php_extensiondir %{_libdir}/php/%{name} +%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 20160303 -%define zend_module_api 20160303 -%define zend_extension_api 320160303 -%define php_pdo_api_version 20150127 +%define php_api_version 20170718 +%define zend_module_api 20170718 +%define zend_extension_api 320170718 +%define php_pdo_api_version 20170320 # Extension versions %define bz2ver 1.0 -%define enchantver 1.1.0 +%define enchantver %{version} %define fileinfover 1.0.5 %define hashver 1.0 %define intlver 1.1.0 -%define jsonver 1.5.0 +%define jsonver 1.6.0 %define pharver 2.0.2 -%define sqlite3ver 0.7-dev -%define zipver 1.13.5 +%define sqlite3ver %{version} +%define zipver 1.15.4 %define phpdbgver 0.5.0 +%define sodiumver %{version} %define _zend_zts %{!?with_zts:0}%{?with_zts:1} -%define php_debug %{!?debug:0}%{?debug:1} +%define php_debug %{!?with_debug:0}%{?with_debug:1} %if %{with gcov} %undefine with_ccache @@ -371,21 +348,34 @@ PHP - це мова написання скриптів, що вбудовуют використання PHP - заміна для CGI скриптів. %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 +Summary: PHP support for Apache 2.x +Summary(pl.UTF-8): Wsparcie PHP dla Apache 2.x Group: Development/Languages/PHP Requires: %{name}-common = %{epoch}:%{version}-%{release} -Requires: apache(modules-api) = %{apache_modules_api} -Requires: apache-mod_mime +Requires: apache-mod_%{name}-core = %{epoch}:%{version}-%{release} Provides: webserver(php) = %{version} Obsoletes: apache-mod_php < 4:5.3.28-7 Obsoletes: phpfi %description -n apache-mod_%{name} -PHP as DSO module for Apache 2.x. +PHP support for Apache 2.x. %description -n apache-mod_%{name} -l pl.UTF-8 -PHP jako moduł DSO (Dynamic Shared Object) dla Apache 2.x. +Wsparcie PHP dla Apache 2.x. + +%package -n apache-mod_%{name}-core +Summary: PHP DSO module for Apache 2.x +Summary(pl.UTF-8): ModuÅ‚ DSO (Dynamic Shared Object) PHP dla Apache 2.x +Group: Development/Languages/PHP +Requires: %{name}-common = %{epoch}:%{version}-%{release} +Requires: apache(modules-api) = %{apache_modules_api} +Requires: apache-mod_mime + +%description -n apache-mod_%{name}-core +PHP as DSO module for Apache 2.x. + +%description -n apache-mod_%{name}-core -l pl.UTF-8 +PHP jako moduÅ‚ DSO (Dynamic Shared Object) dla Apache 2.x. %package litespeed Summary: PHP for litespeed HTTP server @@ -572,7 +562,6 @@ Requires: libtool >= 2:2.4.6 %{?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 @@ -1067,23 +1056,6 @@ string support. %description mbstring -l pl.UTF-8 Moduł PHP dodający obsługę ciągów znaków wielobajtowych. -%package mcrypt -Summary: mcrypt extension module for PHP -Summary(pl.UTF-8): Moduł mcrypt dla PHP -Group: Libraries -URL: http://php.net/manual/en/book.mcrypt.php -Requires: %{name}-common = %{epoch}:%{version}-%{release} -Requires: libmcrypt >= 2.5.6 -Provides: php(mcrypt) -Obsoletes: php-mcrypt < 4:5.3.28-7 - -%description mcrypt -This is a dynamic shared object (DSO) for PHP that will add mcrypt -support. - -%description mcrypt -l pl.UTF-8 -Moduł PHP dodający możliwość szyfrowania poprzez bibliotekę mcrypt. - %package mysqli Summary: MySQLi module for PHP Summary(pl.UTF-8): Moduł MySQLi dla PHP @@ -1629,6 +1601,16 @@ support. %description sockets -l pl.UTF-8 Moduł PHP dodający obsługę gniazdek. +%package sodium +Summary: Wrapper for the Sodium cryptographic library +Group: Libraries +URL: https://paragonie.com/book/pecl-libsodium +Requires: %{name}-common = %{epoch}:%{version}-%{release} +Provides: php(sodium) = %{sodiumver} + +%description sodium +A simple, low-level PHP extension for libsodium. + %package spl Summary: Standard PHP Library module for PHP Summary(pl.UTF-8): Moduł biblioteki standardowej (Standard PHP Library) dla PHP @@ -1894,7 +1876,7 @@ Summary(pl.UTF-8): Zarządzanie archiwami zip Group: Libraries URL: http://php.net/manual/en/book.zip.php Requires: %{name}-common = %{epoch}:%{version}-%{release} -%{?with_system_libzip:Requires: libzip >= 0.10.1-2} +%{?with_zip:Requires: libzip >= 1.3.1} Provides: php(zip) = %{zipver} Obsoletes: php-pecl-zip < %{zipver} Obsoletes: php-zip < 4:5.3.28-7 @@ -1956,24 +1938,18 @@ cp -p php.ini-production php.ini %endif %patch43 -p1 %patch44 -p1 -%if %{with suhosin} -%patch47 -p1 -%endif %patch50 -p1 -%patch51 -p1 -%patch52 -p1 +%patch51 -p1 -b .spl-shared +%patch52 -p1 -b .pcre-shared %patch53 -p1 %undos ext/spl/tests/SplFileInfo_getInode_basic.phpt %patch55 -p1 -%patch59 -p1 -%patch60 -p1 -%patch62 -p1 -%{?with_system_libzip:%patch65 -p1} +%patch59 -p1 -b .systzdata %patch66 -p1 %patch67 -p1 %patch70 -p1 %patch71 -p1 -%patch72 -p1 +%patch72 -p1 -b .phar-shared %{__sed} -i -e '/PHP_ADD_LIBRARY_WITH_PATH/s#xmlrpc,#xmlrpc-epi,#' ext/xmlrpc/config.m4 @@ -1996,7 +1972,7 @@ find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f #%{__rm} -r ext/dba/libinifile #%{__rm} -r ext/gd/libgd #%{__rm} -r ext/mbstring/libmbfl -#%{__rm} -r ext/mbstring/oniguruma +%{__rm} -r ext/mbstring/oniguruma %{__rm} -r ext/pcre/pcrelib #%{__rm} -r ext/soap/interop %{__rm} -r ext/xmlrpc/libxmlrpc @@ -2114,10 +2090,12 @@ if test "$ver" != "%{pharver}"; then : Update the pharver macro and rebuild. exit 1 fi -ver=$(sed -n '/#define PHP_SQLITE3_VERSION/{s/.* "//;s/".*$//;p}' ext/sqlite3/php_sqlite3.h) -if test "$ver" != "%{sqlite3ver}"; then - : Error: Upstream Sqlite3 version is now ${ver}, expecting %{sqlite3ver}. - : Update the sqlite3ver macro and rebuild. +ver=$(awk '/#define PHP_SQLITE3_VERSION/ {print $3}' ext/sqlite3/php_sqlite3.h | xargs) +if test "$ver" != "PHP_VERSION"; then + exit 1 +fi +ver=$(awk '/#define PHP_SODIUM_VERSION/ {print $3}' ext/sodium/php_libsodium.h | xargs) +if test "$ver" != "PHP_VERSION"; then exit 1 fi ver=$(sed -n '/#define PHP_ZIP_VERSION /{s/.* "//;s/".*$//;p}' ext/zip/php_zip.h) @@ -2144,10 +2122,8 @@ if test "$ver" != "%{bz2ver}"; then : Update the bz2ver macro and rebuild. exit 1 fi -ver=$(sed -n '/#define PHP_ENCHANT_VERSION /{s/.* "//;s/".*$//;p}' ext/enchant/php_enchant.h) -if test "$ver" != "%{enchantver}"; then - : Error: Upstream Enchant version is now ${ver}, expecting %{enchantver}. - : Update the enchantver macro and rebuild. +ver=$(awk '/#define PHP_ENCHANT_VERSION/ {print $3}' ext/enchant/php_enchant.h | xargs) +if test "$ver" != "PHP_VERSION"; then exit 1 fi ver=$(awk '/#define PHP_HASH_VERSION/ {print $3}' ext/hash/php_hash.h | xargs) @@ -2178,6 +2154,11 @@ export PROG_SENDMAIL="/usr/lib/sendmail" export CPPFLAGS="-DDEBUG_FASTCGI -DHAVE_STRNDUP %{rpmcppflags} \ -I%{_includedir}/xmlrpc-epi" +%if %{with intl} +# icu 59+ C++ API requires C++ >= 11 +CXXFLAGS="$CXXFLAGS -std=c++11" +%endif + sapis=" cli %if %{with cgi} @@ -2248,7 +2229,8 @@ for sapi in $sapis; do --with-config-file-path=%{_sysconfdir} \ --with-config-file-scan-dir=%{_sysconfdir}/conf.d \ --with-system-tzdata \ - --%{!?debug:dis}%{?debug:en}able-debug \ + %{?with_argon2:--with-password-argon2} \ + --%{!?with_debug:dis}%{?with_debug:en}able-debug \ %{?with_zts:--enable-maintainer-zts} \ --enable-inline-optimization \ %{__enable_disable bcmath bcmath shared} \ @@ -2260,10 +2242,10 @@ for sapi in $sapis; do %{__enable_disable exif exif shared} \ %{__enable_disable fileinfo fileinfo shared} \ %{__enable_disable ftp ftp shared} \ - --enable-gd-native-ttf \ %{?with_intl:--enable-intl=shared} \ --enable-libxml \ %{__enable_disable mbstring mbstring shared,all} \ + --with-onig=/usr \ --enable-mbregex \ %{__enable_disable pcntl pcntl shared} \ %{__enable_disable pdo pdo shared} \ @@ -2299,6 +2281,7 @@ for sapi in $sapis; do --enable-sysvshm=shared \ --enable-soap=shared \ --enable-sockets=shared \ + %{__with_without sodium sodium shared} \ --enable-tokenizer=shared \ %{?with_wddx:--enable-wddx=shared} \ --enable-xml=shared \ @@ -2317,7 +2300,6 @@ for sapi in $sapis; do %{?with_interbase:--with-interbase=shared%{!?with_interbase_inst:,/usr}} \ --with-jpeg-dir=/usr \ %{?with_ldap:--with-ldap=shared --with-ldap-sasl} \ - %{__with_without mcrypt mcrypt shared} \ %{?with_mm:--with-mm} \ %{?with_mysqlnd:--enable-mysqlnd=shared} \ %{?with_mysqli:--with-mysqli=shared,%{!?with_mysqlnd:/usr/bin/mysql_config}%{?with_mysqlnd:mysqlnd}} \ @@ -2341,11 +2323,10 @@ for sapi in $sapis; do %{?with_tidy:--with-tidy=shared} \ %{?with_odbc:--with-unixODBC=shared,/usr} \ %{__with_without xmlrpc xmlrpc shared,/usr} \ - --with-xsl=shared \ + %{?with_xsl:--with-xsl=shared} \ --with-zlib=shared \ --with-zlib-dir=shared,/usr \ - %{?with_system_libzip:--with-libzip} \ - --enable-zip=shared,/usr \ + %{?with_zip:--enable-zip=shared,/usr --with-libzip} \ # save for debug cp -f Makefile Makefile.$sapi @@ -2427,6 +2408,8 @@ generate_inifiles() { [ "$mod" = "spl" ] && conf="SPL.ini" # session needs to be loaded before php-pecl-http, php-pecl-memcache, php-pecl-session_mysql [ "$mod" = "session" ] && conf="Session.ini" + # hash needs to be loaded before mysqlnd + [ "$mod" = "hash" ] && conf="hash.ini" # mysqlnd needs to be loaded before mysqli,pdo_mysqli [ "$mod" = "mysqlnd" ] && conf="MySQLND.ini" echo "+ $conf" @@ -2437,6 +2420,7 @@ generate_inifiles() { done } generate_inifiles +cp -p %{_sourcedir}/opcache.ini conf.d # Check that the module inner-dependencies are intact PHP=./sapi/cli/php EXTENSION_DIR=modules CONFIG_DIR=conf.d ./dep-tests.sh > dep-tests.log @@ -2497,7 +2481,7 @@ install -d $RPM_BUILD_ROOT{%{_libdir}/{php,apache{,1}},%{_sysconfdir}/{apache,cg cp -pf php_config.h.cli main/php_config.h cp -pf Makefile.cli Makefile %{__make} install \ - phpbuilddir=%{_libdir}/%{name}/build \ + phpbuilddir=%{_libdir}/php/php%{php_suffix}/build \ INSTALL_ROOT=$RPM_BUILD_ROOT # version the .phar files @@ -2513,9 +2497,12 @@ v=$(echo %{version} | cut -d. -f1-2) # install Apache2 DSO module %if %{with apache2} +# versioned libphp libtool --mode=install install -p sapi/apache2handler/libphp7.la $RPM_BUILD_ROOT%{_libdir}/apache -%{__mv} $RPM_BUILD_ROOT%{_libdir}/apache/libphp7{,-$v}.so -ln -s libphp7-$v.so $RPM_BUILD_ROOT%{_libdir}/apache/mod_php.so +%{__mv} $RPM_BUILD_ROOT%{_libdir}/apache/libphp7.la $RPM_BUILD_ROOT%{_libdir}/apache/libphp%{php_suffix}.la +%{__mv} $RPM_BUILD_ROOT%{_libdir}/apache/libphp7.so $RPM_BUILD_ROOT%{_libdir}/apache/libphp%{php_suffix}.so +sed -i -e "s|libphp7|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 @@ -2540,7 +2527,13 @@ touch $RPM_BUILD_ROOT%{_mandir}/man1/php-config.1 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} @@ -2577,11 +2570,12 @@ touch $RPM_BUILD_ROOT%{_sbindir}/php-fpm # 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/libphp7.so $RPM_BUILD_ROOT%{_libdir} +install -p libs/libphp7.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 # 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 @@ -2592,7 +2586,7 @@ cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/php-cli.ini %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/libphp7.la +%{__rm} -f $RPM_BUILD_ROOT%{_libdir}/apache/libphp%{php_suffix}.la %endif # ensure that paths are correct for current php version and arch @@ -2612,17 +2606,17 @@ install -d $RPM_BUILD_ROOT%{_sysconfdir}/{cgi-fcgi,cli,apache,apache2handler}.d %{__mv} $RPM_BUILD_ROOT%{_sysconfdir}/{conf.d/readline.ini,cli.d} # use system automake and {lib,sh}tool -ln -snf /usr/share/automake/config.{guess,sub} $RPM_BUILD_ROOT%{_libdir}/%{name}/build -ln -snf %{_bindir}/shtool $RPM_BUILD_ROOT%{_libdir}/%{name}/build +ln -snf /usr/share/automake/config.{guess,sub} $RPM_BUILD_ROOT%{_libdir}/php/php%{php_suffix}/build +ln -snf %{_bindir}/shtool $RPM_BUILD_ROOT%{_libdir}/php/php%{php_suffix}/build for fn in libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4; do f=%{_aclocaldir}/$fn test -f $f || continue - ln -snf $f $RPM_BUILD_ROOT%{_libdir}/%{name}/build + ln -snf $f $RPM_BUILD_ROOT%{_libdir}/php/php%{php_suffix}/build done for fn in ltmain.sh config/ltmain.sh build-aux/ltmain.sh; do f=/usr/share/libtool/$fn test -f $f || continue - ln -snf $f $RPM_BUILD_ROOT%{_libdir}/%{name}/build + ln -snf $f $RPM_BUILD_ROOT%{_libdir}/php/php%{php_suffix}/build break done sed -i -e '/^phpdir/ s,/php/build,/%{name}/build,' $RPM_BUILD_ROOT%{_bindir}/phpize%{php_suffix} @@ -2637,9 +2631,9 @@ 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 +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 +sed -i -e 's|libphp_common.la|$(libdir)/libphp_common%{php_suffix}.la|' $RPM_BUILD_ROOT%{_libdir}/php/php%{php_suffix}/build/acinclude.m4 %clean rm -rf $RPM_BUILD_ROOT @@ -2661,9 +2655,12 @@ update-alternatives \ %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} \ @@ -2674,8 +2671,8 @@ update-alternatives \ %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 @@ -2690,7 +2687,7 @@ update-alternatives --install %{_sbindir}/php-fpm php-fpm %{_sbindir}/php%{php_s 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 @@ -2801,7 +2798,6 @@ fi \ %extension_scripts json %extension_scripts ldap %extension_scripts mbstring -%extension_scripts mcrypt %extension_scripts mysqli %extension_scripts mysqlnd %extension_scripts oci8 @@ -2828,6 +2824,7 @@ fi \ %extension_scripts snmp %extension_scripts soap %extension_scripts sockets +%extension_scripts sodium %extension_scripts spl %extension_scripts sqlite3 %extension_scripts sysvmsg @@ -2853,17 +2850,20 @@ update-alternatives \ %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 apache2} %files -n apache-mod_%{name} %defattr(644,root,root,755) %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/httpd/conf.d/*_mod_php.conf +%attr(755,root,root) %{_libdir}/apache/mod_php.so + +%files -n apache-mod_%{name}-core +%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/libphp7-*.*.so +%attr(755,root,root) %{_libdir}/apache/libphp%{php_suffix}.so %endif %if %{with litespeed} @@ -2884,7 +2884,7 @@ fi %if %{with embed} %files embedded %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libphp7.so +%attr(755,root,root) %{_libdir}/libphp%{php_suffix}.so %endif %files cli @@ -2925,11 +2925,12 @@ fi %files common %defattr(644,root,root,755) -%doc CREDITS EXTENSIONS LICENSE NEWS README.namespaces UPGRADING* Zend/{LICENSE.Zend,ZEND_CHANGES} php.ini-* +%doc CREDITS EXTENSIONS LICENSE NEWS UPGRADING* Zend/{LICENSE.Zend,README*} php.ini-* %dir %{_sysconfdir} %dir %{_sysconfdir}/conf.d %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php.ini -%attr(755,root,root) %{_libdir}/libphp_common-*.so +%attr(755,root,root) %{_libdir}/libphp_common%{php_suffix}-*.so +%dir %{php_datadir} %dir %{php_extensiondir} %doc ext/session/mod_files.sh @@ -2941,10 +2942,10 @@ fi %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 +%attr(755,root,root) %{_libdir}/libphp_common%{php_suffix}.so +%{_libdir}/libphp_common%{php_suffix}.la %{_includedir}/php/php%{php_suffix} -%{_libdir}/%{name}/build +%{_libdir}/php/php%{php_suffix}/build %{_mandir}/man1/php-config%{php_suffix}.1* %ghost %{_mandir}/man1/php-config.1* %{_mandir}/man1/phpize%{php_suffix}.1* @@ -3134,14 +3135,6 @@ fi %attr(755,root,root) %{php_extensiondir}/mbstring.so %endif -%if %{with mcrypt} -%files mcrypt -%defattr(644,root,root,755) -%doc ext/mcrypt/{CREDITS,TODO} -%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mcrypt.ini -%attr(755,root,root) %{php_extensiondir}/mcrypt.so -%endif - %if %{with mysqli} %files mysqli %defattr(644,root,root,755) @@ -3365,6 +3358,14 @@ fi %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/sockets.ini %attr(755,root,root) %{php_extensiondir}/sockets.so +%if %{with sodium} +%files sodium +%defattr(644,root,root,755) +%doc ext/sodium/{README.md,CREDITS} +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/sodium.ini +%attr(755,root,root) %{php_extensiondir}/sodium.so +%endif + %files spl %defattr(644,root,root,755) %doc ext/spl/{CREDITS,README,TODO} @@ -3464,18 +3465,22 @@ fi %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/xmlwriter.ini %attr(755,root,root) %{php_extensiondir}/xmlwriter.so +%if %{with xsl} %files xsl %defattr(644,root,root,755) %doc ext/xsl/CREDITS %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/xsl.ini %attr(755,root,root) %{php_extensiondir}/xsl.so +%endif +%if %{with zip} %files zip %defattr(644,root,root,755) %doc ext/zip/{CREDITS,TODO} %doc ext/zip/examples %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/zip.ini %attr(755,root,root) %{php_extensiondir}/zip.so +%endif %files zlib %defattr(644,root,root,755)