X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=php.spec;h=685672fc16095a3b159455860cdefbc290956ac2;hb=18d0d716aa3b3e5fddf157162d5d67c1e85a2dfb;hp=fae7f9c5203df195a6b9af9f62c3cbc79781eab3;hpb=ba9835b0645df3198c9bb6fcc7470ce0170d4ad0;p=packages%2Fphp.git diff --git a/php.spec b/php.spec index fae7f9c..685672f 100644 --- a/php.spec +++ b/php.spec @@ -3,7 +3,6 @@ # - enable --with-fpm-systemd, but ensure it checks for sd_booted() # - build with system libgd 2.1, see 73c5128 # TODO 5.4: -# - check php-sapi-ini-file.patch for safe mode removal # - 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 @@ -17,16 +16,8 @@ # - 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) -# - deal with modules removed from php and not moved to PECL, still not obsoleted anywhere -# - removed from php 5.0 (currently in php4): -# db [pecl-svn], hyperwave [pecl-svn], java [pecl-svn], mcal [pecl-svn], qtdom [pecl-svn] -# - removed from php 5.1: -# oracle [pecl-svn] -# - removed from php 5.2: -# filepro [pecl-svn], hwapi [pecl-svn] # - make additional headers and checking added by mail patch configurable # - modularize standard (output from pure php -m)? -# - lib64 patch obsolete by $PHP_LIBDIR ? # - WARNING: Phar: sha256/sha512 signature support disabled if ext/hash is # built shared, also PHAR_HAVE_OPENSSL is false if openssl is built shared. # make it runtime dep and add Suggests (or php warning messages) @@ -41,56 +32,84 @@ # standard # # Conditional build: -%bcond_with interbase_inst # use InterBase install., not Firebird (BR: proprietary libs) -%bcond_with oci # with Oracle oci8 extension module (BR: proprietary libs) +# - General options: +%bcond_without embed # disable building Embedded API +%bcond_with default_php # use this PHP as default PHP in distro +%bcond_with gcov # Enable Code coverage reporting %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_without kerberos5 # without Kerberos5 support +%bcond_with mm # without mm support for session storage +%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 system_gd # with system gd (imageantialias function is missing then) %bcond_with system_libzip # with system libzip (reported broken currently) -%bcond_with default_php # use this PHP as default PHP in distro %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_without webp # Without WebP support in GD extension (imagecreatefromwebp) +%bcond_with zts # Zend Thread Safety +# - SAPI +%bcond_without 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 +%bcond_without litespeed # build litespeed SAPI +%bcond_with milter # disable Milter SAPI +%bcond_without phpdbg # disable phpdbg SAPI +# - Extensions +%bcond_without bcmath # without bcmath extension module +%bcond_without bz2 # without bz2 extension module +%bcond_without calendar # without calendar extension module +%bcond_without ctype # without ctype extension module %bcond_without curl # without CURL extension module +%bcond_without dba # without DBA extension module +%bcond_without dom # without DOM extension module %bcond_without enchant # without Enchant extension module +%bcond_without ereg # without ext/ereg support +%bcond_without exif # without EXIF extension module +%bcond_without fileinfo # without fileinfo extension module %bcond_without filter # without filter extension module +%bcond_without ftp # without FTP extension module +%bcond_without gd # without GD extension module +%bcond_without gettext # without gettext extension module +%bcond_without gmp # without gmp extension module +%bcond_without hash # without hash extension module +%bcond_without iconv # without iconv extension module %bcond_without imap # without IMAP extension module %bcond_without interbase # without InterBase extension module %bcond_without intl # without Intl extension module -%bcond_without kerberos5 # without Kerberos5 support -%bcond_without litespeed # build litespeed module +%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 mm # without mm support for session storage %bcond_without mssql # without MS SQL extension module -%bcond_without mysqlnd # without mysqlnd support in mysql related extensions +%bcond_without mysql # without ext/mysql support %bcond_without mysqli # without mysqli support (Requires mysql > 4.1) +%bcond_without mysqlnd # without mysqlnd support in mysql related extensions +%bcond_with oci # with Oracle oci8 extension module (BR: proprietary libs) %bcond_without odbc # without ODBC extension module %bcond_without opcache # without Enable Zend OPcache extension support %bcond_without openssl # without OpenSSL support and OpenSSL extension (module) +%bcond_without pcntl # without pcntl extension module %bcond_without pcre # without PCRE extension module +%bcond_without pdo # without PDO extension module +%bcond_without pdo_dblib # without PDO dblib extension module +%bcond_without pdo_mysql # without PDO MySQL extension module %bcond_without pdo_sqlite # without PDO SQLite extension module %bcond_without pgsql # without PostgreSQL extension module -%bcond_without phar # without phar extension module +%bcond_without phar # without Phar extension module +%bcond_without posix # without POSIX extension module %bcond_without pspell # without pspell extension module +%bcond_without readline # without readline extension module %bcond_without recode # without recode extension module +%bcond_without session # without session extension module %bcond_without snmp # without SNMP extension module %bcond_without sqlite2 # without SQLite extension module %bcond_without sqlite3 # without SQLite3 extension module %bcond_without sybase_ct # without Sybase-CT extension module %bcond_without tidy # without Tidy extension module -%bcond_without webp # Without WebP support in GD extension (imagecreatefromwebp) %bcond_without wddx # without WDDX extension module %bcond_without xmlrpc # without XML-RPC extension module -%bcond_without apache1 # disable building Apache 1.3.x SAPI -%bcond_without apache2 # disable building Apache 2.x SAPI -%bcond_with zts # Zend Thread Safety -%bcond_without cgi # disable CGI/FCGI SAPI -%bcond_without fpm # disable FPM -%bcond_without embed # disable Embedded API -%bcond_without phpdbg # disable phpdbg SAPI -%bcond_with milter # disable Milter SAPI -%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 tests # default off; test process very often hangs on builders, approx run time 45m; perform "make test" -%bcond_with gcov # Enable Code coverage reporting -%bcond_with type_hints # experimental support for strict typing/casting %define apxs1 /usr/sbin/apxs1 %define apxs2 /usr/sbin/apxs @@ -113,12 +132,12 @@ %undefine with_milter %endif -%ifnarch %{ix86} %{x8664} sparc sparcv9 alpha +%ifnarch %{ix86} %{x8664} x32 sparc sparcv9 alpha # ppc disabled (broken on th-ppc) %undefine with_interbase %endif -%ifnarch %{ix86} %{x8664} +%ifnarch %{ix86} %{x8664} x32 # unsupported, see sapi/cgi/fpm/fpm_atomic.h %undefine with_fpm %endif @@ -134,7 +153,7 @@ ERROR: You need to select at least one Apache SAPI to build shared modules. %undefine with_filter %endif -%define rel 1 +%define rel 2 %define orgname php %define ver_suffix 56 %define php_suffix %{!?with_default_php:%{ver_suffix}} @@ -145,19 +164,20 @@ Summary(pt_BR.UTF-8): A linguagem de script PHP Summary(ru.UTF-8): PHP Версии 5 - язык препроцессирования HTML-файлов, выполняемый на сервере Summary(uk.UTF-8): PHP Версії 5 - мова препроцесування HTML-файлів, виконувана на сервері Name: %{orgname}%{php_suffix} -Version: 5.6.4 -Release: %{rel}%{?with_type_hints:.th} +Version: 5.6.12 +Release: %{rel} Epoch: 4 -License: PHP +# All files licensed under PHP version 3.01, except +# Zend is licensed under Zend +# TSRM is licensed under BSD +License: PHP 3.01 and Zend and BSD Group: Libraries Source0: http://www.php.net/distributions/%{orgname}-%{version}.tar.xz -# Source0-md5: bf824c5e5c7f49ca5f7350d72cba4881 +# Source0-md5: f2cc602602eb2b121779f2c4b8bacaba Source2: %{orgname}-mod_%{orgname}.conf Source3: %{orgname}-cgi-fcgi.ini Source4: %{orgname}-apache.ini Source5: %{orgname}-cli.ini -# Taken from: http://browsers.garykeith.com/downloads.asp -Source9: %{orgname}_browscap.ini Source10: %{orgname}-fpm.init Source11: %{orgname}-fpm.logrotate Source12: %{orgname}-branch.sh @@ -167,7 +187,6 @@ Patch0: %{orgname}-shared.patch Patch1: %{orgname}-pldlogo.patch Patch2: %{orgname}-mail.patch Patch3: %{orgname}-link-libs.patch -Patch4: %{orgname}-libpq_fs_h_path.patch Patch5: %{orgname}-filter-shared.patch Patch6: %{orgname}-build_modules.patch Patch7: %{orgname}-sapi-ini-file.patch @@ -175,13 +194,9 @@ Patch8: milter.patch Patch9: libtool-tag.patch Patch10: %{orgname}-ini.patch Patch11: embed.patch -%if %{with type_hints} -Patch12: http://ilia.ws/patch/type_hint_53_v2.txt -%endif Patch14: %{orgname}-no_pear_install.patch Patch17: %{orgname}-readline.patch Patch18: %{orgname}-nohttpd.patch -Patch20: %{orgname}-uint32_t.patch Patch21: %{orgname}-dba-link.patch Patch22: %{orgname}-both-apxs.patch Patch23: %{orgname}-builddir.patch @@ -212,10 +227,11 @@ Patch55: bug-52078-fileinode.patch Patch59: %{orgname}-systzdata.patch Patch60: %{orgname}-oracle-instantclient.patch Patch62: mcrypt-libs.patch -Patch63: %{orgname}-mysql-nowarning.patch Patch65: system-libzip.patch Patch66: php-db.patch Patch67: mysql-lib-ver-mismatch.patch +# https://bugs.php.net/bug.php?id=68344 +Patch68: php-mysql-ssl-context.patch Patch69: fpm-conf-split.patch Patch70: mysqlnd-ssl.patch URL: http://www.php.net/ @@ -235,10 +251,10 @@ BuildRequires: elfutils-devel %{!?with_mysqlnd:BuildRequires: mysql-devel} BuildRequires: pkgconfig BuildRequires: sed >= 4.0 -%if %{with mssql} || %{with sybase_ct} +%if %{with mssql} || %{with sybase_ct} || %{with pdo_dblib} BuildRequires: freetds-devel >= 0.82 %endif -BuildRequires: freetype-devel >= 2.5.1 +BuildRequires: freetype-devel >= 1:2.5.1 %if %{with system_gd} BuildRequires: gd-devel >= 2.1 %endif @@ -316,10 +332,10 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define hashver 1.0 %define intlver 1.1.0 %define jsonver 1.2.1 -%define opcachever 7.0.4-dev +%define opcachever 7.0.6-dev %define pharver 2.0.2 %define sqlite3ver 0.7-dev -%define zipver 1.12.4 +%define zipver 1.12.5 %define phpdbgver 0.4.0 %define _zend_zts %{!?with_zts:0}%{?with_zts:1} @@ -448,9 +464,6 @@ Provides: php(fcgi) Provides: webserver(php) = %{version} Obsoletes: php-cgi < 4:5.3.28-7 Obsoletes: php-fcgi < 4:5.3.0 -%if "%{pld_release}" != "ac" -Conflicts: logrotate < 3.8.0 -%endif %description cgi PHP as CGI or FastCGI program. @@ -511,10 +524,14 @@ Requires(pre): /bin/id Requires(pre): /usr/sbin/useradd Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: rc-scripts +Provides: php(fcgi) Provides: php(fpm) Provides: user(http) Provides: webserver(php) = %{version} Obsoletes: php-fpm < 4:5.3.28-7 +%if "%{pld_release}" != "ac" +Conflicts: logrotate < 3.8.0 +%endif %description fpm PHP FastCGI Process Manager. @@ -557,17 +574,18 @@ 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_ereg:Provides: %{name}-ereg} Provides: %{name}-reflection Provides: %{name}-standard Provides: php(core) = %{version} Provides: php(date) -Provides: php(ereg) +%{?with_ereg:Provides: php(ereg)} Provides: php(libxml) Provides: php(reflection) Provides: php(standard) %{!?with_mysqlnd:Obsoletes: %{name}-mysqlnd} %{?with_pcre:%requires_ge_to pcre pcre-devel} +Suggests: browscap Obsoletes: php-common < 4:5.3.28-7 Obsoletes: php-pecl-domxml Conflicts: php4-common < 3:4.4.4-8 @@ -612,6 +630,7 @@ Obsoletes: php4-devel Obsoletes: php52-devel Obsoletes: php53-devel Obsoletes: php54-devel +Obsoletes: php55-devel %description devel The php-devel package lets you compile dynamic extensions to PHP. @@ -2001,20 +2020,15 @@ cp -p php.ini-production php.ini %patch1 -p1 %patch2 -p1 %patch3 -p1 -%patch4 -p1 %patch5 -p1 %patch6 -p1 %patch7 -p1 -%patch8 -p1 +%{?with_milter:%patch8 -p1} %patch9 -p1 %patch10 -p1 -%if %{with type_hints} -%patch12 -p0 -%endif %patch14 -p1 %patch17 -p1 %patch18 -p1 -%patch20 -p1 %patch21 -p1 %patch22 -p1 %patch23 -p1 @@ -2027,13 +2041,26 @@ cp -p php.ini-production php.ini %if "%{pld_release}" != "ac" %patch34 -p1 %endif -%patch35 -p1 +%{?with_sybase_ct:%patch35 -p1} %patch36 -p1 %patch37 -p1 %patch38 -p1 %patch39 -p1 %if %{with fpm} +%if 0 +# create split php-fpm.conf patch. review (restore other diffs) and commit +cp sapi/fpm/php-fpm.conf.in{,.orig} +%{__sed} -n -e '/; Start a new pool named/,$p' sapi/fpm/php-fpm.conf.in > sapi/fpm/php-fpm.conf-d.in +%{__sed} -i -e '/; Include one or more files/,/include=etc\/fpm\.d/d' sapi/fpm/php-fpm.conf.in +%{__sed} -i -e '/; Start a new pool named/,$d' sapi/fpm/php-fpm.conf.in +set +e +cd .. +diff -u %{orgname}-%{version}/sapi/fpm/php-fpm.conf.in{.orig,} > %{PATCH69} +diff -u /dev/null %{orgname}-%{version}/sapi/fpm/php-fpm.conf-d.in >> %{PATCH69} +exit 1 +%else %patch69 -p1 +%endif %patch41 -p1 %patch42 -p1 %endif @@ -2053,10 +2080,10 @@ cp -p php.ini-production php.ini %patch59 -p1 %patch60 -p1 %patch62 -p1 -%patch63 -p1 %{?with_system_libzip:%patch65 -p1} %patch66 -p1 %patch67 -p1 +%patch68 -p1 %patch70 -p1 sed -i -e '/PHP_ADD_LIBRARY_WITH_PATH/s#xmlrpc,#xmlrpc-epi,#' ext/xmlrpc/config.m4 @@ -2133,6 +2160,9 @@ ix86= x8664=: %endif %ifarch %{x8664} ix86=: x8664= \ +%endif +%ifarch x32 +ix86=: x8664=: \ %endif sh -xe %{_sourcedir}/skip-tests.sh @@ -2321,30 +2351,30 @@ for sapi in $sapis; do --%{!?debug:dis}%{?debug:en}able-debug \ %{?with_zts:--enable-maintainer-zts} \ --enable-inline-optimization \ - --enable-bcmath=shared \ - --enable-calendar=shared \ - --enable-ctype=shared \ - --enable-dba=shared \ - --enable-dom=shared \ + %{__enable_disable bcmath bcmath shared} \ + %{__enable_disable calendar calendar shared} \ + %{__enable_disable ctype ctype shared} \ + %{__enable_disable dba dba shared} \ + %{__enable_disable dom dom shared} \ %{?with_systemtap:--enable-dtrace} \ - --enable-exif=shared \ - --enable-fileinfo=shared \ - --enable-ftp=shared \ + %{__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-mbstring=shared,all \ + %{__enable_disable mbstring mbstring shared,all} \ --enable-mbregex \ - --enable-pcntl=shared \ - --enable-pdo=shared \ - --enable-json=shared \ - --enable-hash=shared \ + %{__enable_disable pcntl pcntl shared} \ + %{__enable_disable pdo pdo shared} \ + %{__enable_disable json json shared} \ + %{__enable_disable hash hash shared} \ --enable-xmlwriter=shared \ %if %{with fpm} --with-fpm-user=http \ --with-fpm-group=http \ %endif -%if %{with mssql} || %{with sybase_ct} +%if %{with pdo_dblib} --with-pdo-dblib=shared \ %endif %if %{with interbase} && %{without interbase_inst} @@ -2352,16 +2382,16 @@ for sapi in $sapis; do %endif %{?with_mhash:--with-mhash=yes} \ --with-mysql-sock=/var/lib/mysql/mysql.sock \ - --with-pdo-mysql=shared,%{!?with_mysqlnd:/usr}%{?with_mysqlnd:mysqlnd} \ + %{__with_without pdo_mysql pdo-mysql shared,%{!?with_mysqlnd:/usr}%{?with_mysqlnd:mysqlnd}} \ %{?with_oci:--with-pdo-oci=shared%{?with_instantclient:,instantclient,%{_libdir}}} \ %{?with_odbc:--with-pdo-odbc=shared,unixODBC,/usr} \ %{?with_pgsql:--with-pdo-pgsql=shared} \ %{?with_pdo_sqlite:--with-pdo-sqlite=shared,/usr} \ %{?with_webp:--with-vpx-dir=/usr} \ --without-libexpat-dir \ - --enable-posix=shared \ + %{__enable_disable posix posix shared} \ --enable-shared \ - --enable-session=shared \ + %{__enable_disable session session shared} \ --enable-shmop=shared \ --enable-simplexml=shared \ --enable-sysvmsg=shared \ @@ -2373,28 +2403,28 @@ for sapi in $sapis; do %{?with_wddx:--enable-wddx=shared} \ --enable-xml=shared \ --enable-xmlreader=shared \ - --with-bz2=shared \ + %{__with_without bz2 bz2 shared} \ %{__with_without curl curl shared} \ --with-db4 \ - --with-iconv=shared \ + %{__with_without iconv iconv shared} \ %{?with_enchant:--with-enchant=shared,/usr} \ --with-freetype-dir=shared \ - --with-gettext=shared \ - --with-gd=shared%{?with_system_gd:,/usr} \ + %{__with_without gettext gettext shared} \ + %{__with_without gd gd shared%{?with_system_gd:,/usr}} \ --with-gdbm \ - --with-gmp=shared \ + %{__with_without gmp gmp shared} \ %{?with_imap:--with-imap=shared --with-imap-ssl} \ %{?with_interbase:--with-interbase=shared%{!?with_interbase_inst:,/usr}} \ --with-jpeg-dir=/usr \ %{?with_ldap:--with-ldap=shared --with-ldap-sasl} \ - --with-mcrypt=shared \ + %{__with_without mcrypt mcrypt shared} \ %{?with_mm:--with-mm} \ %{?with_mssql:--with-mssql=shared} \ %{?with_mysqlnd:--enable-mysqlnd=shared} \ - --with-mysql=shared,%{!?with_mysqlnd:/usr}%{?with_mysqlnd:mysqlnd} \ + %{__with_without mysql mysql shared,%{!?with_mysqlnd:/usr}%{?with_mysqlnd:mysqlnd}} \ %{?with_mysqli:--with-mysqli=shared,%{!?with_mysqlnd:/usr/bin/mysql_config}%{?with_mysqlnd:mysqlnd}} \ %{?with_oci:--with-oci8=shared%{?with_instantclient:,instantclient,%{_libdir}}} \ - %{?with_opcache:--enable-opcache=shared} \ + %{__enable_disable opcache opcache shared} \ %{?with_openssl:--with-openssl=shared} \ %{?with_kerberos5:--with-kerberos} \ --with-tcadb=/usr \ @@ -2405,9 +2435,9 @@ for sapi in $sapis; do %{__enable_disable phar phar shared} \ --with-png-dir=/usr \ %{?with_pspell:--with-pspell=shared} \ - --with-readline=shared \ + %{__with_without readline readline shared} \ %{?with_recode:--with-recode=shared} \ - --with-regex=system \ + %{__with_without ereg regex system} \ %{?with_snmp:--with-snmp=shared} \ %{?with_sybase_ct:--with-sybase-ct=shared,/usr} \ %{!?with_pdo_sqlite:--without-pdo-sqlite} \ @@ -2662,9 +2692,7 @@ echo ".so php%{ver_suffix}.1" >$RPM_BUILD_ROOT%{_mandir}/man1/php.1 ln -sf php%{ver_suffix} $RPM_BUILD_ROOT%{_bindir}/php cp -p php.ini $RPM_BUILD_ROOT%{_sysconfdir}/php.ini - cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/php-cli.ini -cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_sysconfdir}/browscap.ini %if %{with apache1} cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/apache/conf.d/70_mod_php.conf @@ -2695,17 +2723,19 @@ 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 -%if "%{pld_release}" != "ac" - 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}/%{name}/build - done - ln -snf %{_datadir}/libtool/config/ltmain.sh $RPM_BUILD_ROOT%{_libdir}/%{name}/build -%else - 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 /usr/share/automake/config.{guess,sub} $RPM_BUILD_ROOT%{_libdir}/%{name}/build ln -snf %{_bindir}/shtool $RPM_BUILD_ROOT%{_libdir}/%{name}/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 +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 + break +done sed -i -e '/^phpdir/ s,/php/build,/%{name}/build,' $RPM_BUILD_ROOT%{_bindir}/phpize # for php-pecl-mailparse @@ -2722,6 +2752,13 @@ sed -i -e "s|^libdir=.*|libdir='%{_libdir}'|" $RPM_BUILD_ROOT%{_libdir}/libphp_c # 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 + %clean rm -rf $RPM_BUILD_ROOT @@ -2753,7 +2790,7 @@ fi %service %{name}-fpm restart %preun fpm -if [ "$1" = 0 ]; then +if [ "$1" = "0" ]; then %service %{name}-fpm stop /sbin/chkconfig --del %{name}-fpm fi @@ -2803,14 +2840,22 @@ for f in /etc/php/*.ini.rpmsave /etc/php/*.d/*.ini.rpmsave; do fn=${fn%.rpmsave} nf=%{_sysconfdir}/$dn/$fn test -f "$nf" || continue - cp -vf $nf{,.rpmnew} - mv -vf $f $nf + cp -vfb $nf{,.rpmnew} + cp -vfb $f $nf %{__sed} -i -e ' s#%{_libdir}/php#%{_libdir}/%{name}# s#/etc/php#%{_sysconfdir}# ' $nf done +%triggerpostun common -- %{name}-common < 4:5.6.4-2, php-common < 4:5.6.4-2 +# switch to browscap package if the ini file has original value +%{__sed} -i -e 's#%{_sysconfdir}/browscap.ini#/usr/share/browscap/php_browscap.ini#' %{_sysconfdir}/php.ini +# disable browscap, if optional package not present +if [ ! -e /usr/share/browscap/php_browscap.ini ]; then + %{__sed} -i -e 's#^browscap = /usr/share/browscap/php_browscap.ini#;&#' %{_sysconfdir}/php.ini +fi + # common macros called at extension post/postun scriptlet %define extension_scripts() \ %post %1 \ @@ -2980,7 +3025,6 @@ fi %dir %{_sysconfdir} %dir %{_sysconfdir}/conf.d %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php.ini -%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/browscap.ini %attr(755,root,root) %{_libdir}/libphp_common-*.so %dir %{php_extensiondir} @@ -2998,28 +3042,36 @@ fi %{_mandir}/man1/php-config.1* %{_mandir}/man1/phpize.1* +%if %{with bcmath} %files bcmath %defattr(644,root,root,755) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/bcmath.ini %attr(755,root,root) %{php_extensiondir}/bcmath.so +%endif +%if %{with bz2} %files bz2 %defattr(644,root,root,755) %doc ext/bz2/CREDITS %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/bz2.ini %attr(755,root,root) %{php_extensiondir}/bz2.so +%endif +%if %{with calendar} %files calendar %defattr(644,root,root,755) %doc ext/calendar/CREDITS %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/calendar.ini %attr(755,root,root) %{php_extensiondir}/calendar.so +%endif +%if %{with ctype} %files ctype %defattr(644,root,root,755) %doc ext/calendar/CREDITS %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/ctype.ini %attr(755,root,root) %{php_extensiondir}/ctype.so +%endif %if %{with curl} %files curl @@ -3029,18 +3081,22 @@ fi %attr(755,root,root) %{php_extensiondir}/curl.so %endif +%if %{with dba} %files dba %defattr(644,root,root,755) %doc ext/dba/{CREDITS,README} %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/dba.ini %attr(755,root,root) %{php_extensiondir}/dba.so +%endif +%if %{with dom} %files dom %defattr(644,root,root,755) %doc ext/dom/{CREDITS,TODO} %doc ext/dom/examples %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/dom.ini %attr(755,root,root) %{php_extensiondir}/dom.so +%endif %if %{with enchant} %files enchant @@ -3050,17 +3106,21 @@ fi %attr(755,root,root) %{php_extensiondir}/enchant.so %endif +%if %{with exif} %files exif %defattr(644,root,root,755) %doc ext/exif/CREDITS %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/exif.ini %attr(755,root,root) %{php_extensiondir}/exif.so +%endif +%if %{with fileinfo} %files fileinfo %defattr(644,root,root,755) %doc ext/fileinfo/CREDITS %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/fileinfo.ini %attr(755,root,root) %{php_extensiondir}/fileinfo.so +%endif %if %{with filter} %files filter @@ -3070,41 +3130,53 @@ fi %attr(755,root,root) %{php_extensiondir}/filter.so %endif +%if %{with ftp} %files ftp %defattr(644,root,root,755) %doc ext/ftp/CREDITS %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/ftp.ini %attr(755,root,root) %{php_extensiondir}/ftp.so +%endif +%if %{with gd} %files gd %defattr(644,root,root,755) %doc ext/gd/CREDITS %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/gd.ini %attr(755,root,root) %{php_extensiondir}/gd.so +%endif +%if %{with gettext} %files gettext %defattr(644,root,root,755) %doc ext/gettext/CREDITS %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/gettext.ini %attr(755,root,root) %{php_extensiondir}/gettext.so +%endif +%if %{with gmp} %files gmp %defattr(644,root,root,755) %doc ext/gmp/{CREDITS,README,TODO} %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/gmp.ini %attr(755,root,root) %{php_extensiondir}/gmp.so +%endif +%if %{with hash} %files hash %defattr(644,root,root,755) %doc ext/hash/{CREDITS,README} %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/hash.ini %attr(755,root,root) %{php_extensiondir}/hash.so +%endif +%if %{with iconv} %files iconv %defattr(644,root,root,755) %doc ext/iconv/CREDITS %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/iconv.ini %attr(755,root,root) %{php_extensiondir}/iconv.so +%endif %if %{with imap} %files imap @@ -3130,11 +3202,13 @@ fi %attr(755,root,root) %{php_extensiondir}/intl.so %endif +%if %{with json} %files json %defattr(644,root,root,755) %doc ext/json/CREDITS %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/json.ini %attr(755,root,root) %{php_extensiondir}/json.so +%endif %if %{with ldap} %files ldap @@ -3144,17 +3218,21 @@ fi %attr(755,root,root) %{php_extensiondir}/ldap.so %endif +%if %{with mbstring} %files mbstring %defattr(644,root,root,755) %doc ext/mbstring/{CREDITS,README*} %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mbstring.ini %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 mssql} %files mssql @@ -3164,11 +3242,13 @@ fi %attr(755,root,root) %{php_extensiondir}/mssql.so %endif +%if %{with mysql} %files mysql %defattr(644,root,root,755) %doc ext/mysql/CREDITS %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mysql.ini %attr(755,root,root) %{php_extensiondir}/mysql.so +%endif %if %{with mysqli} %files mysqli @@ -3218,11 +3298,13 @@ fi %attr(755,root,root) %{php_extensiondir}/openssl.so %endif +%if %{with pcntl} %files pcntl %defattr(644,root,root,755) %doc ext/pcntl/{CREDITS,README} %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/pcntl.ini %attr(755,root,root) %{php_extensiondir}/pcntl.so +%endif %if %{with pcre} %files pcre @@ -3232,13 +3314,15 @@ fi %attr(755,root,root) %{php_extensiondir}/pcre.so %endif +%if %{with pdo} %files pdo %defattr(644,root,root,755) %doc ext/pdo/{CREDITS,README,TODO} %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/pdo.ini %attr(755,root,root) %{php_extensiondir}/pdo.so +%endif -%if %{with mssql} || %{with sybase_ct} +%if %{with pdo_dblib} %files pdo-dblib %defattr(644,root,root,755) %doc ext/pdo_dblib/{CREDITS,README} @@ -3254,11 +3338,13 @@ fi %attr(755,root,root) %{php_extensiondir}/pdo_firebird.so %endif +%if %{with pdo_mysql} %files pdo-mysql %defattr(644,root,root,755) %doc ext/pdo_mysql/CREDITS %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/pdo_mysql.ini %attr(755,root,root) %{php_extensiondir}/pdo_mysql.so +%endif %if %{with oci} %files pdo-oci @@ -3312,11 +3398,13 @@ fi %{_mandir}/man1/phar.phar.1 %endif +%if %{with posix} %files posix %defattr(644,root,root,755) %doc ext/posix/CREDITS %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/posix.ini %attr(755,root,root) %{php_extensiondir}/posix.so +%endif %if %{with pspell} %files pspell @@ -3326,11 +3414,13 @@ fi %attr(755,root,root) %{php_extensiondir}/pspell.so %endif +%if %{with readline} %files readline %defattr(644,root,root,755) %doc ext/readline/{CREDITS,README*} %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cli.d/readline.ini %attr(755,root,root) %{php_extensiondir}/readline.so +%endif %if %{with recode} %files recode @@ -3340,12 +3430,14 @@ fi %attr(755,root,root) %{php_extensiondir}/recode.so %endif +%if %{with session} %files session %defattr(644,root,root,755) %doc ext/session/CREDITS %doc ext/session/mod_files.sh %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/Session.ini %attr(755,root,root) %{php_extensiondir}/session.so +%endif %files shmop %defattr(644,root,root,755)