%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 bzip2 # 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 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 sodium # without sodium extension module
%bcond_without system_gd # system gd
%bcond_without webp # Without WebP support in GD extension (imagecreatefromwebp)
-%define apxs1 /usr/sbin/apxs1
%define apxs2 /usr/sbin/apxs
# segfaults on x32
%undefine with_mm
%endif
-# milter requires ZTS
-%if %{with milter} && %{without zts}
-%undefine with_milter
-%endif
-
%if %{without odbc}
%undefine with_pdo_odbc
%endif
%undefine with_pdo_sqlite
%endif
-%define subver alpha3
-%define rel 1
%define orgname php
%define ver_suffix 74
%define php_suffix %{!?with_default_php:%{ver_suffix}}
Summary(ru.UTF-8): PHP Версии 7 - язык препроцессирования HTML-файлов, выполняемый на сервере
Summary(uk.UTF-8): PHP Версії 7 - мова препроцесування HTML-файлів, виконувана на сервері
Name: %{orgname}%{php_suffix}
-Version: 7.4.0
-Release: 1.%{subver}.%{rel}
+Version: 7.4.6
+Release: 2
Epoch: 4
# 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: https://php.net/distributions/%{orgname}-%{version}.tar.xz
-Source0: https://downloads.php.net/~derick/php-%{version}%{subver}.tar.xz
-# Source0-md5: 4981b9441688a53ea78a0e14c60bb8cc
+Source0: https://php.net/distributions/%{orgname}-%{version}.tar.xz
+# Source0-md5: 523b7d61e5fa8ea15375f6d1f7e2876a
Source1: opcache.ini
Source2: %{orgname}-mod_php.conf
Source3: %{orgname}-cgi-fcgi.ini
Source4: %{orgname}-apache.ini
Source5: %{orgname}-cli.ini
+Source6: timezone.ini
Source10: %{orgname}-fpm.init
Source11: %{orgname}-fpm.logrotate
Source12: %{orgname}-branch.sh
Patch3: %{orgname}-link-libs.patch
Patch4: intl-stdc++.patch
Patch7: %{orgname}-sapi-ini-file.patch
-Patch8: milter.patch
Patch9: libtool-tag.patch
Patch10: %{orgname}-ini.patch
Patch11: embed.patch
Patch31: %{orgname}-fcgi-error_log-no-newlines.patch
Patch39: %{orgname}-use-prog_sendmail.patch
Patch41: %{orgname}-fpm-config.patch
-Patch42: %{orgname}-fpm-shared.patch
Patch43: %{orgname}-silent-session-cleanup.patch
Patch44: %{orgname}-include_path.patch
Patch50: extension-shared-optional-dep.patch
Patch67: mysql-lib-ver-mismatch.patch
# https://bugs.php.net/bug.php?id=68344
Patch68: php-mysql-ssl-context.patch
-Patch70: mysqlnd-ssl.patch
Patch71: libdb-info.patch
URL: http://php.net/
%{?with_pdo_firebird:%{!?with_interbase_inst:BuildRequires: Firebird-devel >= 1.0.2.908-2}}
BuildRequires: db-devel >= 4.0
BuildRequires: elfutils-devel
%{?with_enchant:BuildRequires: enchant-devel >= 1.1.3}
-%{?with_kerberos5:BuildRequires: heimdal-devel}
-%{?with_argon2:BuildRequires: libargon2-devel >= 20161029}
-%{?with_ffi:BuildRequires: libffi-devel}
-%{?with_sodium:BuildRequires: libsodium-devel >= 1.0.8}
%if %{with pdo_dblib}
BuildRequires: freetds-devel >= 0.82
%endif
%endif
BuildRequires: gdbm-devel
BuildRequires: gmp-devel >= 4.2
+%{?with_kerberos5:BuildRequires: heimdal-devel}
%{?with_imap:BuildRequires: imap-devel >= 1:2007e-2}
%{?with_gcov:BuildRequires: lcov}
%{?with_fpm:BuildRequires: libapparmor-devel}
+%{?with_argon2:BuildRequires: libargon2-devel >= 20161029}
+%{?with_ffi:BuildRequires: libffi-devel}
%{?with_intl:BuildRequires: libicu-devel >= 50.1}
BuildRequires: libjpeg-devel
BuildRequires: libltdl-devel >= 1.4
BuildRequires: libpng-devel >= 1.0.8
+%{?with_sodium:BuildRequires: libsodium-devel >= 1.0.8}
%{?with_intl:BuildRequires: libstdc++-devel}
BuildRequires: libtool >= 2:2.4.6
%{?with_webp:BuildRequires: libwebp-devel}
BuildRequires: pkgconfig
%{?with_pgsql:BuildRequires: postgresql-devel}
BuildRequires: readline-devel
-%{?with_recode:BuildRequires: recode-devel >= 3.5d-3}
BuildRequires: rpm >= 4.4.9-56
BuildRequires: rpm-build >= 4.4.0
BuildRequires: rpmbuild(macros) >= 1.566
BuildRequires: sed >= 4.0
%if %{with sqlite3} || %{with pdo_sqlite}
-BuildRequires: sqlite3-devel >= 3.3.9
+BuildRequires: sqlite3-devel >= 3.7.4
%endif
%{?with_systemtap:BuildRequires: systemtap-sdt-devel}
BuildRequires: tar >= 1:1.22
%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 20190529
+%define php_api_version 20190902
%define zend_module_api %{php_api_version}
%define zend_extension_api 3%{zend_module_api}
%define php_pdo_api_version 20170320
%define fileinfover %{version}
%define hashver %{version}
%define intlver %{version}
-%define jsonver 1.7.0
+%define jsonver %{version}
%define pharver %{version}
%define sqlite3ver %{version}
-%define zipver 1.15.4
+%define zipver 1.15.6
%define phpdbgver %{version}
%define sodiumver %{version}
Moduł PHP dodający obsługę znaczników EXIF w plikach obrazków.
%package ffi
-Summary: %{modname} - Foreign Function Interface
+Summary: Foreign Function Interface module for PHP
+Summary(pl.UTF-8): Moduł Foreign Function Interface (interfejsu do obcych języków) dla PHP
Group: Libraries
URL: https://www.php.net/manual/en/book.ffi.php
Requires: %{name}-common = %{epoch}:%{version}-%{release}
FFI is a multi-platform extension for PHP that allows you to bind to
functions from arbitrary shared libraries and call them.
+%description ffi -l pl.UTF-8
+FFI to wieloplatformowe rozszerzenie dla PHP pozwalające dowiązywać
+funkcje z dowolnych bibliotek współdzielonych i wywoływać je.
+
%package fileinfo
Summary: libmagic bindings
Summary(pl.UTF-8): Wiązania do libmagic
%description readline -l pl.UTF-8
Moduł PHP dodający obsługę funkcji readline (tylko do SAPI cli i cgi).
-%package recode
-Summary: recode extension module for PHP
-Summary(pl.UTF-8): Moduł recode dla PHP
-Group: Libraries
-URL: http://php.net/manual/en/book.recode.php
-Requires: %{name}-common = %{epoch}:%{version}-%{release}
-Requires: recode >= 3.5d-3
-Provides: php(recode)
-Obsoletes: php-recode < 4:5.3.28-7
-
-%description recode
-This is a dynamic shared object (DSO) for PHP that will add recode
-support.
-
-%description recode -l pl.UTF-8
-Moduł PHP dodający możliwość konwersji kodowania plików (poprzez
-bibliotekę recode).
-
%package session
Summary: session extension module for PHP
Summary(pl.UTF-8): Moduł session dla PHP
%package sodium
Summary: Wrapper for the Sodium cryptographic library
+Summary(pl.UTF-8): Interfejs do biblioteki kryptograficznej Sodium
Group: Libraries
URL: https://paragonie.com/book/pecl-libsodium
Requires: %{name}-common = %{epoch}:%{version}-%{release}
%description sodium
A simple, low-level PHP extension for libsodium.
+%description sodium -l pl.UTF-8
+Proste, niskopoziomowe rozszerzenie PHP wykorzystując libsodium.
+
%package sqlite3
Summary: SQLite3 extension module for PHP
Summary(pl.UTF-8): Moduł SQLite3 dla PHP
Moduł PHP umożliwiający używanie kompresji zlib.
%prep
-%setup -q -n %{orgname}-%{version}%{?subver}
+%setup -q -n %{orgname}-%{version}
cp -p php.ini-production php.ini
%patch0 -p1
%patch1 -p1
%patch4 -p1
%patch7 -p1
-%{?with_milter:%patch8 -p1}
%patch9 -p1
%patch10 -p1
%patch14 -p1
%patch31 -p1
%patch39 -p1
%patch41 -p1
-%patch42 -p1
%patch43 -p1
%patch44 -p1
%patch50 -p1
%patch66 -p1
%patch67 -p1
#%patch68 -p1 DROP or update to 7.0 APIs
-%patch70 -p1
%patch71 -p1
+sed -E -i -e '1s,#!\s*/usr/bin/env\s+(.*),#!%{__bindir}\1,' \
+ ext/ext_skel.php \
+ run-tests.php
+
%{__sed} -i -e '/PHP_ADD_LIBRARY_WITH_PATH/s#xmlrpc,#xmlrpc-epi,#' ext/xmlrpc/config.m4
# cleanup backups after patching
# com_dotnet is Win32-only
%{__rm} -r ext/com_dotnet
-# conflict seems to be resolved by recode patches
-%{__rm} ext/recode/config9.m4
-
# remove all bundled libraries not to link with them accidentally
#%{__rm} -r ext/bcmath/libbcmath
#%{__rm} -r ext/date/lib
: Update the zipver macro and rebuild.
exit 1
fi
-ver=$(sed -n '/#define PHP_JSON_VERSION /{s/.* "//;s/".*$//;p}' ext/json/php_json.h)
-if test "$ver" != "%{jsonver}"; then
+ver=$(get_version PHP_JSON_VERSION ext/json/php_json.h)
+if test "$ver" != "PHP_VERSION"; then
: Error: Upstream JSON version is now ${ver}, expecting %{jsonver}.
: Update the jsonver macro and rebuild.
exit 1
# configure once (for faster debugging purposes)
if [ ! -f _built-conf ]; then
# now remove Makefile copies
- rm -f Makefile.{cgi-fcgi,fpm,cli,apxs1,apxs2,litespeed,phpdbg,milter}
+ rm -f Makefile.{cgi-fcgi,fpm,cli,apxs2,litespeed,phpdbg}
# Force use of system libtool:
mv build/libtool.m4 build/libtool.m4.saved
%if %{with phpdbg}
phpdbg
%endif
-%if %{with milter}
-milter
-%endif
"
for sapi in $sapis; do
: SAPI $sapi
phpdbg)
sapi_args='--enable-phpdbg %{?debug:--enable-phpdbg-debug}'
;;
- milter)
- sapi_args='--with-milter'
- ;;
esac
%configure \
--%{!?with_debug:dis}%{?with_debug:en}able-debug \
%{?with_zts:--enable-maintainer-zts} \
--enable-inline-optimization \
+ --enable-option-checking=fatal \
%{__enable_disable bcmath bcmath shared} \
%{__enable_disable calendar calendar shared} \
%{__enable_disable ctype ctype shared} \
--enable-tokenizer=shared \
--enable-xml=shared \
--enable-xmlreader=shared \
- %{__with_without bz2 bz2 shared} \
+ %{__with_without bzip2 bz2 shared} \
%{__with_without curl curl shared} \
--with-db4 \
%{__with_without iconv iconv shared} \
%{__enable_disable phar phar shared} \
%{?with_pspell:--with-pspell=shared} \
%{__with_without readline readline shared} \
- %{?with_recode:--with-recode=shared} \
%{?with_snmp:--with-snmp=shared} \
%{!?with_pdo_sqlite:--without-pdo-sqlite} \
%{__with_without sqlite3 sqlite3 shared} \
PHPDBG_EXTRA_LIBS=-lreadline
%endif
-%if %{with milter}
-%{__make} -f Makefile.milter milter
-%endif
-
# CGI/FCGI
%if %{with cgi}
cp -pf php_config.h.cgi-fcgi main/php_config.h
./sapi/cli/php -n -dextension_dir=modules -dextension=xml.so -r '$p = xml_parser_create(); xml_parse_into_struct($p, "<x><</x>", $vals, $index); exit((int )empty($vals[0]["value"]));'
# Generate stub .ini files for each extension
-rm -rf conf.d
-install -d conf.d
-generate_inifiles() {
- for so in modules/*.so; do
- mod=$(basename $so .so)
- ext=extension
- # opcache.so is zend extension
- nm $so | grep -q zend_extension_entry && ext=zend_extension
- conf="$mod.ini"
- # session needs to be loaded before php-pecl-http, php-pecl-memcache, php-pecl-session_mysql
- [ "$mod" = "session" ] && conf="Session.ini"
- # mysqlnd needs to be loaded before mysqli,pdo_mysqli
- [ "$mod" = "mysqlnd" ] && conf="MySQLND.ini"
- echo "+ $conf"
- cat > conf.d/$conf <<-EOF
- ; Enable $mod $ext module
- $ext=$mod.so
- EOF
- done
-}
-generate_inifiles
-cp -p %{_sourcedir}/opcache.ini conf.d
+GENERATE_INI=1 PHP=./sapi/cli/php EXTENSION_DIR=modules CONFIG_DIR=conf.d ./dep-tests.sh
# 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
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_libdir}/{php,apache{,1}},%{_sysconfdir}/{apache,cgi}} \
+install -d \
+ $RPM_BUILD_ROOT%{_libdir}/{php,apache} \
+ $RPM_BUILD_ROOT%{_sysconfdir}/{conf,cgi-fcgi,cli,apache2handler}.d \
$RPM_BUILD_ROOT{%{_sbindir},%{_bindir}} \
- $RPM_BUILD_ROOT/etc/{apache/conf.d,httpd/conf.d} \
+ $RPM_BUILD_ROOT/etc/httpd/conf.d \
$RPM_BUILD_ROOT%{_mandir}/man{1,8} \
cp -pf php_config.h.cli main/php_config.h
%endif
%endif
-%if %{with milter}
-%{__make} -f Makefile.milter install-milter \
- INSTALL_ROOT=$RPM_BUILD_ROOT
-%endif
-
libtool --mode=install install -p libphp_common.la $RPM_BUILD_ROOT%{_libdir}
# install CGI/FCGI
# install-cgi
libtool --mode=install install -p sapi/cgi/php-cgi $RPM_BUILD_ROOT%{_bindir}/%{name}.cgi
ln -sf %{name}.cgi $RPM_BUILD_ROOT%{_bindir}/%{name}.fcgi
-cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/php-cgi-fcgi.ini
+cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/cgi-fcgi.d/php.ini
%endif
# install FCGI PM
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 %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/timezone.ini
+cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/cli.d/php.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
+cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/apache2handler.d/php.ini
%{__rm} -f $RPM_BUILD_ROOT%{_libdir}/apache/libphp7.la
%endif
install -d $RPM_BUILD_ROOT%{_sysconfdir}/conf.d
cp -p conf.d/*.ini $RPM_BUILD_ROOT%{_sysconfdir}/conf.d
-
-# per SAPI ini directories
-install -d $RPM_BUILD_ROOT%{_sysconfdir}/{cgi-fcgi,cli,apache,apache2handler}.d
+cp -p %{_sourcedir}/opcache.ini $RPM_BUILD_ROOT%{_sysconfdir}/conf.d
# for CLI SAPI only
-%{__mv} $RPM_BUILD_ROOT%{_sysconfdir}/{conf.d/readline.ini,cli.d}
+%{__mv} $RPM_BUILD_ROOT%{_sysconfdir}/{conf.d/??_readline.ini,cli.d}
sed -i -e '/^phpdir/ s,/php/build,/%{name}/build,' $RPM_BUILD_ROOT%{_bindir}/phpize
TIMEZONE=
. /etc/sysconfig/timezone
if [ "$TIMEZONE" ]; then
- %{__sed} -i -e "s,^;date.timezone[[:space:]]*=.*,date.timezone = $TIMEZONE," %{_sysconfdir}/php.ini
+ %{__sed} -i -e "s,^;date.timezone[[:space:]]*=.*,date.timezone = $TIMEZONE," %{_sysconfdir}/conf.d/timezone.ini
fi
fi
# common package are very important for all this to work.
# restart webserver at the end of transaction
-[ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart
[ ! -f /etc/httpd/conf.d/??_mod_php.conf ] || %service -q httpd restart
%triggerpostun common -- php-common < 4:5.3.28-7
%extension_scripts pgsql
%extension_scripts posix
%extension_scripts pspell
-%extension_scripts recode
%extension_scripts session
%extension_scripts shmop
%extension_scripts simplexml
%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
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache2handler.d/php.ini
%attr(755,root,root) %{_libdir}/apache/libphp7-*.*.so
%endif
%files cgi
%defattr(644,root,root,755)
%dir %{_sysconfdir}/cgi-fcgi.d
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php-cgi-fcgi.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cgi-fcgi.d/php.ini
%attr(755,root,root) %{_bindir}/%{name}.cgi
%attr(755,root,root) %{_bindir}/%{name}.fcgi
%endif
%files cli
%defattr(644,root,root,755)
%dir %{_sysconfdir}/cli.d
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php-cli.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cli.d/php.ini
%attr(755,root,root) %{_bindir}/php%{ver_suffix}
%{_mandir}/man1/php%{ver_suffix}.1*
%{_mandir}/man1/phpdbg%{php_suffix}.1*
%endif
-%if %{with milter}
-%files milter
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/php-milter
-%endif
-
%files common
%defattr(644,root,root,755)
%doc EXTENSIONS LICENSE NEWS UPGRADING* Zend/{LICENSE.Zend,README*} php.ini-* .gdbinit
%dir %{_sysconfdir}
%dir %{_sysconfdir}/conf.d
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/timezone.ini
%attr(755,root,root) %{_libdir}/libphp_common-*.so
%dir %{php_extensiondir}
%if %{with bcmath}
%files bcmath
%defattr(644,root,root,755)
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/bcmath.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_bcmath.ini
%attr(755,root,root) %{php_extensiondir}/bcmath.so
%endif
-%if %{with bz2}
+%if %{with bzip2}
%files bz2
%defattr(644,root,root,755)
%doc ext/bz2/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/bz2.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_bz2.ini
%attr(755,root,root) %{php_extensiondir}/bz2.so
%endif
%files calendar
%defattr(644,root,root,755)
%doc ext/calendar/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/calendar.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_calendar.ini
%attr(755,root,root) %{php_extensiondir}/calendar.so
%endif
%files ctype
%defattr(644,root,root,755)
%doc ext/calendar/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/ctype.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_ctype.ini
%attr(755,root,root) %{php_extensiondir}/ctype.so
%endif
%files curl
%defattr(644,root,root,755)
%doc ext/curl/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/curl.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_curl.ini
%attr(755,root,root) %{php_extensiondir}/curl.so
%endif
%files dba
%defattr(644,root,root,755)
%doc ext/dba/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/dba.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_dba.ini
%attr(755,root,root) %{php_extensiondir}/dba.so
%endif
%files dom
%defattr(644,root,root,755)
%doc ext/dom/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/dom.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_dom.ini
%attr(755,root,root) %{php_extensiondir}/dom.so
%endif
%files enchant
%defattr(644,root,root,755)
%doc ext/enchant/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/enchant.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_enchant.ini
%attr(755,root,root) %{php_extensiondir}/enchant.so
%endif
%files exif
%defattr(644,root,root,755)
%doc ext/exif/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/exif.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_exif.ini
%attr(755,root,root) %{php_extensiondir}/exif.so
%endif
%files ffi
%defattr(644,root,root,755)
%doc ext/ffi/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/ffi.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_ffi.ini
%attr(755,root,root) %{php_extensiondir}/ffi.so
%endif
%files fileinfo
%defattr(644,root,root,755)
%doc ext/fileinfo/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/fileinfo.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_fileinfo.ini
%attr(755,root,root) %{php_extensiondir}/fileinfo.so
%endif
%files filter
%defattr(644,root,root,755)
%doc ext/filter/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/filter.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_filter.ini
%attr(755,root,root) %{php_extensiondir}/filter.so
%endif
%files ftp
%defattr(644,root,root,755)
%doc ext/ftp/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/ftp.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_ftp.ini
%attr(755,root,root) %{php_extensiondir}/ftp.so
%endif
%files gd
%defattr(644,root,root,755)
%doc ext/gd/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/gd.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_gd.ini
%attr(755,root,root) %{php_extensiondir}/gd.so
%endif
%files gettext
%defattr(644,root,root,755)
%doc ext/gettext/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/gettext.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_gettext.ini
%attr(755,root,root) %{php_extensiondir}/gettext.so
%endif
%files gmp
%defattr(644,root,root,755)
%doc ext/gmp/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/gmp.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_gmp.ini
%attr(755,root,root) %{php_extensiondir}/gmp.so
%endif
%files iconv
%defattr(644,root,root,755)
%doc ext/iconv/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/iconv.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_iconv.ini
%attr(755,root,root) %{php_extensiondir}/iconv.so
%endif
%files imap
%defattr(644,root,root,755)
%doc ext/imap/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/imap.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_imap.ini
%attr(755,root,root) %{php_extensiondir}/imap.so
%endif
%files intl
%defattr(644,root,root,755)
%doc ext/intl/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/intl.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_intl.ini
%attr(755,root,root) %{php_extensiondir}/intl.so
%endif
%files json
%defattr(644,root,root,755)
%doc ext/json/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/json.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_json.ini
%attr(755,root,root) %{php_extensiondir}/json.so
%endif
%files ldap
%defattr(644,root,root,755)
%doc ext/ldap/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/ldap.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_ldap.ini
%attr(755,root,root) %{php_extensiondir}/ldap.so
%endif
%files mbstring
%defattr(644,root,root,755)
%doc ext/mbstring/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mbstring.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_mbstring.ini
%attr(755,root,root) %{php_extensiondir}/mbstring.so
%endif
%files mysqli
%defattr(644,root,root,755)
%doc ext/mysqli/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mysqli.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_mysqli.ini
%attr(755,root,root) %{php_extensiondir}/mysqli.so
%endif
%files mysqlnd
%defattr(644,root,root,755)
%doc ext/mysqlnd/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/MySQLND.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_mysqlnd.ini
%attr(755,root,root) %{php_extensiondir}/mysqlnd.so
%endif
%files oci8
%defattr(644,root,root,755)
%doc ext/oci8/{CREDITS,README}
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/oci8.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_oci8.ini
%attr(755,root,root) %{php_extensiondir}/oci8.so
%endif
%files odbc
%defattr(644,root,root,755)
%doc ext/odbc/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/odbc.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_odbc.ini
%attr(755,root,root) %{php_extensiondir}/odbc.so
%endif
%if %{with opcache}
%files opcache
%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_opcache.ini
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/opcache.ini
%attr(755,root,root) %{php_extensiondir}/opcache.so
%endif
%files openssl
%defattr(644,root,root,755)
%doc ext/openssl/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/openssl.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_openssl.ini
%attr(755,root,root) %{php_extensiondir}/openssl.so
%endif
%files pcntl
%defattr(644,root,root,755)
%doc ext/pcntl/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/pcntl.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_pcntl.ini
%attr(755,root,root) %{php_extensiondir}/pcntl.so
%endif
%files pdo
%defattr(644,root,root,755)
%doc ext/pdo/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/pdo.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_pdo.ini
%attr(755,root,root) %{php_extensiondir}/pdo.so
%endif
%files pdo-dblib
%defattr(644,root,root,755)
%doc ext/pdo_dblib/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/pdo_dblib.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_pdo_dblib.ini
%attr(755,root,root) %{php_extensiondir}/pdo_dblib.so
%endif
%files pdo-firebird
%defattr(644,root,root,755)
%doc ext/pdo_firebird/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/pdo_firebird.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_pdo_firebird.ini
%attr(755,root,root) %{php_extensiondir}/pdo_firebird.so
%endif
%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
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_pdo_mysql.ini
%attr(755,root,root) %{php_extensiondir}/pdo_mysql.so
%endif
%files pdo-oci
%defattr(644,root,root,755)
%doc ext/pdo_oci/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/pdo_oci.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_pdo_oci.ini
%attr(755,root,root) %{php_extensiondir}/pdo_oci.so
%endif
%files pdo-odbc
%defattr(644,root,root,755)
%doc ext/pdo_odbc/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/pdo_odbc.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_pdo_odbc.ini
%attr(755,root,root) %{php_extensiondir}/pdo_odbc.so
%endif
%files pdo-pgsql
%defattr(644,root,root,755)
%doc ext/pdo_pgsql/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/pdo_pgsql.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_pdo_pgsql.ini
%attr(755,root,root) %{php_extensiondir}/pdo_pgsql.so
%endif
%files pdo-sqlite
%defattr(644,root,root,755)
%doc ext/pdo_sqlite/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/pdo_sqlite.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_pdo_sqlite.ini
%attr(755,root,root) %{php_extensiondir}/pdo_sqlite.so
%endif
%files pgsql
%defattr(644,root,root,755)
%doc ext/pgsql/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/pgsql.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_pgsql.ini
%attr(755,root,root) %{php_extensiondir}/pgsql.so
%endif
%files phar
%defattr(644,root,root,755)
%doc ext/phar/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/phar.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_phar.ini
%attr(755,root,root) %{php_extensiondir}/phar.so
%attr(755,root,root) %{_bindir}/phar%{php_suffix}.phar
%{_mandir}/man1/phar%{php_suffix}.1*
%files posix
%defattr(644,root,root,755)
%doc ext/posix/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/posix.ini
+%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
%defattr(644,root,root,755)
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/pspell.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_pspell.ini
%attr(755,root,root) %{php_extensiondir}/pspell.so
%endif
%files readline
%defattr(644,root,root,755)
%doc ext/readline/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cli.d/readline.ini
+%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
-%defattr(644,root,root,755)
-%doc ext/recode/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/recode.ini
-%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
+%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)
%doc ext/shmop/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/shmop.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_shmop.ini
%attr(755,root,root) %{php_extensiondir}/shmop.so
%files simplexml
%defattr(644,root,root,755)
%doc ext/simplexml/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/simplexml.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_simplexml.ini
%attr(755,root,root) %{php_extensiondir}/simplexml.so
%if %{with snmp}
%files snmp
%defattr(644,root,root,755)
%doc ext/snmp/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/snmp.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_snmp.ini
%attr(755,root,root) %{php_extensiondir}/snmp.so
%endif
%files soap
%defattr(644,root,root,755)
%doc ext/soap/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/soap.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_soap.ini
%attr(755,root,root) %{php_extensiondir}/soap.so
%files sockets
%defattr(644,root,root,755)
%doc ext/sockets/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/sockets.ini
+%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
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_sodium.ini
%attr(755,root,root) %{php_extensiondir}/sodium.so
%endif
%files sqlite3
%defattr(644,root,root,755)
%doc ext/sqlite3/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/sqlite3.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_sqlite3.ini
%attr(755,root,root) %{php_extensiondir}/sqlite3.so
%endif
%files sysvmsg
%defattr(644,root,root,755)
%doc ext/sysvmsg/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/sysvmsg.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_sysvmsg.ini
%attr(755,root,root) %{php_extensiondir}/sysvmsg.so
%files sysvsem
%defattr(644,root,root,755)
%doc ext/sysvsem/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/sysvsem.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_sysvsem.ini
%attr(755,root,root) %{php_extensiondir}/sysvsem.so
%files sysvshm
%defattr(644,root,root,755)
%doc ext/sysvshm/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/sysvshm.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_sysvshm.ini
%attr(755,root,root) %{php_extensiondir}/sysvshm.so
%files tests
%files tidy
%defattr(644,root,root,755)
%doc ext/tidy/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/tidy.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_tidy.ini
%attr(755,root,root) %{php_extensiondir}/tidy.so
%endif
%files tokenizer
%defattr(644,root,root,755)
%doc ext/tokenizer/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/tokenizer.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_tokenizer.ini
%attr(755,root,root) %{php_extensiondir}/tokenizer.so
%files xml
%defattr(644,root,root,755)
%doc ext/xml/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/xml.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_xml.ini
%attr(755,root,root) %{php_extensiondir}/xml.so
%files xmlreader
%defattr(644,root,root,755)
%doc ext/xmlreader/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/xmlreader.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_xmlreader.ini
%attr(755,root,root) %{php_extensiondir}/xmlreader.so
%if %{with xmlrpc}
%files xmlrpc
%defattr(644,root,root,755)
%doc ext/xmlrpc/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/xmlrpc.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_xmlrpc.ini
%attr(755,root,root) %{php_extensiondir}/xmlrpc.so
%endif
%files xmlwriter
%defattr(644,root,root,755)
%doc ext/xmlwriter/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/xmlwriter.ini
+%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
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_xsl.ini
%attr(755,root,root) %{php_extensiondir}/xsl.so
%endif
%defattr(644,root,root,755)
%doc ext/zip/CREDITS
%doc ext/zip/examples
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/zip.ini
+%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)
%doc ext/zlib/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/zlib.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_zlib.ini
%attr(755,root,root) %{php_extensiondir}/zlib.so