From a3a6567c4e3484c5a56df4024861662df42213b3137e55e5f41334db3e9400a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Schr=C3=B6der?= Date: Mon, 17 Jun 2024 10:28:14 +0000 Subject: [PATCH 1/2] Accepting request 1180130 from home:dstoecker:branches:devel:languages:perl I already submitted changes for the few packages which still depend on the manual provides, so we can get rid of this manual legacy stuff. - update to 5.40.0 * New __CLASS__ Keyword * :reader attribute for field variables * Permit a space in -M command-line option * Restrictions to use VERSION declarations * New builtin::inf and builtin::nan functions (experimental) * New ^^ logical xor operator * try/catch feature is no longer experimental * for iterating over multiple values at a time is no longer experimental * builtin module is no longer experimental * The :5.40 feature bundle adds try * use v5.40; imports builtin functions * CVE-2023-47038 - Write past buffer end via illegal user-defined Unicode property * CVE-2023-47039 - Perl for Windows binary hijacking vulnerability * reset EXPR now calls set-magic on scalars * Calling the import method of an unknown package produces a warning * return no longer allows an indirect object * Class barewords no longer resolved as file handles in method calls under no feature "bareword_filehandles" * Using goto to jump from an outer scope into an inner scope is deprecated and will be removed completely in Perl 5.42. [GH #21601] * The negation OPs have been modified to support the generic TARGMY optimization. [GH #21442] - Refresh perl-5.38.0.diff - Drop perl-5.18.2-overflow.diff (no longer applicable) - Drop perl-locale-backport.diff (proper fix in new version) - Drop old manual package name based perl provides OBS-URL: https://build.opensuse.org/request/show/1180130 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl?expand=0&rev=247 --- perl-5.18.2-overflow.diff | 11 ------- perl-5.38.0.diff | 40 +++++++++++------------ perl-5.38.2.tar.xz | 3 -- perl-5.40.0.tar.xz | 3 ++ perl-locale-backport.diff | 14 -------- perl.changes | 31 ++++++++++++++++++ perl.spec | 68 +++------------------------------------ 7 files changed, 58 insertions(+), 112 deletions(-) delete mode 100644 perl-5.18.2-overflow.diff delete mode 100644 perl-5.38.2.tar.xz create mode 100644 perl-5.40.0.tar.xz delete mode 100644 perl-locale-backport.diff diff --git a/perl-5.18.2-overflow.diff b/perl-5.18.2-overflow.diff deleted file mode 100644 index 4919a13..0000000 --- a/perl-5.18.2-overflow.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- ./sv.c.orig 2022-05-21 21:26:59.000000000 +0000 -+++ ./sv.c 2022-06-23 11:53:50.561877702 +0000 -@@ -2002,7 +2002,7 @@ S_sv_2iuv_common(pTHX_ SV *const sv) - #ifndef NV_PRESERVES_UV - && SvIVX(sv) != IV_MIN /* avoid negating IV_MIN below */ - && (((UV)1 << NV_PRESERVES_UV_BITS) > -- (UV)(SvIVX(sv) > 0 ? SvIVX(sv) : -SvIVX(sv))) -+ (UV)(SvIVX(sv) > 0 ? (UV)SvIVX(sv) : -(UV)SvIVX(sv))) - /* Don't flag it as "accurately an integer" if the number - came from a (by definition imprecise) NV operation, and - we're outside the range of NV integer precision */ diff --git a/perl-5.38.0.diff b/perl-5.38.0.diff index b12ee39..f4b810a 100644 --- a/perl-5.38.0.diff +++ b/perl-5.38.0.diff @@ -1,6 +1,6 @@ --- Configure.orig 2023-06-02 01:12:22.000000000 +0000 +++ Configure 2023-07-19 12:31:54.415128119 +0000 -@@ -114,7 +114,7 @@ paths="$paths /usr/5bin /etc /usr/gnu/bi +@@ -114,7 +114,7 @@ paths="$paths /opt/gnu/bin /opt/new /opt/new/bin /opt/nbin" paths="$paths /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/ucb" paths="$paths /bsd4.3/usr/bin /usr/bsd /bsd43/bin /opt/ansic/bin /usr/ccs/bin" @@ -9,7 +9,7 @@ paths="$paths /sbin /usr/sbin /usr/libexec" paths="$paths /system/gnu_library/bin" -@@ -1476,7 +1476,7 @@ loclibpth="/usr/local/lib /opt/local/lib +@@ -1480,7 +1480,7 @@ loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib" : general looking path for locating libraries @@ -18,7 +18,7 @@ glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib" test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth" test -f /shlib/libc.so && glibpth="/shlib $glibpth" -@@ -2581,7 +2581,7 @@ uname +@@ -2585,7 +2585,7 @@ zip " pth=`echo $PATH | sed -e "s/$p_/ /g"` @@ -27,7 +27,7 @@ for file in $loclist; do eval xxx=\$$file case "$xxx" in -@@ -20673,14 +20673,20 @@ int main(int argc, char *argv[]) +@@ -20913,14 +20913,20 @@ } EOCP set try @@ -48,7 +48,7 @@ i_db=$undef case " $libs " in *"-ldb "*) -@@ -20718,7 +20724,7 @@ int main() +@@ -20958,7 +20964,7 @@ } #endif EOCP @@ -57,7 +57,7 @@ if $compiler_warning try.out >>/dev/null 2>&1 ; then db_hashtype='int' else -@@ -20758,7 +20764,7 @@ int main() +@@ -20998,7 +21004,7 @@ } #endif EOCP @@ -66,15 +66,15 @@ if $compiler_warning try.out >>/dev/null 2>&1 ; then db_prefixtype='int' else -@@ -25564,7 +25570,7 @@ passcat='$passcat' +@@ -25806,7 +25812,7 @@ patchlevel='$patchlevel' path_sep='$path_sep' perl5='$perl5' -perl='$perl' +perl='perl' + perl_lc_all_category_positions_init='$perl_lc_all_category_positions_init' + perl_lc_all_separator='$perl_lc_all_separator' perl_patchlevel='$perl_patchlevel' - perl_static_inline='$perl_static_inline' - perl_thread_local='$perl_thread_local' --- SuSE/SuSEconfig.perl.orig 2023-07-19 12:31:54.415128119 +0000 +++ SuSE/SuSEconfig.perl 2023-07-19 12:31:54.415128119 +0000 @@ -0,0 +1,76 @@ @@ -253,16 +253,16 @@ +CREATE_PERLLOCAL_POD="yes" --- cpan/Compress-Raw-Zlib/config.in.orig 2023-05-26 01:05:34.000000000 +0000 +++ cpan/Compress-Raw-Zlib/config.in 2023-07-19 12:31:54.415128119 +0000 -@@ -16,9 +16,9 @@ +@@ -11,9 +11,9 @@ # Setting the Gzip OS Code # -BUILD_ZLIB = True --INCLUDE = ./zlib-src --LIB = ./zlib-src +-ZLIB_INCLUDE = ./zlib-src +-ZLIB_LIB = ./zlib-src +BUILD_ZLIB = False -+INCLUDE = /usr/include -+LIB = /usr/lib ++ZLIB_INCLUDE = /usr/include ++ZLIB_LIB = /usr/lib OLD_ZLIB = False GZIP_OS_CODE = AUTO_DETECT USE_ZLIB_NG = False @@ -357,7 +357,7 @@ # so linking may fail --- hints/linux.sh.orig 2023-05-26 01:05:34.000000000 +0000 +++ hints/linux.sh 2023-07-19 12:31:54.419128114 +0000 -@@ -53,7 +53,7 @@ ignore_versioned_solibs='y' +@@ -53,7 +53,7 @@ # BSD compatibility library no longer needed # 'kaffe' has a /usr/lib/libnet.so which is not at all relevant for perl. # bind causes issues with several reentrant functions @@ -366,7 +366,7 @@ shift libswanted="$*" -@@ -64,6 +64,20 @@ if echo " $libswanted " | grep -q ' gdbm +@@ -64,6 +64,20 @@ libswanted="$libswanted gdbm_compat" fi @@ -387,7 +387,7 @@ # Configure may fail to find lstat() since it's a static/inline # function in . d_lstat=define -@@ -147,6 +161,7 @@ case "$optimize" in +@@ -173,6 +187,7 @@ esac ;; esac @@ -395,7 +395,7 @@ ;; esac -@@ -234,6 +249,33 @@ case "$libc" in +@@ -260,6 +275,33 @@ ;; esac @@ -429,7 +429,7 @@ if ${sh:-/bin/sh} -c exit; then echo '' echo 'You appear to have a working bash. Good.' -@@ -281,6 +323,9 @@ else +@@ -307,6 +349,9 @@ echo "Couldn't find tcsh. Csh-based globbing might be broken." fi fi @@ -439,7 +439,7 @@ # Shimpei Yamashita # Message-Id: <33EF1634.B36B6500@pobox.com> -@@ -391,6 +436,8 @@ $define|true|[yY]*) +@@ -417,6 +462,8 @@ d_localtime_r_proto="$define" d_random_r_proto="$define" diff --git a/perl-5.38.2.tar.xz b/perl-5.38.2.tar.xz deleted file mode 100644 index b6a8799..0000000 --- a/perl-5.38.2.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d91115e90b896520e83d4de6b52f8254ef2b70a8d545ffab33200ea9f1cf29e8 -size 13679524 diff --git a/perl-5.40.0.tar.xz b/perl-5.40.0.tar.xz new file mode 100644 index 0000000..a8963e6 --- /dev/null +++ b/perl-5.40.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5325300ad267624cb0b7d512cfdfcd74fa7fe00c455c5b51a6bd53e5e199ef9 +size 13804184 diff --git a/perl-locale-backport.diff b/perl-locale-backport.diff deleted file mode 100644 index 09c72f5..0000000 --- a/perl-locale-backport.diff +++ /dev/null @@ -1,14 +0,0 @@ ---- locale.c.orig 2023-11-28 11:57:28.000000000 +0000 -+++ locale.c 2024-04-12 11:06:26.236116452 +0000 -@@ -5280,11 +5280,6 @@ Perl_init_i18nl10n(pTHX_ int printwarn) - DEBUG_Lv(PerlIO_printf(Perl_debug_log, "created C object %p\n", - PL_C_locale_obj)); - -- /* Switch to using the POSIX 2008 interface now. This would happen below -- * anyway, but deferring it can lead to leaks of memory that would also get -- * malloc'd in the interim */ -- uselocale(PL_C_locale_obj); -- - # ifdef USE_LOCALE_NUMERIC - - PL_underlying_numeric_obj = duplocale(PL_C_locale_obj); diff --git a/perl.changes b/perl.changes index 021f943..5aa077a 100644 --- a/perl.changes +++ b/perl.changes @@ -1,3 +1,34 @@ +------------------------------------------------------------------- +Tue Jun 11 16:05:14 UTC 2024 - Dirk Stoecker + +- update to 5.40.0 + * New __CLASS__ Keyword + * :reader attribute for field variables + * Permit a space in -M command-line option + * Restrictions to use VERSION declarations + * New builtin::inf and builtin::nan functions (experimental) + * New ^^ logical xor operator + * try/catch feature is no longer experimental + * for iterating over multiple values at a time is no longer experimental + * builtin module is no longer experimental + * The :5.40 feature bundle adds try + * use v5.40; imports builtin functions + * CVE-2023-47038 - Write past buffer end via illegal user-defined Unicode property + * CVE-2023-47039 - Perl for Windows binary hijacking vulnerability + * reset EXPR now calls set-magic on scalars + * Calling the import method of an unknown package produces a warning + * return no longer allows an indirect object + * Class barewords no longer resolved as file handles in method calls + under no feature "bareword_filehandles" + * Using goto to jump from an outer scope into an inner scope is + deprecated and will be removed completely in Perl 5.42. [GH #21601] + * The negation OPs have been modified to support the generic TARGMY + optimization. [GH #21442] +- Refresh perl-5.38.0.diff +- Drop perl-5.18.2-overflow.diff (no longer applicable) +- Drop perl-locale-backport.diff (proper fix in new version) +- Drop old manual package name based perl provides + ------------------------------------------------------------------- Fri Apr 12 13:06:56 CEST 2024 - mls@suse.de diff --git a/perl.spec b/perl.spec index 9989675..2a405e1 100644 --- a/perl.spec +++ b/perl.spec @@ -1,5 +1,5 @@ # -# spec file +# spec file for package perl # # Copyright (c) 2024 SUSE LLC # @@ -23,11 +23,11 @@ %define name_suffix %{nil} %endif -%define pversion 5.38.2 +%define pversion 5.40.0 # set to nil when equal to pversion -%global versionlist 5.38.0 +%global versionlist %{nil} Name: perl%{?name_suffix} -Version: 5.38.2 +Version: 5.40.0 Release: 0 Summary: The Perl interpreter License: Artistic-1.0 OR GPL-1.0-or-later @@ -47,14 +47,12 @@ Patch6: perl-saverecontext.diff Patch7: perl-5.22.0_wrong_rpm_provides.diff Patch8: skip_time_hires.patch Patch9: perl-incfix.diff -Patch11: perl-5.18.2-overflow.diff # PATCH-FIX-OPENSUSE prevent changing package when rebuilding Patch12: perl-reproducible.patch # PATCH-FIX-OPENSUSE skip flaky tests powerpc as bypass https://bugzilla.suse.com/show_bug.cgi?id=1063176 Patch13: perl_skip_flaky_tests_powerpc.patch # PATCH-FIX-UPSTREAM unmerged https://www.nntp.perl.org/group/perl.perl5.porters/2018/12/msg253240.html Patch18: perl-reproducible2.patch -Patch19: perl-locale-backport.diff BuildRequires: db-devel BuildRequires: gdbm-devel BuildRequires: libbz2-devel @@ -65,65 +63,10 @@ BuildRequires: xz BuildRequires: zlib-devel Requires: perl-base = %{version} Suggests: perl-doc = %{version} -Provides: perl-500 -Provides: perl-Archive-Tar = 2.40 Provides: perl(:MODULE_COMPAT_%{pversion}) %if "%{versionlist}" != "" Provides: perl(:MODULE_COMPAT_%{versionlist}) %endif -Obsoletes: perl-Archive-Tar <= 2.40 -Provides: perl-autodie = 2.36 -Obsoletes: perl-autodie <= 2.36 -Provides: perl-Compress-Raw-Zlib = 2.204 -Obsoletes: perl-Compress-Raw-Zlib <= 2.204 -Provides: perl-Compress-Zlib = 2.204 -Obsoletes: perl-Compress-Zlib <= 2.204 -Provides: perl-CPAN-Meta = 2.150010 -Obsoletes: perl-CPAN-Meta <= 2.150010 -Provides: perl-CPAN-Meta-YAML = 0.018 -Obsoletes: perl-CPAN-Meta-YAML <= 0.018 -Provides: perl-ExtUtils-CBuilder = 0.280238 -Obsoletes: perl-ExtUtils-CBuilder <= 0.280238 -Provides: perl-ExtUtils-ParseXS = 3.51 -Obsoletes: perl-ExtUtils-ParseXS <= 3.51 -Provides: perl-Filter-Simple = 0.96 -Obsoletes: perl-Filter-Simple <= 0.96 -Provides: perl-I18N-LangTags = 0.45 -Obsoletes: perl-I18N-LangTags <= 0.45 -Provides: perl-IO-Compress-Base = 2.204 -Obsoletes: perl-IO-Compress-Base <= 2.204 -Provides: perl-IO-Compress-Zlib = 2.204 -Obsoletes: perl-IO-Compress-Zlib <= 2.204 -Provides: perl-IO-Socket-IP = 0.41 -Obsoletes: perl-IO-Socket-IP <= 0.41 -Provides: perl-IO-Zlib = 1.14 -Obsoletes: perl-IO-Zlib <= 1.14 -Provides: perl-libnet = 3.15 -Obsoletes: perl-libnet <= 3.15 -Provides: perl-Locale-Maketext-Simple = 0.21 -Obsoletes: perl-Locale-Maketext-Simple <= 0.21 -Provides: perl-MIME-Base64 = 3.16 -Obsoletes: perl-MIME-Base64 <= 3.16 -Provides: perl-Parse-CPAN-Meta = 2.150010 -Obsoletes: perl-Parse-CPAN-Meta <= 2.150010 -Provides: perl-PathTools = 3.88 -Obsoletes: perl-PathTools <= 3.88 -Provides: perl-Pod-Escapes = 1.07 -Obsoletes: perl-Pod-Escapes <= 1.07 -Provides: perl-Pod-Simple = 3.43 -Obsoletes: perl-Pod-Simple <= 3.43 -Provides: perl-Storable = 3.32 -Obsoletes: perl-Storable <= 3.32 -Provides: perl-Test-Harness = 3.44 -Obsoletes: perl-Test-Harness <= 3.44 -Provides: perl-Test-Simple = 1.302194 -Obsoletes: perl-Test-Simple <= 1.302194 -Provides: perl-Text-Balanced = 2.06 -Obsoletes: perl-Text-Balanced <= 2.06 -Provides: perl-Time-HiRes = 1.9775 -Obsoletes: perl-Time-HiRes <= 1.9775 -Provides: perl-version = 0.9929 -Obsoletes: perl-version <= 0.9929 %if "%{version}" != "%{pversion}" Provides: perl = %{pversion}-%{release} %endif @@ -188,10 +131,8 @@ cp -p %{SOURCE3} . %patch -P 13 %endif %patch -P 9 -p1 -%patch -P 11 %patch -P 12 -p1 %patch -P 18 -%patch -P 19 %build %define _lto_cflags %{nil} @@ -298,7 +239,6 @@ cat << EOF > perl-base-filelist /usr/lib/perl5/%{pversion}/base.pm /usr/lib/perl5/%{pversion}/builtin.pm /usr/lib/perl5/%{pversion}/bytes.pm -/usr/lib/perl5/%{pversion}/bytes_heavy.pl /usr/lib/perl5/%{pversion}/constant.pm /usr/lib/perl5/%{pversion}/fields.pm /usr/lib/perl5/%{pversion}/feature.pm From 4d8d56c3b8a5691568d7de2e49c829cf2e9978b6ceb90249e47395dd7b5564b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Schr=C3=B6der?= Date: Mon, 17 Jun 2024 10:36:47 +0000 Subject: [PATCH 2/2] - move UNIVERSAL.pm into perl-base OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl?expand=0&rev=248 --- perl.changes | 5 +++++ perl.spec | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/perl.changes b/perl.changes index 5aa077a..f88972c 100644 --- a/perl.changes +++ b/perl.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Jun 17 12:36:15 CEST 2024 - mls@suse.de + +- move UNIVERSAL.pm into perl-base + ------------------------------------------------------------------- Tue Jun 11 16:05:14 UTC 2024 - Dirk Stoecker diff --git a/perl.spec b/perl.spec index 2a405e1..cc36b4a 100644 --- a/perl.spec +++ b/perl.spec @@ -1,5 +1,5 @@ # -# spec file for package perl +# spec file # # Copyright (c) 2024 SUSE LLC # @@ -236,6 +236,7 @@ cat << EOF > perl-base-filelist /usr/lib/perl5/%{pversion}/FileHandle.pm /usr/lib/perl5/%{pversion}/SelectSaver.pm /usr/lib/perl5/%{pversion}/Symbol.pm +/usr/lib/perl5/%{pversion}/UNIVERSAL.pm /usr/lib/perl5/%{pversion}/base.pm /usr/lib/perl5/%{pversion}/builtin.pm /usr/lib/perl5/%{pversion}/bytes.pm