# NOTES
# - mysqlnd driver doesn't support reconnect: https://bugs.php.net/bug.php?id=52561
-# TODO 8.0:
-# - removed packages: xmlrpc
# TODO 5.6:
# - enable --with-fpm-systemd, but ensure it checks for sd_booted()
# TODO:
%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 embed # disable building Embedded API
%bcond_with gcov # Enable Code coverage reporting
%bcond_without kerberos5 # without Kerberos5 support
%bcond_with systemtap # systemtap/DTrace support
%bcond_with interbase_inst # use InterBase install., not Firebird (BR: proprietary libs)
%bcond_with mm # without mm support for session storage
%bcond_without system_gd # system gd
+%bcond_without avif # Without AVIF support in GD extension (imagecreatefromavif and imageavif)
%bcond_without webp # Without WebP support in GD extension (imagecreatefromwebp)
%define apxs2 /usr/sbin/apxs
%endif
%define orgname php
-%define ver_suffix 80
+%define ver_suffix 81
%define php_suffix %{!?with_default_php:%{ver_suffix}}
Summary: PHP: Hypertext Preprocessor
Summary(fr.UTF-8): Le langage de script embarque-HTML PHP
Summary(pl.UTF-8): Język skryptowy PHP
Summary(pt_BR.UTF-8): A linguagem de script PHP
-Summary(ru.UTF-8): PHP Версии 7 - язык препроцессирования HTML-файлов, выполняемый на сервере
-Summary(uk.UTF-8): PHP Версії 7 - мова препроцесування HTML-файлів, виконувана на сервері
+Summary(ru.UTF-8): PHP - язык препроцессирования HTML-файлов, выполняемый на сервере
+Summary(uk.UTF-8): PHP - мова препроцесування HTML-файлів, виконувана на сервері
Name: %{orgname}%{php_suffix}
-Version: 8.0.0
-Release: 0.rc1.0
+Version: 8.1.3
+Release: 1
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/~carusogabriel/php-%{version}rc1.tar.xz
-# Source0-md5: 95923f24e336801d704d4177fcb3e0ce
+Source0: https://php.net/distributions/%{orgname}-%{version}.tar.xz
+# Source0-md5: 495972570d055fef1255e296051a13a5
Source1: opcache.ini
Source2: %{orgname}-mod_php.conf
Source3: %{orgname}-cgi-fcgi.ini
Patch3: %{orgname}-link-libs.patch
Patch4: intl-stdc++.patch
Patch7: %{orgname}-sapi-ini-file.patch
-Patch9: libtool-tag.patch
Patch10: %{orgname}-ini.patch
Patch11: embed.patch
Patch14: %{orgname}-no_pear_install.patch
-Patch17: %{orgname}-readline.patch
Patch18: %{orgname}-nohttpd.patch
Patch21: %{orgname}-dba-link.patch
Patch22: %{orgname}-both-apxs.patch
%{?with_gcov:BuildRequires: lcov}
%{?with_fpm:BuildRequires: libapparmor-devel}
%{?with_argon2:BuildRequires: libargon2-devel >= 20161029}
+%{?with_avif:BuildRequires: libavif-devel >= 0.8.2}
%{?with_ffi:BuildRequires: libffi-devel}
%{?with_intl:BuildRequires: libicu-devel >= 50.1}
BuildRequires: libjpeg-devel
%{?with_sodium:BuildRequires: libsodium-devel >= 1.0.8}
%{?with_intl:BuildRequires: libstdc++-devel}
BuildRequires: libtool >= 2:2.4.6
-%{?with_webp:BuildRequires: libwebp-devel}
+%{?with_webp:BuildRequires: libwebp-devel >= 0.2.0}
BuildRequires: libxml2-devel >= 1:2.7.6-4
%{?with_xsl:BuildRequires: libxslt-devel >= 1.1.0}
%{?with_zip:BuildRequires: libzip-devel >= 1.3.1}
BuildRequires: oniguruma-devel
%{?with_ldap:BuildRequires: openldap-devel >= 2.3.0}
%if %{with openssl} || %{with ldap}
-BuildRequires: openssl-devel >= 1.0.1
+BuildRequires: openssl-devel >= 1.0.2
%endif
%{?with_oci:%{?with_instantclient:BuildRequires: oracle-instantclient-devel}}
BuildRequires: pam-devel
BuildRequires: rpmbuild(macros) >= 1.566
BuildRequires: sed >= 4.0
%if %{with sqlite3} || %{with pdo_sqlite}
-BuildRequires: sqlite3-devel >= 3.7.4
+BuildRequires: sqlite3-devel >= 3.7.7
%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 20200930
+%define php_api_version 20210902
%define zend_module_api %{php_api_version}
%define zend_extension_api 4%{zend_module_api}
%define php_pdo_api_version 20170320
%define jsonver %{version}
%define pharver %{version}
%define sqlite3ver %{version}
-%define zipver 1.19.1
+%define zipver 1.19.5
%define phpdbgver %{version}
%define sodiumver %{version}
Summary(pl.UTF-8): Dowiązanie symboliczne /usr/bin/php
Group: Development/Languages/PHP
Requires: %{name}-cli = %{epoch}:%{version}-%{release}
-Obsoletes: /usr/bin/php
Obsoletes: php-program < 4:5.3.28-7
+Obsoletes: php4-program
+Obsoletes: php52-program
+Obsoletes: php53-program
+Obsoletes: php54-program
+Obsoletes: php55-program
+Obsoletes: php56-program
+Obsoletes: php70-program
+Obsoletes: php71-program
+Obsoletes: php72-program
+Obsoletes: php73-program
+Obsoletes: php74-program
+Obsoletes: php80-program
%description program
Package providing /usr/bin/php symlink to PHP CLI.
Obsoletes: php70-devel
Obsoletes: php71-devel
Obsoletes: php73-devel
+Obsoletes: php74-devel
+Obsoletes: php80-devel
%description devel
The php-devel package lets you compile dynamic extensions to PHP.
Group: Libraries
URL: http://qa.php.net/
Requires: %{name}-cli
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description tests
This package contains unit tests for PHP and its extensions.
Moduł PHP umożliwiający używanie kompresji zlib.
%prep
-%if 0
-%setup -q -n %{orgname}-%{version}
-%else
-%setup -q -n %{orgname}-%{version}rc1
-%endif
+%setup -q -n %{orgname}-%{version}%{?subver}
cp -p php.ini-production php.ini
%patch0 -p1
%patch3 -p1
%patch4 -p1
-#%patch7 -p1 -b .sapi-ini-file
-%patch9 -p1
+%patch7 -p1 -b .sapi-ini-file
%patch10 -p1 -b .ini
%patch14 -p1
-#%patch17 -p1 -b readline
%patch18 -p1
%patch21 -p1
%patch22 -p1
%patch23 -p1
-#%patch24 -p1 -b .zlib-for-getimagesize
+%patch24 -p1 -b .zlib-for-getimagesize
%patch25 -p1
%patch27 -p1
%patch29 -p1
%patch31 -p1
-#%patch39 -p1 -b .use-prog_sendmail
+%patch39 -p1 -b .use-prog_sendmail
%patch41 -p1
%patch43 -p1
%patch44 -p1
%patch50 -p1
-
%patch53 -p1
-%undos ext/spl/tests/SplFileInfo_getInode_basic.phpt
-
%patch59 -p1 -b .systzdata
%if %{with instantclient}
%patch60 -p1 -b .instantclient
%patch66 -p1
%patch67 -p1 -b .mysql-lib-ver-mismatch
#%patch68 -p1 DROP or update to 7.0 APIs
-#%patch71 -p1 -b .libdb-info
+%patch71 -p1 -b .libdb-info
sed -E -i -e '1s,#!\s*/usr/bin/env\s+(.*),#!%{__bindir}\1,' \
ext/ext_skel.php \
%{__enable_disable pcntl pcntl shared} \
%{__enable_disable pdo pdo shared} \
--enable-xmlwriter=shared \
+ %{?with_avif:--with-avif} \
%if %{with fpm}
--with-fpm-user=http \
--with-fpm-group=http \
MYSQLND_SHARED_LIBADD="-lssl -lcrypto"
%if %{with apache2}
-%{__make} libtool-sapi LIBTOOL_SAPI=sapi/apache2handler/libphp7.la -f Makefile.apxs2
+%{__make} libtool-sapi LIBTOOL_SAPI=sapi/apache2handler/libphp8.la -f Makefile.apxs2
%endif
%if %{with litespeed}
%endif
%if %{with embed}
-%{__make} -f Makefile.embed libphp7.la
+%{__make} -f Makefile.embed libphp8.la
%endif
%if %{with phpdbg}
# install Apache2 DSO module
%if %{with apache2}
-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
+libtool --mode=install install -p sapi/apache2handler/libphp8.la $RPM_BUILD_ROOT%{_libdir}/apache
+%{__mv} $RPM_BUILD_ROOT%{_libdir}/apache/libphp8{,-$v}.so
+ln -s libphp8-$v.so $RPM_BUILD_ROOT%{_libdir}/apache/mod_php.so
%endif
# install litespeed sapi
# 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 -p libs/libphp7.so $RPM_BUILD_ROOT%{_libdir}
+install -p libs/libphp8.so $RPM_BUILD_ROOT%{_libdir}
cp -p sapi/embed/php_embed.h $RPM_BUILD_ROOT%{_includedir}/php/sapi/embed
%endif
%if %{with apache2}
cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/httpd/conf.d/70_mod_php.conf
cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/apache2handler.d/php.ini
-%{__rm} -f $RPM_BUILD_ROOT%{_libdir}/apache/libphp7.la
+%{__rm} -f $RPM_BUILD_ROOT%{_libdir}/apache/libphp8.la
%endif
# ensure that paths are correct for current php version and arch
# restart webserver at the end of transaction
[ ! -f /etc/httpd/conf.d/??_mod_php.conf ] || %service -q httpd restart
-%triggerpostun common -- php-common < 4:5.3.28-7
+%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
+
# migrate configs /etc/php/conf.d -> /etc/phpXY/conf.d/
# do config migration in php-common trigger, as the trigger is ran after all packages are upgraded
# this way we can stick to one trigger, instead of attaching one for each (sub)package!
' $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
-
%triggerpostun -n apache-mod_%{name} -- apache-mod_%{name} < 4:7.0.0-2.RC4
sed -i -e 's#modules/libphp[57].so#modules/mod_php.so#g' /etc/httpd/conf.d/*_mod_php.conf
%defattr(644,root,root,755)
%dir %{_sysconfdir}/apache2handler.d
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache2handler.d/php.ini
-%attr(755,root,root) %{_libdir}/apache/libphp7-*.*.so
+%attr(755,root,root) %{_libdir}/apache/libphp8-*.*.so
%endif
%if %{with litespeed}
%if %{with embed}
%files embedded
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libphp7.so
+%attr(755,root,root) %{_libdir}/libphp8.so
%endif
%files cli
%{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
%if %{with tidy}