4 Commits

Author SHA256 Message Date
Petr Gajdos
3ee7f75420 package /var/lib/php8 via tmpfiles 2026-02-09 14:16:23 +01:00
Petr Gajdos
89a639f70b remove incorrect patch [bsc#1256905] 2026-01-28 14:49:48 +01:00
Petr Gajdos
e7e5c0f231 version update to 8.4.16 2026-01-07 12:39:38 +01:00
Petr Gajdos
71d809acc8 main package require wwwrun:www user as it assumes it in filelist 2025-12-18 11:24:52 +01:00
10 changed files with 109 additions and 62 deletions

Binary file not shown.

View File

@@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEBhbpPZWvRxJD4mdhdwQm4X67s90FAmlBhAYACgkQdwQm4X67
s91cJA/6ApQMxSiKzPNb9H16elfGQ5xxpPdOiLphtfSXDrwfAkuXTMGLa1H6wM3y
pTl0dLE8n13lHoUHFhI6Ytw24ny+NEewWjODOc0N7WT8JaJJGdtV9S3gQVukzxPV
VgfB6Ikro0WDAaN5kbYt4MKlICvwBvVOyQ/qNR0NjzyIcnYKA2EiDM6vgImLW34c
6zys7H/pR9HZS6gQMwNXndHuyzkgsy5T7+FzJq0Ihj1V0ymWJFm9VOVIEos1siQ6
547VF0W5xj7nVDZStt7hkAaJUBYWqN2vrchRsO3uSW+cPO8XNSSjtvs8l0pb3qm/
nr4HKqC4fDcp5h5L7PlePhaQFP8G6lyaKi85gfzC44pfUGZixjkwuLE71L4QFQTa
YE7FaHgjoC6fxiSDp1MK5a+1REPuDJFAzSBs54JlgsiQIjM/SqZbhnzaKhXLLw6M
ovU2/GOvGhslj9EnFnzFOUrNfiG0v2cFNbZ7AYjPt6yRov32n0SV6QCkv2+q0KEK
C1isYyy4ofTQKVDoQP1Fcb6USyDPHV6b2CvTHYwR2/+/mT8w3xI/NEgQqr53fy8x
eZxYSMFXJ6rx5TRZzKdPwgzPu3j5IZSmXII9am6bJSYKyp8hxWq6DJ+Oatk06CAA
mP91xlA82UcM0XGH9ReRTzrV7C7KBE6jRkj6A3HjImkYbeDR6+A=
=LDlD
-----END PGP SIGNATURE-----

BIN
php-8.4.17.tar.xz LFS Normal file

Binary file not shown.

7
php-8.4.17.tar.xz.asc Normal file
View File

@@ -0,0 +1,7 @@
-----BEGIN PGP SIGNATURE-----
iHUEABYKAB0WIQSdf5mgy48FyKaVjWJWqXr3YAo5pgUCaWaERAAKCRBWqXr3YAo5
prxcAP9z/3HjeI9EHFbHjQ2PVK5iRPq17u5FLe6WymQKCkLpYgEA2R9HJmWVRjaV
ND2gKyWhPt3WwCKQgN/FupiJMxJMIwk=
=BRQZ
-----END PGP SIGNATURE-----

View File

@@ -16,11 +16,11 @@ Signed-off-by: Arjen de Korte <build+github@de-korte.org>
ext/phar/zip.c | 2 +-
6 files changed, 18 insertions(+), 5 deletions(-)
Index: php-8.4.16/ext/phar/phar.c
Index: php-8.4.17/ext/phar/phar.c
===================================================================
--- php-8.4.16.orig/ext/phar/phar.c
+++ php-8.4.16/ext/phar/phar.c
@@ -2936,7 +2936,7 @@ int phar_flush_ex(phar_archive_data *pha
--- php-8.4.17.orig/ext/phar/phar.c
+++ php-8.4.17/ext/phar/phar.c
@@ -2942,7 +2942,7 @@ int phar_flush_ex(phar_archive_data *pha
4: metadata-len
+: metadata
*/
@@ -29,11 +29,11 @@ Index: php-8.4.16/ext/phar/phar.c
phar_set_32(entry_buffer, entry->uncompressed_filesize);
phar_set_32(entry_buffer+4, mytime);
phar_set_32(entry_buffer+8, entry->compressed_filesize);
Index: php-8.4.16/ext/phar/phar_internal.h
Index: php-8.4.17/ext/phar/phar_internal.h
===================================================================
--- php-8.4.16.orig/ext/phar/phar_internal.h
+++ php-8.4.16/ext/phar/phar_internal.h
@@ -315,6 +315,21 @@ static inline php_stream *phar_get_pharf
--- php-8.4.17.orig/ext/phar/phar_internal.h
+++ php-8.4.17/ext/phar/phar_internal.h
@@ -316,6 +316,21 @@ static inline php_stream *phar_get_pharf
return PHAR_G(cached_fp)[phar->phar_pos].fp;
}
@@ -55,10 +55,10 @@ Index: php-8.4.16/ext/phar/phar_internal.h
static inline enum phar_fp_type phar_get_fp_type(const phar_entry_info *entry)
{
if (!entry->is_persistent) {
Index: php-8.4.16/ext/phar/stream.c
Index: php-8.4.17/ext/phar/stream.c
===================================================================
--- php-8.4.16.orig/ext/phar/stream.c
+++ php-8.4.16/ext/phar/stream.c
--- php-8.4.17.orig/ext/phar/stream.c
+++ php-8.4.17/ext/phar/stream.c
@@ -473,7 +473,7 @@ static int phar_stream_flush(php_stream
phar_entry_data *data = (phar_entry_data *) stream->abstract;
@@ -68,10 +68,10 @@ Index: php-8.4.16/ext/phar/stream.c
ret = phar_flush(data->phar, &error);
if (error) {
php_stream_wrapper_log_error(stream->wrapper, REPORT_ERRORS, "%s", error);
Index: php-8.4.16/ext/phar/tar.c
Index: php-8.4.17/ext/phar/tar.c
===================================================================
--- php-8.4.16.orig/ext/phar/tar.c
+++ php-8.4.16/ext/phar/tar.c
--- php-8.4.17.orig/ext/phar/tar.c
+++ php-8.4.17/ext/phar/tar.c
@@ -972,7 +972,7 @@ int phar_tar_flush(phar_archive_data *ph
char *buf, *signature, sigbuf[8];
@@ -81,10 +81,10 @@ Index: php-8.4.16/ext/phar/tar.c
entry.is_modified = 1;
entry.is_crc_checked = 1;
entry.is_tar = 1;
Index: php-8.4.16/ext/phar/util.c
Index: php-8.4.17/ext/phar/util.c
===================================================================
--- php-8.4.16.orig/ext/phar/util.c
+++ php-8.4.16/ext/phar/util.c
--- php-8.4.17.orig/ext/phar/util.c
+++ php-8.4.17/ext/phar/util.c
@@ -701,7 +701,7 @@ phar_entry_data *phar_get_or_create_entr
phar_add_virtual_dirs(phar, path, path_len);
@@ -94,10 +94,10 @@ Index: php-8.4.16/ext/phar/util.c
etemp.is_crc_checked = 1;
etemp.phar = phar;
etemp.filename = estrndup(path, path_len);
Index: php-8.4.16/ext/phar/zip.c
Index: php-8.4.17/ext/phar/zip.c
===================================================================
--- php-8.4.16.orig/ext/phar/zip.c
+++ php-8.4.16/ext/phar/zip.c
--- php-8.4.17.orig/ext/phar/zip.c
+++ php-8.4.17/ext/phar/zip.c
@@ -1251,7 +1251,7 @@ int phar_zip_flush(phar_archive_data *ph
pass.error = &temperr;

View File

@@ -1,13 +0,0 @@
Index: php-8.4.1/ext/phar/Makefile.frag
===================================================================
--- php-8.4.1.orig/ext/phar/Makefile.frag
+++ php-8.4.1/ext/phar/Makefile.frag
@@ -45,7 +45,7 @@ $(builddir)/phar.phar: $(builddir)/phar.
if [ "$(TEST_PHP_EXECUTABLE_RES)" != 1 ]; then \
rm -f $(builddir)/phar.phar; \
rm -f $(srcdir)/phar.phar; \
- $(PHP_PHARCMD_EXECUTABLE) $(PHP_PHARCMD_SETTINGS) $(builddir)/phar.php pack -f $(builddir)/phar.phar -a pharcommand -c auto -p 0 -s $(srcdir)/phar/phar.php -h sha1 -b "$(PHP_PHARCMD_BANG)" $(srcdir)/phar/; \
+ $(PHP_PHARCMD_EXECUTABLE) $(PHP_PHARCMD_SETTINGS) $(builddir)/phar.php pack -f $(builddir)/phar.phar -a pharcommand -c auto -p 0 -s $(srcdir)/phar/phar.php -h sha1 -b "$(PHP_PHARCMD_BANG)" -l 9 $(srcdir)/phar/*.inc; \
chmod +x $(builddir)/phar.phar; \
else \
echo "Skipping phar.phar generating during cross compilation"; \

2
php8-tmpfiles.conf Normal file
View File

@@ -0,0 +1,2 @@
d /var/lib/php8 0755 wwwrun root -
d /var/lib/php8/sessions 0755 wwwrun root -

View File

@@ -1,3 +1,63 @@
-------------------------------------------------------------------
Mon Jan 26 11:11:51 UTC 2026 - Petr Gajdos <pgajdos@suse.com>
- package /var/lib/php8 via tmpfiles
- deleted sources
* php-fpm.tmpfiles.d (renamed)
- added sources
* php-fpm-tmpfiles.conf
* php8-tmpfiles.conf
-------------------------------------------------------------------
Mon Jan 19 08:21:08 UTC 2026 - Petr Gajdos <pgajdos@suse.com>
- remove a patch, which breaks phar.phar [bsc#1256905]
* php-sort-filelist-phar.patch (upstreamed)
- modified patches
* php-build-reproducible-phar.patch (refreshed)
-------------------------------------------------------------------
Thu Jan 15 19:55:23 UTC 2026 - Arjen de Korte <suse+build@de-korte.org>
- version update to 8.4.17
Core:
Fix OSS-Fuzz #465488618 (Wrong assumptions when dumping function signature with dynamic class const lookup default argument).
Fixed bug GH-20695 (Assertion failure in normalize_value() when parsing malformed INI input via parse_ini_string()).
Fixed bug GH-20714 (Uncatchable exception thrown in generator).
Fixed bug GH-20352 (UAF in php_output_handler_free via re-entrant ob_start() during error deactivation).
Bz2:
Fixed bug GH-20620 (bzcompress overflow on large source size).
DOM:
Fixed bug GH-20722 (Null pointer dereference in DOM namespace node cloning via clone on malformed objects).
Fixed bug GH-20444 (Dom\XMLDocument::C14N() seems broken compared to DOMDocument::C14N()).
GD:
Fixed bug GH-20622 (imagestring/imagestringup overflow).
Intl:
Fix leak in umsg_format_helper().
LDAP:
Fix memory leak in ldap_set_options().
Mbstring:
Fixed bug GH-20674 (mb_decode_mimeheader does not handle separator).
PCNTL:
Fixed bug with pcntl_getcpuaffinity() on solaris regarding invalid process ids handling.
Phar:
Fixed bug GH-20732 (Phar::LoadPhar undefined behavior when reading fails).
Fix SplFileInfo::openFile() in write mode.
Fix build on legacy OpenSSL 1.1.0 systems.
Fixed bug #74154 (Phar extractTo creates empty files).
POSIX:
Fixed crash on posix groups to php array creation on macos.
SPL:
Fixed bug GH-20678 (resource created by GlobIterator crashes with fclose()).
Sqlite3:
Fixed bug GH-20699 (SQLite3Result fetchArray return array|false, null returned).
Standard:
Fix error check for proc_open() command.
Fix memory leak in mail() when header key is numeric.
Fixed bug GH-20582 (Heap Buffer Overflow in iptcembed).
Zlib:
Fix OOB gzseek() causing assertion failure.
-------------------------------------------------------------------
Fri Dec 19 07:51:15 UTC 2025 - Petr Gajdos <pgajdos@suse.com>

View File

@@ -1,7 +1,8 @@
#
# spec file for package php8
#
# Copyright (c) 2025 SUSE LLC
# Copyright (c) 2026 SUSE LLC
# Copyright (c) 2026 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -57,7 +58,7 @@
%bcond_without sodium
Name: %{pprefix}%{php_name}%{psuffix}
Version: 8.4.16
Version: 8.4.17
Release: 0
Summary: Interpreter for the PHP scripting language version 8
License: MIT AND PHP-3.01
@@ -73,7 +74,8 @@ Source8: https://secure.php.net/distributions/php-%{version}.tar.xz.asc
# Source9: https://www.php.net/distributions/php-keyring.gpg#/%%{php_name}.keyring
Source9: %{php_name}.keyring
Source11: %{php_name}.rpmlintrc
Source12: php-fpm.tmpfiles.d
Source12: php-fpm-tmpfiles.conf
Source13: php8-tmpfiles.conf
Source100: build-test.sh
## SUSE specific patches
# adjust includedir
@@ -89,8 +91,6 @@ Patch3: php-ini.patch
Patch4: php-systzdata-v24.patch
# adjust upstream systemd unit to SUSE needs
Patch5: php-systemd-unit.patch
# PATCH-FEATURE-OPENSUSE use ordered input files for reproducible /usr/bin/phar.phar
Patch6: php-sort-filelist-phar.patch
## Bugfix patches
# should be upstreamed, will do later
Patch22: php-date-regenerate-lexers.patch
@@ -1353,8 +1353,9 @@ for f in %{buildroot}%{extension_dir}/*; do
echo "; comment out next line to disable $ext extension in php" > %{buildroot}%{php_sysconf}/conf.d/${ini_name}.ini
echo "${zend_}extension=$ext.so" >> %{buildroot}%{php_sysconf}/conf.d/${ini_name}.ini
done
# directory for sessions
install -d %{buildroot}%{_localstatedir}/lib/%{php_name}/sessions
# package /var/lib/php8/sessions trough tmpfiles
install -d -m 0755 %{buildroot}%{_tmpfilesdir}
install -m 0644 %{SOURCE13} %{buildroot}%{_tmpfilesdir}/php8.conf
# fix symlink (bnc#734176)
ln -s %{_bindir}/php %{buildroot}%{_bindir}/%{php_name}
# install the macros file:
@@ -1370,6 +1371,11 @@ for f in %{buildroot}%{_datadir}/%{php_name}/build/{gen_stub.php,run-tests.php};
done
%endif
%if "%{flavor}" == ""
%post
%tmpfiles_create php8.conf
%endif
%if "%{flavor}" == "apache2"
%post
if [ $1 -eq 1 ]; then
@@ -1401,7 +1407,7 @@ fi
%post
%service_add_post php-fpm.service
%tmpfiles_create %{_tmpfilesdir}/php-fpm.conf
%tmpfiles_create php-fpm.conf
%preun
%service_del_preun php-fpm.service
@@ -1443,8 +1449,9 @@ fi
%dir %{extension_dir}
%dir %{php_sysconf}
%dir %{php_sysconf}/conf.d
%attr(0755, %{apache_user}, root) %dir %{_localstatedir}/lib/%{php_name}
%attr(0755, %{apache_user}, root) %dir %{_localstatedir}/lib/%{php_name}/sessions
%{_tmpfilesdir}/php8.conf
%ghost %dir %attr(755,%{apache_user},root) /var/lib/php8
%ghost %dir %attr(755,%{apache_user},root) /var/lib/php8/sessions
%files cli
%defattr(-, root, root)