diff options
Diffstat (limited to 'php.spec')
-rw-r--r-- | php.spec | 221 |
1 files changed, 175 insertions, 46 deletions
@@ -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 |