summaryrefslogtreecommitdiffstats
path: root/php.spec
diff options
context:
space:
mode:
Diffstat (limited to 'php.spec')
-rw-r--r--php.spec221
1 files changed, 175 insertions, 46 deletions
diff --git a/php.spec b/php.spec
index 2c07d20..0d36dd4 100644
--- a/php.spec
+++ b/php.spec
@@ -49,8 +49,15 @@
%global mysql_sock %(mysql_config --socket 2>/dev/null || echo /var/lib/mysql/mysql.sock)
-%global oraclever 21.5
+%ifarch aarch64
+%global oraclever 19.19
+%global oraclelib 19.1
+%global oracledir 19.19
+%else
+%global oraclever 21.13
%global oraclelib 21.1
+%global oracledir 21
+%endif
# Build for LiteSpeed Web Server (LSAPI)
%global with_lsws 1
@@ -104,13 +111,13 @@
#global gh_date 20190612
%global gh_owner php
%global gh_project php-src
-%global upver 7.4.28
+%global upver 7.4.33
#global rcver RC1
Summary: PHP scripting language for creating dynamic web sites
Name: %{?scl_prefix}php
Version: %{upver}%{?rcver:~%{rcver}}%{?gh_date:.%{gh_date}}
-Release: 2%{?dist}
+Release: 14%{?dist}
# All files licensed under PHP version 3.01, except
# Zend is licensed under Zend
# TSRM is licensed under BSD
@@ -150,8 +157,11 @@ Source53: 20-ffi.ini
Patch1: php-7.4.0-httpd.patch
Patch5: php-7.2.0-includedir.patch
Patch6: php-7.4.0-embed.patch
+# For libxml 2.12 from 8.1
+Patch7: php-7.4.33-libxml212.patch
Patch8: php-7.2.0-libdb.patch
Patch9: php-7.0.7-curl.patch
+Patch10: php-7.4.33-gcc14.patch
# Functional changes
Patch42: php-7.3.3-systzdata-v19.patch
@@ -175,10 +185,23 @@ Patch91: php-7.2.0-oci8conf.patch
# Upstream fixes (100+)
# Security fixes (200+)
+Patch200: php-bug81740.patch
+Patch201: php-bug81744.patch
+Patch202: php-bug81746.patch
+Patch203: php-cve-2023-0662.patch
+Patch204: php-cve-2023-3247.patch
+Patch205: php-cve-2023-3823.patch
+Patch206: php-cve-2023-3824.patch
+Patch207: php-cve-2024-2756.patch
+Patch208: php-cve-2024-3096.patch
# Fixes for tests (300+)
# Factory is droped from system tzdata
Patch300: php-7.0.10-datetests.patch
+# Make test slower
+Patch301: php-7.4.33-tests.patch
+# For zlib-ng
+Patch302: php-7.4.33-zlib-tests.patch
# WIP
@@ -300,7 +323,6 @@ Group: Development/Languages
Summary: PHP FastCGI Process Manager
BuildRequires: libacl-devel
BuildRequires: pkgconfig(libsystemd) >= 209
-Requires(pre): %{_root_sbindir}/useradd
Requires: %{?scl_prefix}php-common%{?_isa} = %{version}-%{release}
%{?systemd_requires}
# This is actually needed for the %%triggerun script but Requires(triggerun)
@@ -313,6 +335,8 @@ Requires(pre): httpd-filesystem
# For php.conf in /etc/httpd/conf.d
# and version 2.4.10 for proxy support in SetHandler
Requires: httpd-filesystem >= 2.4.10
+%else
+Requires(pre): %{_root_sbindir}/useradd
%endif
%description fpm
@@ -352,6 +376,13 @@ Summary: Common files for PHP
# fileinfo is licensed under PHP version 3.0
# regex, libmagic are licensed under BSD
License: PHP and BSD
+
+Requires: tzdata
+%if %{with_libpcre}
+%global pcre2_buildver %(pkg-config --silence-errors --modversion libpcre2-8 2>/dev/null || echo 10.30)
+Requires: pcre2%{?_isa} >= %{pcre2_buildver}
+%endif
+
# ABI/API check - Arch specific
Provides: %{?scl_prefix}php(api) = %{apiver}-%{__isa_bits}
Provides: %{?scl_prefix}php(zend-abi) = %{zendver}-%{__isa_bits}
@@ -612,7 +643,14 @@ Summary: A module for PHP applications that use OCI8 databases
Group: Development/Languages
# All files licensed under PHP version 3.01
License: PHP
+%ifarch aarch64
+BuildRequires: oracle-instantclient%{oraclever}-devel
+# Should requires libclntsh.so.19.1()(aarch-64), but it's not provided by Oracle RPM.
+Requires: libclntsh.so.%{oraclelib}
+AutoReq: 0
+%else
BuildRequires: oracle-instantclient-devel >= %{oraclever}
+%endif
Requires: %{?scl_prefix}php-pdo%{?_isa} = %{version}-%{release}
Provides: %{?scl_prefix}php_database
Provides: %{?scl_prefix}php-pdo_oci
@@ -621,8 +659,6 @@ Obsoletes: %{?scl_prefix}php-pecl-oci8 <= %{oci8ver}
Conflicts: %{?scl_prefix}php-pecl-oci8 > %{oci8ver}
Provides: %{?scl_prefix}php-pecl(oci8) = %{oci8ver}
Provides: %{?scl_prefix}php-pecl(oci8)%{?_isa} = %{oci8ver}
-# Should requires libclntsh.so.18.3, but it's not provided by Oracle RPM.
-AutoReq: 0
%description oci8
The %{?scl_prefix}php-oci8 packages provides the OCI8 extension version %{oci8ver}
@@ -632,13 +668,9 @@ The extension is linked with Oracle client libraries %{oraclever}
(Oracle Instant Client). For details, see Oracle's note
"Oracle Client / Server Interoperability Support" (ID 207303.1).
-You must install libclntsh.so.%{oraclelib} to use this package, provided
-in the database installation, or in the free Oracle Instant Client
-available from Oracle.
-
-Notice:
-- %{?scl_prefix}php-oci8 provides oci8 and pdo_oci extensions from php sources.
-- %{?scl_prefix}php-pecl-oci8 only provides oci8 extension.
+You must install libclntsh.so.%{oraclelib} to use this package,
+provided by Oracle Instant Client RPM available from Oracle on:
+https://www.oracle.com/database/technologies/instant-client/downloads.html
Documentation is at http://php.net/oci8 and http://php.net/pdo_oci
%endif
@@ -722,7 +754,7 @@ License: PHP and BSD
%endif
Requires: %{?scl_prefix}php-common%{?_isa} = %{version}-%{release}
%if %{with_libgd}
-BuildRequires: pkgconfig(gdlib) >= 2.3
+BuildRequires: pkgconfig(gdlib) >= 2.3.3
%else
# Required to build the bundled GD library
BuildRequires: pkgconfig(zlib)
@@ -828,9 +860,9 @@ Group: System Environment/Libraries
# All files licensed under PHP version 3.01
License: PHP
Requires: %{?scl_prefix}php-common%{?_isa} = %{version}-%{release}
-BuildRequires: pkgconfig(icu-i18n) >= 69
-BuildRequires: pkgconfig(icu-io) >= 69
-BuildRequires: pkgconfig(icu-uc) >= 69
+BuildRequires: pkgconfig(icu-i18n) >= 73
+BuildRequires: pkgconfig(icu-io) >= 73
+BuildRequires: pkgconfig(icu-uc) >= 73
%description intl
The %{?scl_prefix}php-intl package contains a dynamic shared object that will add
@@ -923,38 +955,47 @@ in pure PHP.
%setup -q -n php-%{upver}%{?rcver}
%endif
-%patch1 -p1 -b .mpmcheck
-%patch5 -p1 -b .includedir
-%patch6 -p1 -b .embed
-%patch8 -p1 -b .libdb
-%if 0%{?rhel}
-%patch9 -p1 -b .curltls
+%patch -P1 -p1 -b .mpmcheck
+%patch -P5 -p1 -b .includedir
+%patch -P6 -p1 -b .embed
+%patch -P7 -p1 -b .libxml212
+%patch -P8 -p1 -b .libdb
+%if 0%{?rhel} == 7
+%patch -P9 -p1 -b .curltls
%endif
+%patch -P10 -p1 -b .gcc14
-%if 0%{?fedora} >= 28 || 0%{?rhel} >= 6
-%patch42 -p1 -b .systzdata
-%endif
-%patch43 -p1 -b .headers
+%patch -P42 -p1 -b .systzdata
+%patch -P43 -p1 -b .headers
sed -e 's/php-devel/%{?scl_prefix}php-devel/' -i scripts/phpize.in
-%if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
-%patch45 -p1 -b .ldap_r
-%endif
-%patch46 -p1 -b .argon2
-%patch47 -p1 -b .phpinfo
-%patch48 -p1 -b .snmp
+%patch -P45 -p1 -b .ldap_r
+%patch -P46 -p1 -b .argon2
+%patch -P47 -p1 -b .phpinfo
+%patch -P48 -p1 -b .snmp
%if 0%{?fedora} >= 36 || 0%{?rhel} >= 9
-%patch50 -p1 -b .openssl3
+%patch -P50 -p1 -b .openssl3
rm ext/openssl/tests/p12_with_extra_certs.p12
%endif
-%patch91 -p1 -b .remi-oci8
+%patch -P91 -p1 -b .remi-oci8
# upstream patches
# security patches
+%patch -P200 -p1 -b .bug81740
+%patch -P201 -p1 -b .bug81744
+%patch -P202 -p1 -b .bug81746
+%patch -P203 -p1 -b .cve0662
+%patch -P204 -p1 -b .cve3247
+%patch -P205 -p1 -b .cve3823
+%patch -P206 -p1 -b .cve3824
+%patch -P207 -p1 -b .cve2756
+%patch -P208 -p1 -b .cve3096
# Fixes for tests
-%patch300 -p1 -b .datetests
+%patch -P300 -p1 -b .datetests
+%patch -P301 -p1 -b .tests
+%patch -P302 -p1 -b .zlibng
# WIP patch
@@ -977,14 +1018,12 @@ mkdir \
# ----- Manage known as failed test -------
# affected by systzdata patch
rm ext/date/tests/timezone_location_get.phpt
-rm ext/date/tests/timezone_version_get.phpt
-rm ext/date/tests/timezone_version_get_basic1.phpt
%if 0%{?fedora} < 28
# need tzdata 2018i
rm ext/date/tests/bug33414-1.phpt
-rm ext/date/tests/bug33415-2.phpt
rm ext/date/tests/date_modify-1.phpt
%endif
+rm ext/date/tests/bug33415-2.phpt
# too fast builder
rm ext/date/tests/bug73837.phpt
# fails sometime
@@ -1222,8 +1261,8 @@ build --libdir=%{_libdir}/php \
--with-mysqli=shared,mysqlnd \
--with-mysql-sock=%{mysql_sock} \
%if %{with_oci8}
- --with-oci8=shared,instantclient,%{_root_libdir}/oracle/%{oraclever}/client64/lib,%{oraclever} \
- --with-pdo-oci=shared,instantclient,%{_root_libdir}/oracle/%{oraclever}/client64/lib,%{oraclever} \
+ --with-oci8=shared,instantclient,%{_root_prefix}/lib/oracle/%{oracledir}/client64/lib,%{oraclever} \
+ --with-pdo-oci=shared,instantclient,%{_root_prefix}/lib/oracle/%{oracledir}/client64/lib,%{oraclever} \
%endif
%if %{with_interbase}
--with-pdo-firebird=shared \
@@ -1437,9 +1476,9 @@ mv $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.d/www.conf.default .
# install systemd unit files and scripts for handling server startup
install -Dm 644 %{SOURCE6} $RPM_BUILD_ROOT%{_unitdir}/%{?scl_prefix}php-fpm.service
%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8
-install -Dm 644 %{SOURCE12} $RPM_BUILD_ROOT%{_unitdir}/httpd.service.d/%{?scl_prefix}php-fpm.conf
-install -Dm 644 %{SOURCE12} $RPM_BUILD_ROOT%{_unitdir}/nginx.service.d/%{?scl_prefix}php-fpm.conf
-sed -e 's/php-fpm/%{?scl_prefix}php-fpm/' -i $RPM_BUILD_ROOT%{_unitdir}/*.service.d/%{?scl_prefix}php-fpm.conf
+install -Dm 644 %{SOURCE12} $RPM_BUILD_ROOT%{_root_sysconfdir}/systemd/system/httpd.service.d/%{?scl_prefix}php-fpm.conf
+install -Dm 644 %{SOURCE12} $RPM_BUILD_ROOT%{_root_sysconfdir}/systemd/system/nginx.service.d/%{?scl_prefix}php-fpm.conf
+sed -e 's/php-fpm/%{?scl_prefix}php-fpm/' -i $RPM_BUILD_ROOT%{_root_sysconfdir}/systemd/system/*.service.d/%{?scl_prefix}php-fpm.conf
%endif
sed -e 's:/run:%{_localstatedir}/run:' \
-e 's:/etc/sysconfig:%{_sysconfdir}/sysconfig:' \
@@ -1671,6 +1710,19 @@ fi
%endif
+%posttrans common
+cat << EOF
+=====================================================================
+
+ WARNING : PHP 7.4 have reached its "End of Life" in
+ November 2022. Even, if this package includes some of
+ the important security fixes, backported from 8.0, the
+ UPGRADE to a maintained version is very strongly RECOMMENDED.
+
+=====================================================================
+EOF
+
+
%{!?_licensedir:%global license %%doc}
%files
@@ -1750,8 +1802,8 @@ fi
%{_unitdir}/%{?scl_prefix}php-fpm.service
%dir %{_root_sysconfdir}/systemd/system/%{?scl_prefix}php-fpm.service.d
%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8
-%{_unitdir}/httpd.service.d/%{?scl_prefix}php-fpm.conf
-%{_unitdir}/nginx.service.d/%{?scl_prefix}php-fpm.conf
+%config(noreplace) %{_root_sysconfdir}/systemd/system/httpd.service.d/%{?scl_prefix}php-fpm.conf
+%config(noreplace) %{_root_sysconfdir}/systemd/system/nginx.service.d/%{?scl_prefix}php-fpm.conf
%endif
%{_sbindir}/php-fpm
%dir %{_sysconfdir}/php-fpm.d
@@ -1830,6 +1882,83 @@ fi
%changelog
+* Wed Apr 10 2024 Remi Collet <remi@remirepo.net> - 7.4.33-14
+- Fix __Host-/__Secure- cookie bypass due to partial CVE-2022-31629 fix
+ CVE-2024-2756
+- Fix password_verify can erroneously return true opening ATO risk
+ CVE-2024-3096
+
+* Wed Mar 6 2024 Remi Collet <remi@remirepo.net> - 7.4.33-13
+- patch test suite for zlib-ng
+
+* Mon Feb 19 2024 Remi Collet <remi@remirepo.net> - 7.4.33-12
+- more build patch for GCC 14
+
+* Wed Feb 14 2024 Remi Collet <remi@remirepo.net> - 7.4.33-11
+- add build patch for GCC 14
+- use oracle client library version 21.13 on x86_64
+
+* Tue Dec 12 2023 Remi Collet <remi@remirepo.net> - 7.4.33-10
+- use ICU 73.2
+- use oracle client library version 21.12 on x86_64, 19.19 on aarch64
+- add fixes for libxml 2.11 and 2.12 from 8.1
+
+* Thu Sep 21 2023 Remi Collet <remi@remirepo.net> - 7.4.33-9
+- use oracle client library version 21.11 on x86_64, 19.19 on aarch64
+- use official Oracle Instant Client RPM
+
+* Tue Aug 1 2023 Remi Collet <remi@remirepo.net> - 7.4.33-8
+- Fix Security issue with external entity loading in XML without enabling it
+ GHSA-3qrf-m4j2-pcrr CVE-2023-3823
+- Fix Buffer mismanagement in phar_dir_read()
+ GHSA-jqcx-ccgc-xwhv CVE-2023-3824
+- move httpd/nginx wants directive to config files in /etc
+
+* Tue Jun 6 2023 Remi Collet <remi@remirepo.net> - 7.4.33-7
+- Fix Missing error check and insufficient random bytes in HTTP Digest
+ authentication for SOAP
+ GHSA-76gg-c692-v2mw CVE-2023-3247
+
+* Fri Apr 14 2023 Remi Collet <remi@remirepo.net> - 7.4.33-6
+- use ICU 72.1
+- use oracle client library version 21.10
+- fix possible buffer overflow in date
+- define %%php74___phpize and %%php74___phpconfig
+
+* Tue Feb 21 2023 Remi Collet <remi@remirepo.net> - 7.4.33-5
+- F38: enable imap extension
+
+* Tue Feb 14 2023 Remi Collet <remi@remirepo.net> - 7.4.33-4
+- fix #81744: Password_verify() always return true with some hash
+ CVE-2023-0567
+- fix #81746: 1-byte array overrun in common path resolve code
+ CVE-2023-0568
+- fix DOS vulnerability when parsing multipart request body
+ CVE-2023-0662
+- add dependency on pcre2 minimal version
+
+* Mon Dec 19 2022 Remi Collet <remi@remirepo.net> - 7.4.33-2
+- pdo: fix #81740: PDO::quote() may return unquoted string
+ CVE-2022-31631
+- use oracle client library version 21.8
+
+* Tue Nov 1 2022 Remi Collet <remi@remirepo.net> - 7.4.33-1
+- Update to 7.4.33 - http://www.php.net/releases/7_4_33.php
+
+* Wed Oct 26 2022 Remi Collet <remi@remirepo.net> - 7.4.32-2
+- add upstream fix for CVE-2022-31630 and CVE-2022-37454
+
+* Wed Sep 28 2022 Remi Collet <remi@remirepo.net> - 7.4.32-1
+- Update to 7.4.32 - http://www.php.net/releases/7_4_32.php
+- use ICU 71.1
+
+* Tue Jun 7 2022 Remi Collet <remi@remirepo.net> - 7.4.30-1
+- Update to 7.4.30 - http://www.php.net/releases/7_4_30.php
+- use oracle client library version 21.6
+
+* Tue Apr 12 2022 Remi Collet <remi@remirepo.net> - 7.4.29-1
+- Update to 7.4.29 - http://www.php.net/releases/7_4_29.php
+
* Tue Feb 22 2022 Remi Collet <remi@remirepo.net> - 7.4.28-2
- retrieve tzdata version
- use oracle client library version 21.5