Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package php8 for openSUSE:Factory checked in at 2023-05-06 22:08:27 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/php8 (Old) and /work/SRC/openSUSE:Factory/.php8.new.1533 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "php8" Sat May 6 22:08:27 2023 rev:46 rq:1084825 version:8.2.5 Changes: -------- --- /work/SRC/openSUSE:Factory/php8/php8.changes 2023-04-22 21:57:57.516318998 +0200 +++ /work/SRC/openSUSE:Factory/.php8.new.1533/php8.changes 2023-05-06 22:08:30.704489621 +0200 @@ -1,0 +2,22 @@ +Thu May 4 08:16:37 UTC 2023 - pgaj...@suse.com + +- version update to 8.2.5 + * Readonly classes + * Disjunctive Normal Form (DNF) Types + * Allow null, false, and true as stand-alone types + * New "Random" extension + * Constants in traits + * Deprecate dynamic properties + * for details, see + https://www.php.net/releases/8.2/en.php + https://www.php.net/manual/en/migration82.php +- modified patches + % php-ar-flags.patch (refreshed) + % php-build-reproducible-phar.patch (refreshed) + % php-ini.patch (refreshed) +- deleted patches + - php-crypt-tests.patch (not needed) +- modified sources + % php8.keyring + +------------------------------------------------------------------- Old: ---- php-8.1.18.tar.xz php-8.1.18.tar.xz.asc php-crypt-tests.patch New: ---- php-8.2.5.tar.xz php-8.2.5.tar.xz.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ php8.spec ++++++ --- /var/tmp/diff_new_pack.J6bvfj/_old 2023-05-06 22:08:31.796495700 +0200 +++ /var/tmp/diff_new_pack.J6bvfj/_new 2023-05-06 22:08:31.796495700 +0200 @@ -40,8 +40,8 @@ %define psuffix %{nil} %endif -%global apiver 20210902 -%global zendver 20210902 +%global apiver 20220829 +%global zendver 20220829 %define extension_dir %{_libdir}/%{php_name}/extensions %define php_sysconf %{_sysconfdir}/%{php_name} @@ -57,7 +57,7 @@ %bcond_without sodium Name: %{pprefix}%{php_name}%{psuffix} -Version: 8.1.18 +Version: 8.2.5 Release: 0 Summary: Interpreter for the PHP scripting language version 8 License: PHP-3.01 @@ -90,12 +90,6 @@ # PATCH-FEATURE-OPENSUSE use ordered input files for reproducible /usr/bin/phar.phar Patch6: php-sort-filelist-phar.patch ## Bugfix patches -# following patch is to fix configure tests for crypt; the aim is to have php -# built against glibc's crypt; problem is, that our glibc doesn't support extended -# DES, so as soon as upstream fixes this, don't forgot to remove extended DES -# from their checking as I indicated in crypt-tests.patch yet, or php will -# silently use his own implementation again -Patch20: php-crypt-tests.patch # should be upstreamed, will do later Patch22: php-date-regenerate-lexers.patch # PATCH-FEATURE-UPSTREAM https://github.com/php/php-src/pull/6564 @@ -987,6 +981,12 @@ fi %build +%if 150000 <= 0%{?sle_version} && 0%{?sle_version} <= 150200 +# former libcrypt does not support extended DES, so the build would fail +# with --with-external-libcrypt +sed -i 's:|| test "$ac_cv_crypt_ext_des" = "no"::' ext/standard/config.m4 +%endif + # regenerate configure etc. ./buildconf --force @@ -1041,6 +1041,7 @@ --with-gnu-ld \ --enable-re2c-cgoto \ --with-system-tzdata=%{_datadir}/zoneinfo \ + --with-external-libcrypt \ --with-mhash \ --disable-phpdbg \ %if %{with argon2} ++++++ php-8.1.18.tar.xz -> php-8.2.5.tar.xz ++++++ /work/SRC/openSUSE:Factory/php8/php-8.1.18.tar.xz /work/SRC/openSUSE:Factory/.php8.new.1533/php-8.2.5.tar.xz differ: char 25, line 1 ++++++ php-ar-flags.patch ++++++ --- /var/tmp/diff_new_pack.J6bvfj/_old 2023-05-06 22:08:31.908496324 +0200 +++ /var/tmp/diff_new_pack.J6bvfj/_new 2023-05-06 22:08:31.912496346 +0200 @@ -1,8 +1,8 @@ -Index: php-8.1.18/configure.ac +Index: php-8.2.5/configure.ac =================================================================== ---- php-8.1.18.orig/configure.ac -+++ php-8.1.18/configure.ac -@@ -1543,7 +1543,7 @@ PHP_CONFIGURE_PART(Configuring libtool) +--- php-8.2.5.orig/configure.ac ++++ php-8.2.5/configure.ac +@@ -1590,7 +1590,7 @@ PHP_CONFIGURE_PART(Configuring libtool) dnl Silence warning: `ar: 'u' modifier ignored since 'D' is the default` dnl See https://github.com/php/php-src/pull/3017 ++++++ php-build-reproducible-phar.patch ++++++ --- /var/tmp/diff_new_pack.J6bvfj/_old 2023-05-06 22:08:31.924496413 +0200 +++ /var/tmp/diff_new_pack.J6bvfj/_new 2023-05-06 22:08:31.928496435 +0200 @@ -16,11 +16,11 @@ ext/phar/zip.c | 2 +- 6 files changed, 18 insertions(+), 5 deletions(-) -Index: php-8.1.18/ext/phar/phar.c +Index: php-8.2.5/ext/phar/phar.c =================================================================== ---- php-8.1.18.orig/ext/phar/phar.c -+++ php-8.1.18/ext/phar/phar.c -@@ -3004,7 +3004,7 @@ int phar_flush(phar_archive_data *phar, +--- php-8.2.5.orig/ext/phar/phar.c ++++ php-8.2.5/ext/phar/phar.c +@@ -2999,7 +2999,7 @@ int phar_flush(phar_archive_data *phar, 4: metadata-len +: metadata */ @@ -29,10 +29,10 @@ 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.1.18/ext/phar/phar_internal.h +Index: php-8.2.5/ext/phar/phar_internal.h =================================================================== ---- php-8.1.18.orig/ext/phar/phar_internal.h -+++ php-8.1.18/ext/phar/phar_internal.h +--- php-8.2.5.orig/ext/phar/phar_internal.h ++++ php-8.2.5/ext/phar/phar_internal.h @@ -427,6 +427,21 @@ static inline enum phar_fp_type phar_get return PHAR_G(cached_fp)[entry->phar->phar_pos].manifest[entry->manifest_pos].fp_type; } @@ -55,10 +55,10 @@ static inline zend_off_t phar_get_fp_offset(phar_entry_info *entry) { if (!entry->is_persistent) { -Index: php-8.1.18/ext/phar/stream.c +Index: php-8.2.5/ext/phar/stream.c =================================================================== ---- php-8.1.18.orig/ext/phar/stream.c -+++ php-8.1.18/ext/phar/stream.c +--- php-8.2.5.orig/ext/phar/stream.c ++++ php-8.2.5/ext/phar/stream.c @@ -463,7 +463,7 @@ static int phar_stream_flush(php_stream phar_entry_data *data = (phar_entry_data *) stream->abstract; @@ -68,10 +68,10 @@ ret = phar_flush(data->phar, 0, 0, 0, &error); if (error) { php_stream_wrapper_log_error(stream->wrapper, REPORT_ERRORS, "%s", error); -Index: php-8.1.18/ext/phar/tar.c +Index: php-8.2.5/ext/phar/tar.c =================================================================== ---- php-8.1.18.orig/ext/phar/tar.c -+++ php-8.1.18/ext/phar/tar.c +--- php-8.2.5.orig/ext/phar/tar.c ++++ php-8.2.5/ext/phar/tar.c @@ -972,7 +972,7 @@ int phar_tar_flush(phar_archive_data *ph char halt_stub[] = "__HALT_COMPILER();"; @@ -81,10 +81,10 @@ entry.is_modified = 1; entry.is_crc_checked = 1; entry.is_tar = 1; -Index: php-8.1.18/ext/phar/util.c +Index: php-8.2.5/ext/phar/util.c =================================================================== ---- php-8.1.18.orig/ext/phar/util.c -+++ php-8.1.18/ext/phar/util.c +--- php-8.2.5.orig/ext/phar/util.c ++++ php-8.2.5/ext/phar/util.c @@ -574,7 +574,7 @@ phar_entry_data *phar_get_or_create_entr phar_add_virtual_dirs(phar, path, path_len); @@ -94,11 +94,11 @@ etemp.is_crc_checked = 1; etemp.phar = phar; etemp.filename = estrndup(path, path_len); -Index: php-8.1.18/ext/phar/zip.c +Index: php-8.2.5/ext/phar/zip.c =================================================================== ---- php-8.1.18.orig/ext/phar/zip.c -+++ php-8.1.18/ext/phar/zip.c -@@ -1215,7 +1215,7 @@ int phar_zip_flush(phar_archive_data *ph +--- php-8.2.5.orig/ext/phar/zip.c ++++ php-8.2.5/ext/phar/zip.c +@@ -1214,7 +1214,7 @@ int phar_zip_flush(phar_archive_data *ph pass.error = &temperr; entry.flags = PHAR_ENT_PERM_DEF_FILE; ++++++ php-ini.patch ++++++ --- /var/tmp/diff_new_pack.J6bvfj/_old 2023-05-06 22:08:31.948496547 +0200 +++ /var/tmp/diff_new_pack.J6bvfj/_new 2023-05-06 22:08:31.952496569 +0200 @@ -1,17 +1,17 @@ -Index: php-8.1.18/php.ini-production +Index: php-8.2.4/php.ini-production =================================================================== ---- php-8.1.18.orig/php.ini-production -+++ php-8.1.18/php.ini-production +--- php-8.2.4.orig/php.ini-production ++++ php-8.2.4/php.ini-production @@ -742,7 +742,7 @@ default_charset = "UTF-8" ;;;;;;;;;;;;;;;;;;;;;;;;; ; UNIX: "/path1:/path2" -;include_path = ".:/php/includes" -+include_path = ".:/usr/share/php8:/usr/share/php:/usr/share/php/PEAR ++include_path = ".:/usr/share/php8:/usr/share/php/PEAR" ; ; Windows: "\path1;\path2" ;include_path = ".;c:\php\includes" -@@ -975,7 +975,7 @@ cli_server.color = On +@@ -976,7 +976,7 @@ cli_server.color = On [Date] ; Defines the default timezone used by the date functions ; https://php.net/date.timezone @@ -20,7 +20,7 @@ ; https://php.net/date.default-latitude ;date.default_latitude = 31.7667 -@@ -1164,7 +1164,7 @@ mysqli.max_persistent = -1 +@@ -1169,7 +1169,7 @@ mysqli.max_persistent = -1 ; Allow or prevent persistent links. ; https://php.net/mysqli.allow-persistent ++++++ php-systzdata-v23.patch ++++++ --- /var/tmp/diff_new_pack.J6bvfj/_old 2023-05-06 22:08:31.980496724 +0200 +++ /var/tmp/diff_new_pack.J6bvfj/_new 2023-05-06 22:08:31.984496747 +0200 @@ -34,10 +34,10 @@ r2: add filesystem trawl to set up name alias index r1: initial revision -diff --git a/ext/date/config0.m4 b/ext/date/config0.m4 -index 18b8106bd2..3d1f63c758 100644 ---- a/ext/date/config0.m4 -+++ b/ext/date/config0.m4 +Index: php-8.2.5/ext/date/config0.m4 +=================================================================== +--- php-8.2.5.orig/ext/date/config0.m4 ++++ php-8.2.5/ext/date/config0.m4 @@ -4,6 +4,19 @@ AC_CHECK_HEADERS([io.h]) dnl Check for strtoll, atoll AC_CHECK_FUNCS(strtoll atoll) @@ -58,10 +58,10 @@ PHP_DATE_CFLAGS="-Wno-implicit-fallthrough -I@ext_builddir@/lib -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -DHAVE_TIMELIB_CONFIG_H=1" timelib_sources="lib/astro.c lib/dow.c lib/parse_date.c lib/parse_tz.c lib/parse_posix.c lib/timelib.c lib/tm2unixtime.c lib/unixtime2tm.c lib/parse_iso_intervals.c lib/interval.c" -diff --git a/ext/date/lib/parse_tz.c b/ext/date/lib/parse_tz.c -index e41315efdb..4b6547c0a3 100644 ---- a/ext/date/lib/parse_tz.c -+++ b/ext/date/lib/parse_tz.c +Index: php-8.2.5/ext/date/lib/parse_tz.c +=================================================================== +--- php-8.2.5.orig/ext/date/lib/parse_tz.c ++++ php-8.2.5/ext/date/lib/parse_tz.c @@ -26,9 +26,22 @@ #include "timelib.h" #include "timelib_private.h" @@ -85,7 +85,7 @@ #if (defined(__APPLE__) || defined(__APPLE_CC__)) && (defined(__BIG_ENDIAN__) || defined(__LITTLE_ENDIAN__)) # if defined(__LITTLE_ENDIAN__) -@@ -95,6 +108,11 @@ static int read_php_preamble(const unsigned char **tzf, timelib_tzinfo *tz) +@@ -95,6 +108,11 @@ static int read_php_preamble(const unsig { uint32_t version; @@ -97,7 +97,7 @@ /* read ID */ version = (*tzf)[3] - '0'; *tzf += 4; -@@ -577,7 +595,467 @@ void timelib_dump_tzinfo(timelib_tzinfo *tz) +@@ -577,7 +595,467 @@ void timelib_dump_tzinfo(timelib_tzinfo } } @@ -165,7 +165,7 @@ + + /* Annoying encoding used by zone.tab has no decimal point, so use + * the length to determine the format: -+ * ++ * + * 4 = DDMM + * 5 = DDDMM + * 6 = DDMMSS @@ -232,10 +232,10 @@ + + if (*p == '#' || *p == '\0' || *p == '\n') + continue; -+ ++ + if (!isalpha(p[0]) || !isalpha(p[1]) || p[2] != '\t') + continue; -+ ++ + /* code => AA */ + code = p; + p[2] = 0; @@ -269,7 +269,7 @@ + + if (*p == '\n' || *p == '\t') + *p = '\0'; -+ ++ + hash = tz_hash(name); + i = malloc(sizeof *i); + memcpy(i->code, code, 2); @@ -289,7 +289,7 @@ + +/* Return location info from hash table, using given timezone name. + * Returns NULL if the name could not be found. */ -+const struct location_info *find_zone_info(struct location_info **li, ++const struct location_info *find_zone_info(struct location_info **li, + const char *name) +{ + uint32_t hash = tz_hash(name); @@ -305,7 +305,7 @@ + } + + return NULL; -+} ++} + +/* Filter out some non-tzdata files and the posix/right databases, if + * present. */ @@ -380,7 +380,7 @@ + dirstack = malloc(dirstack_size * sizeof *dirstack); + dirstack_top = 1; + dirstack[0] = strdup(""); -+ ++ + /* Index array. */ + index_size = 64; + db_index = malloc(index_size * sizeof *db_index); @@ -401,22 +401,22 @@ + struct stat st; + const char *leaf = ents[count - 1]->d_name; + -+ snprintf(name, sizeof name, ZONEINFO_PREFIX "/%s/%s", ++ snprintf(name, sizeof name, ZONEINFO_PREFIX "/%s/%s", + top, leaf); -+ ++ + if (strlen(name) && stat(name, &st) == 0) { + /* Name, relative to the zoneinfo prefix. */ + const char *root = top; + + if (root[0] == '/') root++; + -+ snprintf(name, sizeof name, "%s%s%s", root, ++ snprintf(name, sizeof name, "%s%s%s", root, + *root ? "/": "", leaf); + + if (S_ISDIR(st.st_mode)) { + if (dirstack_top == dirstack_size) { + dirstack_size *= 2; -+ dirstack = realloc(dirstack, ++ dirstack = realloc(dirstack, + dirstack_size * sizeof *dirstack); + } + dirstack[dirstack_top++] = strdup(name); @@ -434,7 +434,7 @@ + + free(ents[--count]); + } -+ ++ + if (count != -1) free(ents); + free(top); + } while (dirstack_top); @@ -456,7 +456,7 @@ +{ + size_t n; + char *data, *p; -+ ++ + data = malloc(3 * sysdb->index_size + sizeof(FAKE_HEADER) - 1); + + p = mempcpy(data, FAKE_HEADER, sizeof(FAKE_HEADER) - 1); @@ -489,7 +489,7 @@ + ent->pos = 0; + } + } -+ ++ + sysdb->data = (unsigned char *)data; +} + @@ -538,7 +538,7 @@ + struct stat st; + char *p; + int fd; -+ ++ + if (timezone[0] == '\0' || strstr(timezone, "..") != NULL) { + return NULL; + } @@ -556,7 +556,7 @@ + *length = st.st_size; + p = mmap(NULL, st.st_size, PROT_READ, MAP_SHARED, fd, 0); + close(fd); -+ ++ + return p != MAP_FAILED ? p : NULL; +} + @@ -566,7 +566,7 @@ { int left = 0, right = tzdb->index_size - 1; -@@ -603,9 +1081,49 @@ static int seek_to_tz_position(const unsigned char **tzf, const char *timezone, +@@ -603,9 +1081,49 @@ static int seek_to_tz_position(const uns return 0; } @@ -616,7 +616,7 @@ } const timelib_tzdb_index_entry *timelib_timezone_identifiers_list(const timelib_tzdb *tzdb, int *count) -@@ -617,7 +1135,30 @@ const timelib_tzdb_index_entry *timelib_timezone_identifiers_list(const timelib_ +@@ -617,7 +1135,30 @@ const timelib_tzdb_index_entry *timelib_ int timelib_timezone_id_is_valid(const char *timezone, const timelib_tzdb *tzdb) { const unsigned char *tzf; @@ -648,7 +648,7 @@ } static int skip_64bit_preamble(const unsigned char **tzf, timelib_tzinfo *tz) -@@ -662,6 +1203,8 @@ static timelib_tzinfo* timelib_tzinfo_ctor(const char *name) +@@ -662,6 +1203,8 @@ static timelib_tzinfo* timelib_tzinfo_ct timelib_tzinfo *timelib_parse_tzfile(const char *timezone, const timelib_tzdb *tzdb, int *error_code) { const unsigned char *tzf; @@ -657,7 +657,7 @@ timelib_tzinfo *tmp; int version; int transitions_result, types_result; -@@ -669,7 +1212,7 @@ timelib_tzinfo *timelib_parse_tzfile(const char *timezone, const timelib_tzdb *t +@@ -669,7 +1212,7 @@ timelib_tzinfo *timelib_parse_tzfile(con *error_code = TIMELIB_ERROR_NO_ERROR; @@ -666,7 +666,7 @@ tmp = timelib_tzinfo_ctor(timezone); version = read_preamble(&tzf, tmp, &type); -@@ -712,11 +1255,36 @@ timelib_tzinfo *timelib_parse_tzfile(const char *timezone, const timelib_tzdb *t +@@ -712,11 +1255,36 @@ timelib_tzinfo *timelib_parse_tzfile(con return NULL; } @@ -703,11 +703,11 @@ } else { *error_code = TIMELIB_ERROR_NO_SUCH_TIMEZONE; tmp = NULL; -diff --git a/ext/date/php_date.c b/ext/date/php_date.c -index cf4a11b8a2..cd49abc78d 100644 ---- a/ext/date/php_date.c -+++ b/ext/date/php_date.c -@@ -457,7 +457,11 @@ PHP_MINFO_FUNCTION(date) +Index: php-8.2.5/ext/date/php_date.c +=================================================================== +--- php-8.2.5.orig/ext/date/php_date.c ++++ php-8.2.5/ext/date/php_date.c +@@ -472,7 +472,11 @@ PHP_MINFO_FUNCTION(date) php_info_print_table_row(2, "date/time support", "enabled"); php_info_print_table_row(2, "timelib version", TIMELIB_ASCII_VERSION); php_info_print_table_row(2, "\"Olson\" Timezone Database Version", tzdb->version); @@ -720,4 +720,3 @@ php_info_print_table_end(); - ++++++ php8.keyring ++++++ ++++ 612 lines (skipped) ++++ between php8.keyring ++++ and /work/SRC/openSUSE:Factory/.php8.new.1533/php8.keyring