From ffbaa94ebd4f8ef5ca15721914e399c474a7f95f Mon Sep 17 00:00:00 2001 From: Jitka Plesnikova Date: Thu, 30 May 2019 08:30:30 +0200 Subject: [PATCH] Upgrade to 5.30.0 --- .gitignore | 1 + gendep.macros | 552 ++++++++---------- perl-5.10.0-x86_64-io-test-failure.patch | 8 +- ...-BigInt-CalcEmu-requires-Math-BigInt.patch | 30 - ...-little-more-careful-in-arybase-_tie.patch | 61 -- ...mbstate_t-initialization-on-threaded.patch | 138 ----- ...-PATCH-perl-133880-assertion-failure.patch | 69 --- ...M_File-t-fatal.t-handle-non-fatality.patch | 80 --- ....1-fix-a-leak-with-indented-heredocs.patch | 53 -- ...leak-when-compiling-typed-hash-deref.patch | 132 ----- ...rt-line-number-for-Prototype-not-ter.patch | 52 -- ...erl-133782-set-magic-when-changing-R.patch | 100 ---- ...892-coredump-in-Perl_re_intuit_start.patch | 79 --- ...locale.c-Fix-conditional-compilation.patch | 56 -- ....h-Add-parens-around-macro-arguments.patch | 33 -- ...gexec.c-Call-macro-with-correct-args.patch | 32 - ...iRes-t-itimer.t-avoid-race-condition.patch | 54 -- ...date-Time-Piece-to-CPAN-version-1.33.patch | 189 ------ ...-for-handle-leaks-from-in-place-edit.patch | 81 --- ...8.c-Make-safer-a-deprecated-function.patch | 49 -- ...-multiconcat-mutator-not-seen-in-lex.patch | 111 ---- ...t-try-to-convert-PL_sv_placeholder-i.patch | 79 --- ...Accept-also-ESTALE-fix-for-RT-133534.patch | 58 -- ...nitialized-value-res-in-numeric-eq-w.patch | 35 -- ...rrect-spelling-error-in-skip-message.patch | 29 - ...ete_common-avoid-undefined-behaviour.patch | 38 -- ...andle-code-mixed-compile-and-runtime.patch | 118 ---- ...-5.29.6-First-eof-should-return-true.patch | 45 -- ...erl-133756-Failure-to-match-properly.patch | 174 ------ ...ent-set-longjmp-clobbering-locals-in.patch | 111 ---- ...21-TODO-test-for-eof-with-no-LAST_FH.patch | 41 -- ...xt_init-fix-potential-race-condition.patch | 68 --- ...9.8-fix-blead-on-non-threaded-builds.patch | 34 -- perl-5.29.8-handle-scope-error-in-qr.patch | 122 ---- ...double-free-in-S_parse_gv_stash_name.patch | 54 -- ...k-assigning-regexp-to-non-COW-string.patch | 109 ---- ...29.9-avoid-leak-with-local-h-foo-a-n.patch | 108 ---- ...5.29.9-fix-leak-in-BEGIN-threads-new.patch | 49 -- ...rl__force_out_malformed_utf8_message.patch | 62 -- perl-5.29.9-fix-leak-in-cloned-regexes.patch | 59 -- ...29.9-fix-leak-in-package-name-lookup.patch | 73 --- ...9.9-fix-leak-with-local-WARNING_BITS.patch | 39 -- perl.spec | 431 +++----------- sources | 2 +- 44 files changed, 334 insertions(+), 3564 deletions(-) delete mode 100644 perl-5.18.1-Document-Math-BigInt-CalcEmu-requires-Math-BigInt.patch delete mode 100644 perl-5.26.0-perl-131588-be-a-little-more-careful-in-arybase-_tie.patch delete mode 100644 perl-5.28.1-Fix-POSIX-mblen-mbstate_t-initialization-on-threaded.patch delete mode 100644 perl-5.28.1-PATCH-perl-133880-assertion-failure.patch delete mode 100644 perl-5.28.1-ext-GDBM_File-t-fatal.t-handle-non-fatality.patch delete mode 100644 perl-5.28.1-fix-a-leak-with-indented-heredocs.patch delete mode 100644 perl-5.28.1-fix-leak-when-compiling-typed-hash-deref.patch delete mode 100644 perl-5.28.1-perl-133524-report-line-number-for-Prototype-not-ter.patch delete mode 100644 perl-5.28.1-perl-133782-set-magic-when-changing-R.patch delete mode 100644 perl-5.28.1-perl-133892-coredump-in-Perl_re_intuit_start.patch delete mode 100644 perl-5.29.0-locale.c-Fix-conditional-compilation.patch delete mode 100644 perl-5.29.0-perl.h-Add-parens-around-macro-arguments.patch delete mode 100644 perl-5.29.0-regexec.c-Call-macro-with-correct-args.patch delete mode 100644 perl-5.29.1-Time-HiRes-t-itimer.t-avoid-race-condition.patch delete mode 100644 perl-5.29.1-Update-Time-Piece-to-CPAN-version-1.33.patch delete mode 100644 perl-5.29.1-perl-133314-test-for-handle-leaks-from-in-place-edit.patch delete mode 100644 perl-5.29.1-utf8.c-Make-safer-a-deprecated-function.patch delete mode 100644 perl-5.29.2-multiconcat-mutator-not-seen-in-lex.patch delete mode 100644 perl-5.29.2-perl-132683-don-t-try-to-convert-PL_sv_placeholder-i.patch delete mode 100644 perl-5.29.3-Accept-also-ESTALE-fix-for-RT-133534.patch delete mode 100644 perl-5.29.5-Avoid-Use-of-uninitialized-value-res-in-numeric-eq-w.patch delete mode 100644 perl-5.29.5-Correct-spelling-error-in-skip-message.patch delete mode 100644 perl-5.29.5-S_hv_delete_common-avoid-undefined-behaviour.patch delete mode 100644 perl-5.29.5-handle-code-mixed-compile-and-runtime.patch delete mode 100644 perl-5.29.6-First-eof-should-return-true.patch delete mode 100644 perl-5.29.6-PATCH-perl-133756-Failure-to-match-properly.patch delete mode 100644 perl-5.29.6-perl-133575-prevent-set-longjmp-clobbering-locals-in.patch delete mode 100644 perl-5.29.6-perl-133721-TODO-test-for-eof-with-no-LAST_FH.patch delete mode 100644 perl-5.29.7-Perl_my_cxt_init-fix-potential-race-condition.patch delete mode 100644 perl-5.29.8-fix-blead-on-non-threaded-builds.patch delete mode 100644 perl-5.29.8-handle-scope-error-in-qr.patch delete mode 100644 perl-5.29.9-Fix-recent-double-free-in-S_parse_gv_stash_name.patch delete mode 100644 perl-5.29.9-avoid-leak-assigning-regexp-to-non-COW-string.patch delete mode 100644 perl-5.29.9-avoid-leak-with-local-h-foo-a-n.patch delete mode 100644 perl-5.29.9-fix-leak-in-BEGIN-threads-new.patch delete mode 100644 perl-5.29.9-fix-leak-in-Perl__force_out_malformed_utf8_message.patch delete mode 100644 perl-5.29.9-fix-leak-in-cloned-regexes.patch delete mode 100644 perl-5.29.9-fix-leak-in-package-name-lookup.patch delete mode 100644 perl-5.29.9-fix-leak-with-local-WARNING_BITS.patch diff --git a/.gitignore b/.gitignore index ad81a9f..f7432e3 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,4 @@ perl-5.12.1.tar.gz /perl-5.28.0.tar.xz /perl-5.28.1.tar.xz /perl-5.28.2.tar.xz +/perl-5.30.0.tar.xz diff --git a/gendep.macros b/gendep.macros index 8f0cf34..aeb7fef 100644 --- a/gendep.macros +++ b/gendep.macros @@ -25,9 +25,9 @@ Requires: perl(constant) \ Requires: perl(strict) \ Requires: perl(vars) \ Requires: perl(warnings) \ -Provides: perl(Archive::Tar) = 2.30 \ -Provides: perl(Archive::Tar::Constant) = 2.30 \ -Provides: perl(Archive::Tar::File) = 2.30 \ +Provides: perl(Archive::Tar) = 2.32 \ +Provides: perl(Archive::Tar::Constant) = 2.32 \ +Provides: perl(Archive::Tar::File) = 2.32 \ %{nil} %global gendep_perl_Attribute_Handlers \ Requires: perl(:VERSION) >= 5.6.0 \ @@ -36,13 +36,6 @@ Requires: perl(strict) \ Requires: perl(warnings) \ Provides: perl(Attribute::Handlers) = 1.01 \ %{nil} -%global gendep_perl_B_Debug \ -Requires: perl(:VERSION) >= 5.6.0 \ -Requires: perl(B) \ -Requires: perl(Config) \ -Requires: perl(strict) \ -Provides: perl(B::Debug) = 1.26 \ -%{nil} %global gendep_perl_CPAN \ Requires: perl(:VERSION) >= 5.6.0 \ Requires: perl(App::Cpan) \ @@ -103,15 +96,15 @@ Requires: perl(overload) \ Requires: perl(strict) \ Requires: perl(vars) \ Requires: perl(warnings) \ -Provides: perl(App::Cpan) = 1.67 \ -Provides: perl(CPAN) = 2.20 \ +Provides: perl(App::Cpan) = 1.672 \ +Provides: perl(CPAN) = 2.22 \ Provides: perl(CPAN::Author) = 5.5002 \ Provides: perl(CPAN::Bundle) = 5.5003 \ Provides: perl(CPAN::CacheMgr) = 5.5002 \ Provides: perl(CPAN::Complete) = 5.5001 \ Provides: perl(CPAN::Debug) = 5.5001 \ Provides: perl(CPAN::DeferredCode) = 5.50 \ -Provides: perl(CPAN::Distribution) = 2.19 \ +Provides: perl(CPAN::Distribution) = 2.22 \ Provides: perl(CPAN::Distroprefs) = 6.0001 \ Provides: perl(CPAN::Distroprefs::Iterator) \ Provides: perl(CPAN::Distroprefs::Pref) \ @@ -138,15 +131,15 @@ Provides: perl(CPAN::InfoObj) = 5.5 \ Provides: perl(CPAN::Kwalify) = 5.50 \ Provides: perl(CPAN::LWP::UserAgent) = 1.9601 \ Provides: perl(CPAN::Mirrored::By) \ -Provides: perl(CPAN::Mirrors) = 2.12 \ +Provides: perl(CPAN::Mirrors) = 2.21 \ Provides: perl(CPAN::Module) = 5.5003 \ Provides: perl(CPAN::Nox) = 5.5001 \ -Provides: perl(CPAN::Plugin) = 0.96 \ -Provides: perl(CPAN::Plugin::Specfile) = 0.01 \ +Provides: perl(CPAN::Plugin) = 0.97 \ +Provides: perl(CPAN::Plugin::Specfile) = 0.02 \ Provides: perl(CPAN::Prompt) = 5.5 \ Provides: perl(CPAN::Queue) = 5.5002 \ Provides: perl(CPAN::Queue::Item) \ -Provides: perl(CPAN::Shell) = 5.5007 \ +Provides: perl(CPAN::Shell) = 5.5008 \ Provides: perl(CPAN::Tarzip) = 5.5012 \ Provides: perl(CPAN::URL) = 5.5 \ Provides: perl(CPAN::Version) = 5.5003 \ @@ -209,7 +202,7 @@ Requires: perl(bytes) \ Requires: perl(constant) \ Requires: perl(strict) \ Requires: perl(warnings) \ -Provides: perl(Compress::Raw::Bzip2) = 2.074 \ +Provides: perl(Compress::Raw::Bzip2) = 2.084 \ %{nil} %global gendep_perl_Compress_Raw_Bzip2_debuginfo \ %{nil} @@ -221,7 +214,7 @@ Requires: perl(bytes) \ Requires: perl(constant) \ Requires: perl(strict) \ Requires: perl(warnings) \ -Provides: perl(Compress::Raw::Zlib) = 2.076 \ +Provides: perl(Compress::Raw::Zlib) = 2.084 \ %{nil} %global gendep_perl_Compress_Raw_Zlib_debuginfo \ %{nil} @@ -231,7 +224,7 @@ Requires: perl(Exporter) \ Requires: perl(strict) \ Requires: perl(vars) \ Requires: perl(warnings) \ -Provides: perl(Config::Perl::V) = 0.29 \ +Provides: perl(Config::Perl::V) = 0.32 \ %{nil} %global gendep_perl_DB_File \ Requires: perl(:VERSION) >= 5.8.3 \ @@ -241,7 +234,7 @@ Requires: perl(File::Spec) \ Requires: perl(Tie::Hash) \ Requires: perl(strict) \ Requires: perl(warnings) \ -Provides: perl(DB_File) = 1.840 \ +Provides: perl(DB_File) = 1.843 \ Provides: perl(DB_File::BTREEINFO) \ Provides: perl(DB_File::HASHINFO) \ Provides: perl(DB_File::RECNOINFO) \ @@ -253,19 +246,19 @@ Requires: perl(:VERSION) >= 5.6.0 \ Requires: perl(Carp) \ Requires: perl(Exporter) \ Requires: perl(constant) \ -Provides: perl(Data::Dumper) = 2.170 \ +Provides: perl(Data::Dumper) = 2.174 \ %{nil} %global gendep_perl_Data_Dumper_debuginfo \ %{nil} %global gendep_perl_Devel_PPPort \ Requires: perl(strict) \ Requires: perl(vars) \ -Provides: perl(Devel::PPPort) = 3.40 \ +Provides: perl(Devel::PPPort) = 3.52 \ %{nil} %global gendep_perl_Devel_Peek \ Requires: perl(Exporter) \ Requires: perl(XSLoader) \ -Provides: perl(Devel::Peek) = 1.27 \ +Provides: perl(Devel::Peek) = 1.28 \ %{nil} %global gendep_perl_Devel_Peek_debuginfo \ %{nil} @@ -302,7 +295,7 @@ Requires: perl(integer) \ Requires: perl(strict) \ Requires: perl(vars) \ Requires: perl(warnings) \ -Provides: perl(Digest::SHA) = 6.01 \ +Provides: perl(Digest::SHA) = 6.02 \ %{nil} %global gendep_perl_Digest_SHA_debuginfo \ %{nil} @@ -338,7 +331,7 @@ Requires: perl(strict) \ Requires: perl(utf8) \ Requires: perl(vars) \ Requires: perl(warnings) \ -Provides: perl(Encode) = 2.97 \ +Provides: perl(Encode) = 3.01 \ Provides: perl(Encode::Alias) = 2.24 \ Provides: perl(Encode::Byte) = 2.4 \ Provides: perl(Encode::CJKConstants) = 2.2 \ @@ -362,7 +355,7 @@ Provides: perl(Encode::MIME::Name) = 1.3 \ Provides: perl(Encode::Symbol) = 2.2 \ Provides: perl(Encode::TW) = 2.3 \ Provides: perl(Encode::UTF_EBCDIC) \ -Provides: perl(Encode::Unicode) = 2.17 \ +Provides: perl(Encode::Unicode) = 2.18 \ Provides: perl(Encode::Unicode::UTF7) = 2.10 \ Provides: perl(Encode::XS) \ Provides: perl(Encode::utf8) \ @@ -389,7 +382,7 @@ Provides: perl(Env::Array::VMS) \ Requires: perl(Config) \ Requires: perl(Exporter) \ Requires: perl(strict) \ -Provides: perl(Errno) = 1.29 \ +Provides: perl(Errno) = 1.30 \ %{nil} %global gendep_perl_Exporter \ Requires: perl(:VERSION) >= 5.6.0 \ @@ -415,21 +408,21 @@ Requires: perl(Text::ParseWords) \ Requires: perl(strict) \ Requires: perl(vars) \ Requires: perl(warnings) \ -Provides: perl(ExtUtils::CBuilder) = 0.280230 \ -Provides: perl(ExtUtils::CBuilder::Base) = 0.280230 \ -Provides: perl(ExtUtils::CBuilder::Platform::Unix) = 0.280230 \ -Provides: perl(ExtUtils::CBuilder::Platform::VMS) = 0.280230 \ -Provides: perl(ExtUtils::CBuilder::Platform::Windows) = 0.280230 \ -Provides: perl(ExtUtils::CBuilder::Platform::Windows::BCC) = 0.280230 \ -Provides: perl(ExtUtils::CBuilder::Platform::Windows::GCC) = 0.280230 \ -Provides: perl(ExtUtils::CBuilder::Platform::Windows::MSVC) = 0.280230 \ -Provides: perl(ExtUtils::CBuilder::Platform::aix) = 0.280230 \ -Provides: perl(ExtUtils::CBuilder::Platform::android) = 0.280230 \ -Provides: perl(ExtUtils::CBuilder::Platform::cygwin) = 0.280230 \ -Provides: perl(ExtUtils::CBuilder::Platform::darwin) = 0.280230 \ -Provides: perl(ExtUtils::CBuilder::Platform::dec_osf) = 0.280230 \ +Provides: perl(ExtUtils::CBuilder) = 0.280231 \ +Provides: perl(ExtUtils::CBuilder::Base) = 0.280231 \ +Provides: perl(ExtUtils::CBuilder::Platform::Unix) = 0.280231 \ +Provides: perl(ExtUtils::CBuilder::Platform::VMS) = 0.280231 \ +Provides: perl(ExtUtils::CBuilder::Platform::Windows) = 0.280231 \ +Provides: perl(ExtUtils::CBuilder::Platform::Windows::BCC) = 0.280231 \ +Provides: perl(ExtUtils::CBuilder::Platform::Windows::GCC) = 0.280231 \ +Provides: perl(ExtUtils::CBuilder::Platform::Windows::MSVC) = 0.280231 \ +Provides: perl(ExtUtils::CBuilder::Platform::aix) = 0.280231 \ +Provides: perl(ExtUtils::CBuilder::Platform::android) = 0.280231 \ +Provides: perl(ExtUtils::CBuilder::Platform::cygwin) = 0.280231 \ +Provides: perl(ExtUtils::CBuilder::Platform::darwin) = 0.280231 \ +Provides: perl(ExtUtils::CBuilder::Platform::dec_osf) = 0.280231 \ Provides: perl(ExtUtils::CBuilder::Platform::linux) = 0.280206 \ -Provides: perl(ExtUtils::CBuilder::Platform::os2) = 0.280230 \ +Provides: perl(ExtUtils::CBuilder::Platform::os2) = 0.280231 \ %{nil} %global gendep_perl_ExtUtils_Command \ Requires: perl(:VERSION) >= 5.5.30 \ @@ -542,13 +535,13 @@ Requires: perl(File::Find) \ Requires: perl(File::Spec) >= 0.8 \ Requires: perl(strict) \ Requires: perl(warnings) \ -Provides: perl(ExtUtils::Manifest) = 1.70 \ +Provides: perl(ExtUtils::Manifest) = 1.72 \ %{nil} %global gendep_perl_ExtUtils_Miniperl \ Requires: perl(Exporter) \ Requires: perl(ExtUtils::Embed) >= 1.31 \ Requires: perl(strict) \ -Provides: perl(ExtUtils::Miniperl) = 1.08 \ +Provides: perl(ExtUtils::Miniperl) = 1.09 \ %{nil} %global gendep_perl_ExtUtils_ParseXS \ Requires: perl(:VERSION) >= 5.6.0 \ @@ -570,11 +563,11 @@ Requires: perl(Symbol) \ Requires: perl(re) \ Requires: perl(strict) \ Requires: perl(warnings) \ -Provides: perl(ExtUtils::ParseXS) = 3.39 \ -Provides: perl(ExtUtils::ParseXS::Constants) = 3.39 \ -Provides: perl(ExtUtils::ParseXS::CountLines) = 3.39 \ -Provides: perl(ExtUtils::ParseXS::Eval) = 3.39 \ -Provides: perl(ExtUtils::ParseXS::Utilities) = 3.39 \ +Provides: perl(ExtUtils::ParseXS) = 3.40 \ +Provides: perl(ExtUtils::ParseXS::Constants) = 3.40 \ +Provides: perl(ExtUtils::ParseXS::CountLines) = 3.40 \ +Provides: perl(ExtUtils::ParseXS::Eval) = 3.40 \ +Provides: perl(ExtUtils::ParseXS::Utilities) = 3.40 \ Provides: perl(ExtUtils::Typemaps) = 3.38 \ Provides: perl(ExtUtils::Typemaps::Cmd) = 3.38 \ Provides: perl(ExtUtils::Typemaps::InputMap) = 3.38 \ @@ -608,7 +601,7 @@ Requires: perl(File::Basename) \ Requires: perl(File::Spec) \ Requires: perl(strict) \ Requires: perl(vars) \ -Provides: perl(File::Path) = 2.15 \ +Provides: perl(File::Path) = 2.16 \ %{nil} %global gendep_perl_File_Temp \ Requires: perl(:VERSION) >= 5.6.0 \ @@ -627,9 +620,7 @@ Requires: perl(constant) \ Requires: perl(overload) \ Requires: perl(parent) >= 0.221 \ Requires: perl(strict) \ -Requires: perl(vars) \ -Provides: perl(File::Temp) = 0.2304 \ -Provides: perl(File::Temp::Dir) \ +Provides: perl(File::Temp) = 0.2309 \ %{nil} %global gendep_perl_Filter \ Requires: perl(:VERSION) >= 5.6.0 \ @@ -637,7 +628,7 @@ Requires: perl(Exporter) \ Requires: perl(XSLoader) \ Requires: perl(strict) \ Requires: perl(warnings) \ -Provides: perl(Filter::Util::Call) = 1.58 \ +Provides: perl(Filter::Util::Call) = 1.59 \ %{nil} %global gendep_perl_Filter_Simple \ Requires: perl(Carp) \ @@ -665,7 +656,7 @@ Requires: perl(IO::Socket) \ Requires: perl(Socket) \ Requires: perl(strict) \ Requires: perl(warnings) \ -Provides: perl(HTTP::Tiny) = 0.070 \ +Provides: perl(HTTP::Tiny) = 0.076 \ %{nil} %global gendep_perl_IO \ Requires: perl(:VERSION) >= 5.8.0 \ @@ -690,51 +681,51 @@ Requires: perl(XSLoader) \ Requires: perl(strict) \ Requires: perl(warnings) \ Requires: perl(warnings::register) \ -Provides: perl(IO) = 1.39 \ -Provides: perl(IO::Dir) = 1.39 \ -Provides: perl(IO::File) = 1.39 \ -Provides: perl(IO::Handle) = 1.39 \ -Provides: perl(IO::Pipe) = 1.39 \ +Provides: perl(IO) = 1.40 \ +Provides: perl(IO::Dir) = 1.40 \ +Provides: perl(IO::File) = 1.40 \ +Provides: perl(IO::Handle) = 1.40 \ +Provides: perl(IO::Pipe) = 1.40 \ Provides: perl(IO::Pipe::End) \ -Provides: perl(IO::Poll) = 1.39 \ -Provides: perl(IO::Seekable) = 1.39 \ -Provides: perl(IO::Select) = 1.39 \ -Provides: perl(IO::Socket) = 1.39 \ -Provides: perl(IO::Socket::INET) = 1.39 \ -Provides: perl(IO::Socket::UNIX) = 1.39 \ +Provides: perl(IO::Poll) = 1.40 \ +Provides: perl(IO::Seekable) = 1.40 \ +Provides: perl(IO::Select) = 1.40 \ +Provides: perl(IO::Socket) = 1.40 \ +Provides: perl(IO::Socket::INET) = 1.40 \ +Provides: perl(IO::Socket::UNIX) = 1.40 \ %{nil} %global gendep_perl_IO_Compress \ Requires: perl(:VERSION) >= 5.6.0 \ Requires: perl(Carp) \ -Requires: perl(Compress::Raw::Bzip2) >= 2.074 \ -Requires: perl(Compress::Raw::Zlib) >= 2.074 \ +Requires: perl(Compress::Raw::Bzip2) >= 2.084 \ +Requires: perl(Compress::Raw::Zlib) >= 2.084 \ Requires: perl(Config) \ Requires: perl(Encode) \ Requires: perl(Exporter) \ Requires: perl(Fcntl) \ Requires: perl(File::GlobMapper) \ Requires: perl(File::Spec) \ -Requires: perl(IO::Compress::Adapter::Bzip2) >= 2.074 \ -Requires: perl(IO::Compress::Adapter::Deflate) >= 2.074 \ -Requires: perl(IO::Compress::Adapter::Identity) >= 2.074 \ -Requires: perl(IO::Compress::Base) >= 2.074 \ -Requires: perl(IO::Compress::Base::Common) >= 2.074 \ -Requires: perl(IO::Compress::Gzip) >= 2.074 \ -Requires: perl(IO::Compress::Gzip::Constants) >= 2.074 \ -Requires: perl(IO::Compress::RawDeflate) >= 2.074 \ -Requires: perl(IO::Compress::Zip::Constants) >= 2.074 \ -Requires: perl(IO::Compress::Zlib::Constants) >= 2.074 \ -Requires: perl(IO::Compress::Zlib::Extra) >= 2.074 \ +Requires: perl(IO::Compress::Adapter::Bzip2) >= 2.084 \ +Requires: perl(IO::Compress::Adapter::Deflate) >= 2.084 \ +Requires: perl(IO::Compress::Adapter::Identity) >= 2.084 \ +Requires: perl(IO::Compress::Base) >= 2.084 \ +Requires: perl(IO::Compress::Base::Common) >= 2.084 \ +Requires: perl(IO::Compress::Gzip) >= 2.084 \ +Requires: perl(IO::Compress::Gzip::Constants) >= 2.084 \ +Requires: perl(IO::Compress::RawDeflate) >= 2.084 \ +Requires: perl(IO::Compress::Zip::Constants) >= 2.084 \ +Requires: perl(IO::Compress::Zlib::Constants) >= 2.084 \ +Requires: perl(IO::Compress::Zlib::Extra) >= 2.084 \ Requires: perl(IO::File) \ Requires: perl(IO::Handle) \ -Requires: perl(IO::Uncompress::Adapter::Bunzip2) >= 2.074 \ -Requires: perl(IO::Uncompress::Adapter::Identity) >= 2.074 \ -Requires: perl(IO::Uncompress::Adapter::Inflate) >= 2.074 \ -Requires: perl(IO::Uncompress::Base) >= 2.074 \ -Requires: perl(IO::Uncompress::Gunzip) >= 2.074 \ -Requires: perl(IO::Uncompress::Inflate) >= 2.074 \ -Requires: perl(IO::Uncompress::RawInflate) >= 2.074 \ -Requires: perl(IO::Uncompress::Unzip) >= 2.074 \ +Requires: perl(IO::Uncompress::Adapter::Bunzip2) >= 2.084 \ +Requires: perl(IO::Uncompress::Adapter::Identity) >= 2.084 \ +Requires: perl(IO::Uncompress::Adapter::Inflate) >= 2.084 \ +Requires: perl(IO::Uncompress::Base) >= 2.084 \ +Requires: perl(IO::Uncompress::Gunzip) >= 2.084 \ +Requires: perl(IO::Uncompress::Inflate) >= 2.084 \ +Requires: perl(IO::Uncompress::RawInflate) >= 2.084 \ +Requires: perl(IO::Uncompress::Unzip) >= 2.084 \ Requires: perl(List::Util) \ Requires: perl(POSIX) \ Requires: perl(Scalar::Util) \ @@ -744,34 +735,34 @@ Requires: perl(constant) \ Requires: perl(strict) \ Requires: perl(utf8) \ Requires: perl(warnings) \ -Provides: perl(Compress::Zlib) = 2.074 \ -Provides: perl(File::GlobMapper) = 1.000 \ -Provides: perl(IO::Compress::Adapter::Bzip2) = 2.074 \ -Provides: perl(IO::Compress::Adapter::Deflate) = 2.074 \ -Provides: perl(IO::Compress::Adapter::Identity) = 2.074 \ -Provides: perl(IO::Compress::Base) = 2.074 \ -Provides: perl(IO::Compress::Base::Common) = 2.074 \ -Provides: perl(IO::Compress::Bzip2) = 2.074 \ -Provides: perl(IO::Compress::Deflate) = 2.074 \ -Provides: perl(IO::Compress::Gzip) = 2.074 \ -Provides: perl(IO::Compress::Gzip::Constants) = 2.074 \ -Provides: perl(IO::Compress::RawDeflate) = 2.074 \ -Provides: perl(IO::Compress::Zip) = 2.074 \ -Provides: perl(IO::Compress::Zip::Constants) = 2.074 \ -Provides: perl(IO::Compress::Zlib::Constants) = 2.074 \ -Provides: perl(IO::Compress::Zlib::Extra) = 2.074 \ -Provides: perl(IO::Uncompress::Adapter::Bunzip2) = 2.074 \ -Provides: perl(IO::Uncompress::Adapter::Identity) = 2.074 \ -Provides: perl(IO::Uncompress::Adapter::Inflate) = 2.074 \ -Provides: perl(IO::Uncompress::AnyInflate) = 2.074 \ -Provides: perl(IO::Uncompress::AnyUncompress) = 2.074 \ -Provides: perl(IO::Uncompress::Base) = 2.074 \ +Provides: perl(Compress::Zlib) = 2.084 \ +Provides: perl(File::GlobMapper) = 1.001 \ +Provides: perl(IO::Compress::Adapter::Bzip2) = 2.084 \ +Provides: perl(IO::Compress::Adapter::Deflate) = 2.084 \ +Provides: perl(IO::Compress::Adapter::Identity) = 2.084 \ +Provides: perl(IO::Compress::Base) = 2.084 \ +Provides: perl(IO::Compress::Base::Common) = 2.084 \ +Provides: perl(IO::Compress::Bzip2) = 2.084 \ +Provides: perl(IO::Compress::Deflate) = 2.084 \ +Provides: perl(IO::Compress::Gzip) = 2.084 \ +Provides: perl(IO::Compress::Gzip::Constants) = 2.084 \ +Provides: perl(IO::Compress::RawDeflate) = 2.084 \ +Provides: perl(IO::Compress::Zip) = 2.084 \ +Provides: perl(IO::Compress::Zip::Constants) = 2.084 \ +Provides: perl(IO::Compress::Zlib::Constants) = 2.084 \ +Provides: perl(IO::Compress::Zlib::Extra) = 2.084 \ +Provides: perl(IO::Uncompress::Adapter::Bunzip2) = 2.084 \ +Provides: perl(IO::Uncompress::Adapter::Identity) = 2.084 \ +Provides: perl(IO::Uncompress::Adapter::Inflate) = 2.084 \ +Provides: perl(IO::Uncompress::AnyInflate) = 2.084 \ +Provides: perl(IO::Uncompress::AnyUncompress) = 2.084 \ +Provides: perl(IO::Uncompress::Base) = 2.084 \ Provides: perl(IO::Uncompress::Bunzip2) \ -Provides: perl(IO::Uncompress::Bunzip2) = 2.074 \ -Provides: perl(IO::Uncompress::Gunzip) = 2.074 \ -Provides: perl(IO::Uncompress::Inflate) = 2.074 \ -Provides: perl(IO::Uncompress::RawInflate) = 2.074 \ -Provides: perl(IO::Uncompress::Unzip) = 2.074 \ +Provides: perl(IO::Uncompress::Bunzip2) = 2.084 \ +Provides: perl(IO::Uncompress::Gunzip) = 2.084 \ +Provides: perl(IO::Uncompress::Inflate) = 2.084 \ +Provides: perl(IO::Uncompress::RawInflate) = 2.084 \ +Provides: perl(IO::Uncompress::Unzip) = 2.084 \ Provides: perl(U64) \ Provides: perl(Zlib::OldDeflate) \ Provides: perl(Zlib::OldInflate) \ @@ -813,7 +804,7 @@ Requires: perl(Text::ParseWords) \ Requires: perl(constant) \ Requires: perl(strict) \ Requires: perl(vars) \ -Provides: perl(IPC::Cmd) = 1.00 \ +Provides: perl(IPC::Cmd) = 1.02 \ %{nil} %global gendep_perl_IPC_SysV \ Requires: perl(Carp) \ @@ -844,37 +835,10 @@ Requires: perl(bytes) \ Requires: perl(constant) \ Requires: perl(overload) \ Requires: perl(strict) \ -Provides: perl(JSON::PP) = 2.97001 \ -Provides: perl(JSON::PP::Boolean) = 2.97001 \ +Provides: perl(JSON::PP) = 4.02 \ +Provides: perl(JSON::PP::Boolean) = 4.02 \ Provides: perl(JSON::PP::IncrParser) = 1.01 \ %{nil} -%global gendep_perl_Locale_Codes \ -Requires: perl(:VERSION) >= 5.2.0 \ -Requires: perl(:VERSION) >= 5.6.0 \ -Requires: perl(Carp) \ -Requires: perl(Exporter) \ -Requires: perl(Locale::Codes) \ -Requires: perl(Locale::Codes::Constants) \ -Requires: perl(constant) \ -Requires: perl(if) \ -Requires: perl(strict) \ -Requires: perl(utf8) \ -Requires: perl(warnings) \ -Provides: perl(Locale::Codes) = 3.25 \ -Provides: perl(Locale::Codes) = 3.56 \ -Provides: perl(Locale::Codes::Constants) = 3.56 \ -Provides: perl(Locale::Codes::Country) = 3.56 \ -Provides: perl(Locale::Codes::Currency) = 3.56 \ -Provides: perl(Locale::Codes::LangExt) = 3.56 \ -Provides: perl(Locale::Codes::LangFam) = 3.56 \ -Provides: perl(Locale::Codes::LangVar) = 3.56 \ -Provides: perl(Locale::Codes::Language) = 3.56 \ -Provides: perl(Locale::Codes::Script) = 3.56 \ -Provides: perl(Locale::Country) = 3.56 \ -Provides: perl(Locale::Currency) = 3.56 \ -Provides: perl(Locale::Language) = 3.56 \ -Provides: perl(Locale::Script) = 3.56 \ -%{nil} %global gendep_perl_Locale_Maketext \ Requires: perl(Carp) \ Requires: perl(I18N::LangTags) \ @@ -915,11 +879,10 @@ Requires: perl(integer) \ Requires: perl(overload) \ Requires: perl(strict) \ Requires: perl(warnings) \ -Provides: perl(Math::BigFloat) = 1.999811 \ -Provides: perl(Math::BigInt) = 1.999811 \ -Provides: perl(Math::BigInt::Calc) = 1.999811 \ -Provides: perl(Math::BigInt::CalcEmu) = 1.999811 \ -Provides: perl(Math::BigInt::Lib) = 1.999811 \ +Provides: perl(Math::BigFloat) = 1.999816 \ +Provides: perl(Math::BigInt) = 1.999816 \ +Provides: perl(Math::BigInt::Calc) = 1.999816 \ +Provides: perl(Math::BigInt::Lib) = 1.999816 \ %{nil} %global gendep_perl_Math_BigInt_FastCalc \ Requires: perl(:VERSION) >= 5.6.0 \ @@ -927,7 +890,7 @@ Requires: perl(Math::BigInt::Calc) >= 1.999801 \ Requires: perl(XSLoader) \ Requires: perl(strict) \ Requires: perl(warnings) \ -Provides: perl(Math::BigInt::FastCalc) = 0.5006 \ +Provides: perl(Math::BigInt::FastCalc) = 0.5008 \ %{nil} %global gendep_perl_Math_BigInt_FastCalc_debuginfo \ %{nil} @@ -938,7 +901,7 @@ Requires: perl(Math::BigFloat) >= 1.999718 \ Requires: perl(overload) \ Requires: perl(strict) \ Requires: perl(warnings) \ -Provides: perl(Math::BigRat) = 0.2613 \ +Provides: perl(Math::BigRat) = 0.2614 \ %{nil} %global gendep_perl_Math_Complex \ Requires: perl(Config) \ @@ -974,8 +937,8 @@ Requires: perl(Module::CoreList) \ Requires: perl(strict) \ Requires: perl(version) \ Requires: perl(warnings) \ -Provides: perl(Module::CoreList) = 5.20180622 \ -Provides: perl(Module::CoreList::Utils) = 5.20180622 \ +Provides: perl(Module::CoreList) = 5.20190522 \ +Provides: perl(Module::CoreList::Utils) = 5.20190522 \ %{nil} %global gendep_perl_Module_CoreList_tools \ Requires: perl(Getopt::Long) \ @@ -989,7 +952,7 @@ Requires: perl(warnings) \ Requires: perl(File::Spec) \ Requires: perl(strict) \ Requires: perl(warnings) \ -Provides: perl(Module::Load) = 0.32 \ +Provides: perl(Module::Load) = 0.34 \ %{nil} %global gendep_perl_Module_Load_Conditional \ Requires: perl(Carp) \ @@ -1019,7 +982,7 @@ Requires: perl(File::Spec) \ Requires: perl(strict) \ Requires: perl(version) >= 0.87 \ Requires: perl(warnings) \ -Provides: perl(Module::Metadata) = 1.000033 \ +Provides: perl(Module::Metadata) = 1.000036 \ %{nil} %global gendep_perl_Net_Ping \ Requires: perl(:VERSION) >= 5.2.0 \ @@ -1032,7 +995,7 @@ Requires: perl(Socket) \ Requires: perl(Time::HiRes) \ Requires: perl(constant) \ Requires: perl(strict) \ -Provides: perl(Net::Ping) = 2.62 \ +Provides: perl(Net::Ping) = 2.71 \ %{nil} %global gendep_perl_Params_Check \ Requires: perl(Carp) \ @@ -1049,16 +1012,16 @@ Requires: perl(File::Spec) \ Requires: perl(File::Spec::Unix) \ Requires: perl(constant) \ Requires: perl(strict) \ -Provides: perl(Cwd) = 3.74 \ -Provides: perl(File::Spec) = 3.74 \ -Provides: perl(File::Spec::AmigaOS) = 3.74 \ -Provides: perl(File::Spec::Cygwin) = 3.74 \ -Provides: perl(File::Spec::Epoc) = 3.74 \ -Provides: perl(File::Spec::Functions) = 3.74 \ -Provides: perl(File::Spec::Mac) = 3.74 \ -Provides: perl(File::Spec::OS2) = 3.74 \ -Provides: perl(File::Spec::Unix) = 3.74 \ -Provides: perl(File::Spec::Win32) = 3.74 \ +Provides: perl(Cwd) = 3.78 \ +Provides: perl(File::Spec) = 3.78 \ +Provides: perl(File::Spec::AmigaOS) = 3.78 \ +Provides: perl(File::Spec::Cygwin) = 3.78 \ +Provides: perl(File::Spec::Epoc) = 3.78 \ +Provides: perl(File::Spec::Functions) = 3.78 \ +Provides: perl(File::Spec::Mac) = 3.78 \ +Provides: perl(File::Spec::OS2) = 3.78 \ +Provides: perl(File::Spec::Unix) = 3.78 \ +Provides: perl(File::Spec::Win32) = 3.78 \ %{nil} %global gendep_perl_PathTools_debuginfo \ %{nil} @@ -1280,9 +1243,10 @@ Provides: perl(Socket) = 2.027 \ %global gendep_perl_Socket_debuginfo \ %{nil} %global gendep_perl_Storable \ +Requires: perl(Carp) \ Requires: perl(Exporter) \ Requires: perl(XSLoader) \ -Provides: perl(Storable) = 3.08 \ +Provides: perl(Storable) = 3.15 \ %{nil} %global gendep_perl_Storable_debuginfo \ %{nil} @@ -1490,72 +1454,73 @@ Requires: perl(base) \ Requires: perl(strict) \ Requires: perl(vars) \ Requires: perl(warnings) \ -Provides: perl(Test2) = 1.302133 \ -Provides: perl(Test2::API) = 1.302133 \ -Provides: perl(Test2::API::Breakage) = 1.302133 \ -Provides: perl(Test2::API::Context) = 1.302133 \ -Provides: perl(Test2::API::Instance) = 1.302133 \ -Provides: perl(Test2::API::Stack) = 1.302133 \ -Provides: perl(Test2::Event) = 1.302133 \ -Provides: perl(Test2::Event::Bail) = 1.302133 \ -Provides: perl(Test2::Event::Diag) = 1.302133 \ -Provides: perl(Test2::Event::Encoding) = 1.302133 \ -Provides: perl(Test2::Event::Exception) = 1.302133 \ -Provides: perl(Test2::Event::Fail) = 1.302133 \ -Provides: perl(Test2::Event::Generic) = 1.302133 \ -Provides: perl(Test2::Event::Note) = 1.302133 \ -Provides: perl(Test2::Event::Ok) = 1.302133 \ -Provides: perl(Test2::Event::Pass) = 1.302133 \ -Provides: perl(Test2::Event::Plan) = 1.302133 \ -Provides: perl(Test2::Event::Skip) = 1.302133 \ -Provides: perl(Test2::Event::Subtest) = 1.302133 \ -Provides: perl(Test2::Event::TAP::Version) = 1.302133 \ -Provides: perl(Test2::Event::V2) = 1.302133 \ -Provides: perl(Test2::Event::Waiting) = 1.302133 \ -Provides: perl(Test2::EventFacet) = 1.302133 \ -Provides: perl(Test2::EventFacet::About) = 1.302133 \ -Provides: perl(Test2::EventFacet::Amnesty) = 1.302133 \ -Provides: perl(Test2::EventFacet::Assert) = 1.302133 \ -Provides: perl(Test2::EventFacet::Control) = 1.302133 \ -Provides: perl(Test2::EventFacet::Error) = 1.302133 \ -Provides: perl(Test2::EventFacet::Hub) = 1.302133 \ -Provides: perl(Test2::EventFacet::Info) = 1.302133 \ -Provides: perl(Test2::EventFacet::Meta) = 1.302133 \ -Provides: perl(Test2::EventFacet::Parent) = 1.302133 \ -Provides: perl(Test2::EventFacet::Plan) = 1.302133 \ -Provides: perl(Test2::EventFacet::Render) = 1.302133 \ -Provides: perl(Test2::EventFacet::Trace) = 1.302133 \ -Provides: perl(Test2::Formatter) = 1.302133 \ -Provides: perl(Test2::Formatter::TAP) = 1.302133 \ -Provides: perl(Test2::Hub) = 1.302133 \ -Provides: perl(Test2::Hub::Interceptor) = 1.302133 \ -Provides: perl(Test2::Hub::Interceptor::Terminator) = 1.302133 \ -Provides: perl(Test2::Hub::Subtest) = 1.302133 \ -Provides: perl(Test2::IPC) = 1.302133 \ -Provides: perl(Test2::IPC::Driver) = 1.302133 \ -Provides: perl(Test2::IPC::Driver::Files) = 1.302133 \ -Provides: perl(Test2::Tools::Tiny) = 1.302133 \ -Provides: perl(Test2::Util) = 1.302133 \ -Provides: perl(Test2::Util::ExternalMeta) = 1.302133 \ -Provides: perl(Test2::Util::Facets2Legacy) = 1.302133 \ -Provides: perl(Test2::Util::HashBase) = 1.302133 \ -Provides: perl(Test2::Util::Trace) = 1.302133 \ -Provides: perl(Test::Builder) = 1.302133 \ -Provides: perl(Test::Builder::Formatter) = 1.302133 \ +Provides: perl(Test2) = 1.302162 \ +Provides: perl(Test2::API) = 1.302162 \ +Provides: perl(Test2::API::Breakage) = 1.302162 \ +Provides: perl(Test2::API::Context) = 1.302162 \ +Provides: perl(Test2::API::Instance) = 1.302162 \ +Provides: perl(Test2::API::Stack) = 1.302162 \ +Provides: perl(Test2::Event) = 1.302162 \ +Provides: perl(Test2::Event::Bail) = 1.302162 \ +Provides: perl(Test2::Event::Diag) = 1.302162 \ +Provides: perl(Test2::Event::Encoding) = 1.302162 \ +Provides: perl(Test2::Event::Exception) = 1.302162 \ +Provides: perl(Test2::Event::Fail) = 1.302162 \ +Provides: perl(Test2::Event::Generic) = 1.302162 \ +Provides: perl(Test2::Event::Note) = 1.302162 \ +Provides: perl(Test2::Event::Ok) = 1.302162 \ +Provides: perl(Test2::Event::Pass) = 1.302162 \ +Provides: perl(Test2::Event::Plan) = 1.302162 \ +Provides: perl(Test2::Event::Skip) = 1.302162 \ +Provides: perl(Test2::Event::Subtest) = 1.302162 \ +Provides: perl(Test2::Event::TAP::Version) = 1.302162 \ +Provides: perl(Test2::Event::V2) = 1.302162 \ +Provides: perl(Test2::Event::Waiting) = 1.302162 \ +Provides: perl(Test2::EventFacet) = 1.302162 \ +Provides: perl(Test2::EventFacet::About) = 1.302162 \ +Provides: perl(Test2::EventFacet::Amnesty) = 1.302162 \ +Provides: perl(Test2::EventFacet::Assert) = 1.302162 \ +Provides: perl(Test2::EventFacet::Control) = 1.302162 \ +Provides: perl(Test2::EventFacet::Error) = 1.302162 \ +Provides: perl(Test2::EventFacet::Hub) = 1.302162 \ +Provides: perl(Test2::EventFacet::Info) = 1.302162 \ +Provides: perl(Test2::EventFacet::Info::Table) \ +Provides: perl(Test2::EventFacet::Meta) = 1.302162 \ +Provides: perl(Test2::EventFacet::Parent) = 1.302162 \ +Provides: perl(Test2::EventFacet::Plan) = 1.302162 \ +Provides: perl(Test2::EventFacet::Render) = 1.302162 \ +Provides: perl(Test2::EventFacet::Trace) = 1.302162 \ +Provides: perl(Test2::Formatter) = 1.302162 \ +Provides: perl(Test2::Formatter::TAP) = 1.302162 \ +Provides: perl(Test2::Hub) = 1.302162 \ +Provides: perl(Test2::Hub::Interceptor) = 1.302162 \ +Provides: perl(Test2::Hub::Interceptor::Terminator) = 1.302162 \ +Provides: perl(Test2::Hub::Subtest) = 1.302162 \ +Provides: perl(Test2::IPC) = 1.302162 \ +Provides: perl(Test2::IPC::Driver) = 1.302162 \ +Provides: perl(Test2::IPC::Driver::Files) = 1.302162 \ +Provides: perl(Test2::Tools::Tiny) = 1.302162 \ +Provides: perl(Test2::Util) = 1.302162 \ +Provides: perl(Test2::Util::ExternalMeta) = 1.302162 \ +Provides: perl(Test2::Util::Facets2Legacy) = 1.302162 \ +Provides: perl(Test2::Util::HashBase) = 1.302162 \ +Provides: perl(Test2::Util::Trace) = 1.302162 \ +Provides: perl(Test::Builder) = 1.302162 \ +Provides: perl(Test::Builder::Formatter) = 1.302162 \ Provides: perl(Test::Builder::IO::Scalar) = 2.114 \ -Provides: perl(Test::Builder::Module) = 1.302133 \ -Provides: perl(Test::Builder::Tester) = 1.302133 \ -Provides: perl(Test::Builder::Tester::Color) = 1.302133 \ +Provides: perl(Test::Builder::Module) = 1.302162 \ +Provides: perl(Test::Builder::Tester) = 1.302162 \ +Provides: perl(Test::Builder::Tester::Color) = 1.302162 \ Provides: perl(Test::Builder::Tester::Tie) \ -Provides: perl(Test::Builder::TodoDiag) = 1.302133 \ -Provides: perl(Test::More) = 1.302133 \ -Provides: perl(Test::Simple) = 1.302133 \ -Provides: perl(Test::Tester) = 1.302133 \ -Provides: perl(Test::Tester::Capture) = 1.302133 \ -Provides: perl(Test::Tester::CaptureRunner) = 1.302133 \ -Provides: perl(Test::Tester::Delegate) = 1.302133 \ -Provides: perl(Test::use::ok) = 1.302133 \ -Provides: perl(ok) = 1.302133 \ +Provides: perl(Test::Builder::TodoDiag) = 1.302162 \ +Provides: perl(Test::More) = 1.302162 \ +Provides: perl(Test::Simple) = 1.302162 \ +Provides: perl(Test::Tester) = 1.302162 \ +Provides: perl(Test::Tester::Capture) = 1.302162 \ +Provides: perl(Test::Tester::CaptureRunner) = 1.302162 \ +Provides: perl(Test::Tester::Delegate) = 1.302162 \ +Provides: perl(Test::use::ok) = 1.302162 \ +Provides: perl(ok) = 1.302162 \ %{nil} %global gendep_perl_Text_Balanced \ Requires: perl(:VERSION) >= 5.5.0 \ @@ -1591,13 +1556,13 @@ Requires: perl(Scalar::Util) >= 1.10 \ Requires: perl(strict) \ Requires: perl(threads::shared) >= 1.21 \ Requires: perl(warnings) \ -Provides: perl(Thread::Queue) = 3.12 \ +Provides: perl(Thread::Queue) = 3.13 \ %{nil} %global gendep_perl_Time_HiRes \ Requires: perl(Exporter) \ Requires: perl(XSLoader) \ Requires: perl(strict) \ -Provides: perl(Time::HiRes) = 1.9759 \ +Provides: perl(Time::HiRes) = 1.9760 \ %{nil} %global gendep_perl_Time_HiRes_debuginfo \ %{nil} @@ -1607,7 +1572,7 @@ Requires: perl(Exporter) \ Requires: perl(constant) \ Requires: perl(parent) \ Requires: perl(strict) \ -Provides: perl(Time::Local) = 1.25 \ +Provides: perl(Time::Local) = 1.28 \ %{nil} %global gendep_perl_Time_Piece \ Requires: perl(Carp) \ @@ -1635,15 +1600,15 @@ Requires: perl(base) \ Requires: perl(constant) \ Requires: perl(strict) \ Requires: perl(warnings) \ -Provides: perl(Unicode::Collate) = 1.25 \ -Provides: perl(Unicode::Collate::CJK::Big5) = 1.25 \ -Provides: perl(Unicode::Collate::CJK::GB2312) = 1.25 \ -Provides: perl(Unicode::Collate::CJK::JISX0208) = 1.25 \ -Provides: perl(Unicode::Collate::CJK::Korean) = 1.25 \ -Provides: perl(Unicode::Collate::CJK::Pinyin) = 1.25 \ -Provides: perl(Unicode::Collate::CJK::Stroke) = 1.25 \ -Provides: perl(Unicode::Collate::CJK::Zhuyin) = 1.25 \ -Provides: perl(Unicode::Collate::Locale) = 1.25 \ +Provides: perl(Unicode::Collate) = 1.27 \ +Provides: perl(Unicode::Collate::CJK::Big5) = 1.27 \ +Provides: perl(Unicode::Collate::CJK::GB2312) = 1.27 \ +Provides: perl(Unicode::Collate::CJK::JISX0208) = 1.27 \ +Provides: perl(Unicode::Collate::CJK::Korean) = 1.27 \ +Provides: perl(Unicode::Collate::CJK::Pinyin) = 1.27 \ +Provides: perl(Unicode::Collate::CJK::Stroke) = 1.27 \ +Provides: perl(Unicode::Collate::CJK::Zhuyin) = 1.27 \ +Provides: perl(Unicode::Collate::Locale) = 1.27 \ %{nil} %global gendep_perl_Unicode_Collate_debuginfo \ %{nil} @@ -1696,11 +1661,11 @@ Requires: perl(constant) \ Requires: perl(overload) \ Requires: perl(strict) \ Requires: perl(warnings) \ -Provides: perl(Math::BigFloat::Trace) = 0.49 \ -Provides: perl(Math::BigInt::Trace) = 0.49 \ -Provides: perl(bigint) = 0.49 \ -Provides: perl(bignum) = 0.49 \ -Provides: perl(bigrat) = 0.49 \ +Provides: perl(Math::BigFloat::Trace) = 0.51 \ +Provides: perl(Math::BigInt::Trace) = 0.51 \ +Provides: perl(bigint) = 0.51 \ +Provides: perl(bignum) = 0.51 \ +Provides: perl(bigrat) = 0.51 \ %{nil} %global gendep_perl_constant \ Requires: perl(:VERSION) >= 5.8.0 \ @@ -1738,12 +1703,11 @@ Requires: perl(Carp) \ Requires: perl(strict) \ Requires: perl(version) \ Requires: perl(warnings) \ -Provides: perl(experimental) = 0.019 \ +Provides: perl(experimental) = 0.020 \ %{nil} %global gendep_perl_interpreter \ Requires: perl(:VERSION) >= 5.0.0 \ Requires: perl(:VERSION) >= 5.10.1 \ -Requires: perl(:VERSION) >= 5.24.0 \ Requires: perl(:VERSION) >= 5.3.0 \ Requires: perl(:VERSION) >= 5.5.0 \ Requires: perl(:VERSION) >= 5.6.0 \ @@ -1806,19 +1770,19 @@ Requires: perl(warnings::register) \ Provides: perl(AnyDBM_File) = 1.01 \ Provides: perl(AutoLoader) = 5.74 \ Provides: perl(AutoSplit) = 1.06 \ -Provides: perl(B) = 1.74 \ -Provides: perl(B::Concise) = 1.003 \ -Provides: perl(B::Deparse) = 1.48 \ +Provides: perl(B) = 1.76 \ +Provides: perl(B::Concise) = 1.004 \ +Provides: perl(B::Deparse) = 1.49 \ Provides: perl(B::OBJECT) \ -Provides: perl(B::Op_private) = 5.028001 \ +Provides: perl(B::Op_private) = 5.030000 \ Provides: perl(B::Showlex) = 1.05 \ -Provides: perl(B::Terse) = 1.08 \ +Provides: perl(B::Terse) = 1.09 \ Provides: perl(B::Xref) = 1.07 \ Provides: perl(Benchmark) = 1.22 \ Provides: perl(Class::Struct) = 0.65 \ Provides: perl(Class::Struct::Tie_ISA) \ -Provides: perl(Config) = 5.028001 \ -Provides: perl(Config::Extensions) = 0.02 \ +Provides: perl(Config) = 5.030000 \ +Provides: perl(Config::Extensions) = 0.03 \ Provides: perl(DB) = 1.08 \ Provides: perl(DBM_Filter) = 0.06 \ Provides: perl(DBM_Filter::compress) = 0.03 \ @@ -1839,15 +1803,15 @@ Provides: perl(ExtUtils::Constant::XS) = 0.03 \ Provides: perl(Fcntl) = 1.13 \ Provides: perl(File::Basename) = 2.85 \ Provides: perl(File::Compare) = 1.1006 \ -Provides: perl(File::Copy) = 2.33 \ +Provides: perl(File::Copy) = 2.34 \ Provides: perl(File::DosGlob) = 1.12 \ -Provides: perl(File::Find) = 1.34 \ -Provides: perl(File::Glob) = 1.31 \ +Provides: perl(File::Find) = 1.36 \ +Provides: perl(File::Glob) = 1.32 \ Provides: perl(File::stat) = 1.08 \ Provides: perl(FileCache) = 1.10 \ Provides: perl(FileHandle) = 2.03 \ Provides: perl(FindBin) = 1.51 \ -Provides: perl(GDBM_File) = 1.17 \ +Provides: perl(GDBM_File) = 1.18 \ Provides: perl(Getopt::Std) = 1.12 \ Provides: perl(Hash::Util) = 0.22 \ Provides: perl(Hash::Util::FieldHash) = 1.20 \ @@ -1855,10 +1819,10 @@ Provides: perl(I18N::Collate) = 1.02 \ Provides: perl(I18N::LangTags) = 0.43 \ Provides: perl(I18N::LangTags::Detect) = 1.07 \ Provides: perl(I18N::LangTags::List) = 0.40 \ -Provides: perl(I18N::Langinfo) = 0.17 \ +Provides: perl(I18N::Langinfo) = 0.18 \ Provides: perl(IPC::Open2) = 1.04 \ Provides: perl(IPC::Open3) = 1.20 \ -Provides: perl(NDBM_File) = 1.14 \ +Provides: perl(NDBM_File) = 1.15 \ Provides: perl(NEXT) = 0.67 \ Provides: perl(NEXT::ACTUAL) \ Provides: perl(NEXT::ACTUAL::DISTINCT) \ @@ -1872,19 +1836,19 @@ Provides: perl(Net::netent) = 1.01 \ Provides: perl(Net::protoent) = 1.01 \ Provides: perl(Net::servent) = 1.02 \ Provides: perl(O) = 1.03 \ -Provides: perl(ODBM_File) = 1.15 \ +Provides: perl(ODBM_File) = 1.16 \ Provides: perl(Opcode) = 1.43 \ -Provides: perl(POSIX) = 1.84 \ +Provides: perl(POSIX) = 1.88 \ Provides: perl(POSIX::SigAction) \ Provides: perl(POSIX::SigRt) \ Provides: perl(POSIX::SigSet) \ Provides: perl(PerlIO) = 1.10 \ -Provides: perl(PerlIO::encoding) = 0.26 \ +Provides: perl(PerlIO::encoding) = 0.27 \ Provides: perl(PerlIO::mmap) = 0.016 \ -Provides: perl(PerlIO::scalar) = 0.29 \ +Provides: perl(PerlIO::scalar) = 0.30 \ Provides: perl(PerlIO::via) = 0.17 \ Provides: perl(Pod::Functions) = 1.13 \ -Provides: perl(SDBM_File) = 1.14 \ +Provides: perl(SDBM_File) = 1.15 \ Provides: perl(Safe) = 2.40 \ Provides: perl(Search::Dict) = 1.07 \ Provides: perl(SelectSaver) = 1.02 \ @@ -1920,28 +1884,27 @@ Provides: perl(Time::gmtime) = 1.04 \ Provides: perl(Time::localtime) = 1.03 \ Provides: perl(Time::tm) = 1.00 \ Provides: perl(UNIVERSAL) = 1.13 \ -Provides: perl(Unicode::UCD) = 0.70 \ -Provides: perl(User::grent) = 1.02 \ +Provides: perl(Unicode::UCD) = 0.72 \ +Provides: perl(User::grent) = 1.03 \ Provides: perl(User::pwent) = 1.01 \ Provides: perl(_charnames) = 1.45 \ -Provides: perl(arybase) = 0.15 \ Provides: perl(attributes) = 0.33 \ Provides: perl(autouse) = 1.11 \ Provides: perl(base) = 2.27 \ Provides: perl(blib) = 1.07 \ -Provides: perl(bytes) = 1.06 \ +Provides: perl(bytes) = 1.07 \ Provides: perl(bytes_heavy.pl) \ Provides: perl(charnames) = 1.45 \ -Provides: perl(deprecate) = 0.03 \ +Provides: perl(deprecate) = 0.04 \ Provides: perl(diagnostics) = 1.36 \ Provides: perl(dumpvar.pl) \ Provides: perl(encoding::warnings) = 0.13 \ -Provides: perl(feature) = 1.52 \ +Provides: perl(feature) = 1.54 \ Provides: perl(fields) = 2.24 \ Provides: perl(filetest) = 1.03 \ Provides: perl(if) = 0.0608 \ Provides: perl(less) = 0.03 \ -Provides: perl(lib) = 0.64 \ +Provides: perl(lib) = 0.65 \ Provides: perl(locale) = 1.09 \ Provides: perl(mro) = 1.22 \ Provides: perl(ops) = 1.02 \ @@ -1949,10 +1912,10 @@ Provides: perl(overload) = 1.30 \ Provides: perl(overload::numbers) \ Provides: perl(overloading) = 0.02 \ Provides: perl(perl5db.pl) \ -Provides: perl(sigtrap) = 1.08 \ +Provides: perl(sigtrap) = 1.09 \ Provides: perl(sort) = 2.04 \ Provides: perl(subs) = 1.03 \ -Provides: perl(vars) = 1.04 \ +Provides: perl(vars) = 1.05 \ Provides: perl(vmsish) = 1.04 \ Provides: perl(warnings::register) = 1.04 \ %{nil} @@ -2008,9 +1971,8 @@ Requires: perl(vars) \ Requires: perl(integer) \ Requires: perl(strict) \ Requires: perl(warnings) \ -Provides: perl(:MODULE_COMPAT_5.28.0) \ -Provides: perl(:MODULE_COMPAT_5.28.1) \ -Provides: perl(:VERSION) = 5.28.1 \ +Provides: perl(:MODULE_COMPAT_5.30.0) \ +Provides: perl(:VERSION) = 5.30.0 \ Provides: perl(:WITH_64BIT) \ Provides: perl(:WITH_ITHREADS) \ Provides: perl(:WITH_LARGEFILES) \ @@ -2018,12 +1980,12 @@ Provides: perl(:WITH_PERLIO) \ Provides: perl(:WITH_THREADS) \ Provides: perl(XSLoader) = 0.30 \ Provides: perl(integer) = 1.01 \ -Provides: perl(re) = 0.36 \ +Provides: perl(re) = 0.37 \ Provides: perl(strict) = 1.11 \ Provides: perl(unicore::Name) \ -Provides: perl(utf8) = 1.21 \ +Provides: perl(utf8) = 1.22 \ Provides: perl(utf8_heavy.pl) \ -Provides: perl(warnings) = 1.42 \ +Provides: perl(warnings) = 1.44 \ %{nil} %global gendep_perl_libs_debuginfo \ %{nil} @@ -2036,13 +1998,12 @@ Provides: perl(open) = 1.11 \ %{nil} %global gendep_perl_parent \ Requires: perl(strict) \ -Requires: perl(vars) \ -Provides: perl(parent) = 0.236 \ +Provides: perl(parent) = 0.237 \ %{nil} %global gendep_perl_perlfaq \ Requires: perl(strict) \ Requires: perl(warnings) \ -Provides: perl(perlfaq) = 5.021011 \ +Provides: perl(perlfaq) = 5.20190126 \ %{nil} %global gendep_perl_podlators \ Requires: perl(:VERSION) >= 5.6.0 \ @@ -2061,12 +2022,12 @@ Requires: perl(strict) \ Requires: perl(subs) \ Requires: perl(vars) \ Requires: perl(warnings) \ -Provides: perl(Pod::Man) = 4.10 \ -Provides: perl(Pod::ParseLink) = 4.10 \ -Provides: perl(Pod::Text) = 4.10 \ -Provides: perl(Pod::Text::Color) = 4.10 \ -Provides: perl(Pod::Text::Overstrike) = 4.10 \ -Provides: perl(Pod::Text::Termcap) = 4.10 \ +Provides: perl(Pod::Man) = 4.11 \ +Provides: perl(Pod::ParseLink) = 4.11 \ +Provides: perl(Pod::Text) = 4.11 \ +Provides: perl(Pod::Text::Color) = 4.11 \ +Provides: perl(Pod::Text::Overstrike) = 4.11 \ +Provides: perl(Pod::Text::Termcap) = 4.11 \ %{nil} %global gendep_perl_tests \ %{nil} @@ -2083,10 +2044,11 @@ Provides: perl(threads) = 2.22 \ %{nil} %global gendep_perl_threads_shared \ Requires: perl(:VERSION) >= 5.8.0 \ +Requires: perl(Config) \ Requires: perl(Scalar::Util) \ Requires: perl(strict) \ Requires: perl(warnings) \ -Provides: perl(threads::shared) = 1.58 \ +Provides: perl(threads::shared) = 1.60 \ %{nil} %global gendep_perl_threads_shared_debuginfo \ %{nil} @@ -2109,6 +2071,6 @@ Requires: perl(:VERSION) >= 5.6.2 \ Requires: perl(strict) \ Requires: perl(version::regex) \ Requires: perl(warnings::register) \ -Provides: perl(version) = 0.9923 \ -Provides: perl(version::regex) = 0.9923 \ +Provides: perl(version) = 0.9924 \ +Provides: perl(version::regex) = 0.9924 \ %{nil} diff --git a/perl-5.10.0-x86_64-io-test-failure.patch b/perl-5.10.0-x86_64-io-test-failure.patch index e079e16..6ffc84b 100644 --- a/perl-5.10.0-x86_64-io-test-failure.patch +++ b/perl-5.10.0-x86_64-io-test-failure.patch @@ -1,12 +1,12 @@ diff -up perl-5.10.0/t/io/fs.t.BAD perl-5.10.0/t/io/fs.t --- perl-5.10.0/t/io/fs.t.BAD 2008-01-30 13:36:43.000000000 -0500 +++ perl-5.10.0/t/io/fs.t 2008-01-30 13:41:27.000000000 -0500 -@@ -258,7 +258,7 @@ isnt($atime, 500000000, 'atime'); - isnt($mtime, 500000000 + $delta, 'mtime'); +@@ -257,7 +257,7 @@ isnt($atime, 500000000, 'atime'); + isnt($mtime, $ut + $delta, 'mtime: utime called with two undefs'); SKIP: { - skip "no futimes", 6 unless ($Config{d_futimes} || "") eq "define"; + skip "no futimes", 6; + note("check futimes"); open(my $fh, "<", 'b'); - $foo = (utime 500000000,500000000 + $delta, $fh); - is($foo, 1, "futime"); + $foo = (utime $ut,$ut + $delta, $fh); diff --git a/perl-5.18.1-Document-Math-BigInt-CalcEmu-requires-Math-BigInt.patch b/perl-5.18.1-Document-Math-BigInt-CalcEmu-requires-Math-BigInt.patch deleted file mode 100644 index ce6a4d7..0000000 --- a/perl-5.18.1-Document-Math-BigInt-CalcEmu-requires-Math-BigInt.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 862c89c81d26dae0dcef138e19df8b45615e69c9 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= -Date: Mon, 2 Dec 2013 10:10:56 +0100 -Subject: [PATCH] Document Math::BigInt::CalcEmu requires Math::BigInt -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - - - -Signed-off-by: Petr Písař ---- - dist/Math-BigInt/lib/Math/BigInt/CalcEmu.pm | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/dist/Math-BigInt/lib/Math/BigInt/CalcEmu.pm b/dist/Math-BigInt/lib/Math/BigInt/CalcEmu.pm -index c82e153..0c0b496 100644 ---- a/cpan/Math-BigInt/lib/Math/BigInt/CalcEmu.pm -+++ b/cpan/Math-BigInt/lib/Math/BigInt/CalcEmu.pm -@@ -292,6 +292,7 @@ Math::BigInt::CalcEmu - Emulate low-level math with BigInt code - - =head1 SYNOPSIS - -+ use Math::BigInt; - use Math::BigInt::CalcEmu; - - =head1 DESCRIPTION --- -1.8.3.1 - diff --git a/perl-5.26.0-perl-131588-be-a-little-more-careful-in-arybase-_tie.patch b/perl-5.26.0-perl-131588-be-a-little-more-careful-in-arybase-_tie.patch deleted file mode 100644 index 59f6af9..0000000 --- a/perl-5.26.0-perl-131588-be-a-little-more-careful-in-arybase-_tie.patch +++ /dev/null @@ -1,61 +0,0 @@ -From cb2fda94b02c5b7e8d16582410034f5a3dae526f Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Tue, 25 Jul 2017 16:21:22 +1000 -Subject: [PATCH] (perl #131588) be a little more careful in arybase::_tie_it() -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Original patch by John Leitch -Petr Pisar: Ported to 5.26.0. - -Signed-off-by: Petr Písař ---- - ext/arybase/arybase.xs | 10 ++++++---- - ext/arybase/t/arybase.t | 4 +++- - 2 files changed, 9 insertions(+), 5 deletions(-) - -diff --git a/ext/arybase/arybase.xs b/ext/arybase/arybase.xs -index 880bbe3..216442a 100644 ---- a/ext/arybase/arybase.xs -+++ b/ext/arybase/arybase.xs -@@ -428,10 +428,12 @@ _tie_it(SV *sv) - INIT: - GV * const gv = (GV *)sv; - CODE: -- if (GvSV(gv)) -- /* This is *our* scalar now! */ -- sv_unmagic(GvSV(gv), PERL_MAGIC_sv); -- tie(aTHX_ GvSVn(gv), NULL, GvSTASH(CvGV(cv))); -+ if (isGV(gv)) { -+ if (GvSV(gv)) -+ /* This is *our* scalar now! */ -+ sv_unmagic(GvSV(gv), PERL_MAGIC_sv); -+ tie(aTHX_ GvSVn(gv), NULL, GvSTASH(CvGV(cv))); -+ } - - void - FETCH(...) -diff --git a/ext/arybase/t/arybase.t b/ext/arybase/t/arybase.t -index f3d3287..41e90df 100644 ---- a/ext/arybase/t/arybase.t -+++ b/ext/arybase/t/arybase.t -@@ -4,7 +4,7 @@ - # plus miscellaneous bug fix tests - - no warnings 'deprecated'; --use Test::More tests => 7; -+use Test::More tests => 8; - - sub outside_base_scope { return "${'['}" } - -@@ -34,4 +34,6 @@ is $@, "That use of \$[ is unsupported at $f line $l.\n", - - sub foo { my $x; $x = wait } # compilation of this routine used to crash - -+ok eval { arybase::_tie_it(1); 1 }, "don't crash on bad call to _tie_it()"; -+ - 1; --- -2.9.4 - diff --git a/perl-5.28.1-Fix-POSIX-mblen-mbstate_t-initialization-on-threaded.patch b/perl-5.28.1-Fix-POSIX-mblen-mbstate_t-initialization-on-threaded.patch deleted file mode 100644 index 24245fd..0000000 --- a/perl-5.28.1-Fix-POSIX-mblen-mbstate_t-initialization-on-threaded.patch +++ /dev/null @@ -1,138 +0,0 @@ -From 37f30deca415d6c2606bf088e09f978134b9e2e1 Mon Sep 17 00:00:00 2001 -From: Niko Tyni -Date: Sun, 10 Mar 2019 19:40:42 +0200 -Subject: [PATCH] Fix POSIX::mblen mbstate_t initialization on threaded perls - with glibc -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -As reported in https://bugs.launchpad.net/bugs/1818953 POSIX::mblen() -is broken on threaded perls with glibc. - - % perl -MPOSIX=mblen -e 'mblen("a", 1)' - perl: mbrtowc.c:105: __mbrtowc: Assertion `__mbsinit (data.__statep)' failed. - zsh: abort (core dumped) perl -MPOSIX=mblen -e 'mblen("a", 1)' - -This broke in v5.27.8-134-g6c9ff7e96e which made the function -use mbrlen(3) under the hood on threaded perls. - -The problem is initialization of the shift state with - - mbrlen(NULL, 0, &ps)); - -The glibc documentation for mbrlen(3) at - - https://www.gnu.org/software/libc/manual/html_node/Converting-a-Character.html#Converting-a-Character - -does not mention initialization by passing in a null pointer for the -string, only a pointer to a NUL wide character. - - If the next multibyte character corresponds to the NUL wide character, - the return value is 0. If the next n bytes form a valid multibyte - character, the number of bytes belonging to this multibyte character - byte sequence is returned. - -Use memset(3) instead for mbstate_t initialization, as suggested in - - https://www.gnu.org/software/libc/manual/html_node/Keeping-the-state.html - -with the hope that this is more portable. - -While at it, add a few basic test cases. These are in a new file because -they need fresh_perl_is() from test.pl while the existing ones use -Test::More (and conversion of at least posix.t looks way too involved.) - -Bug-Ubuntu: https://bugs.launchpad.net/bugs/1818953 -Petr Písař: Ported to 5.28.1 from -25d7b7aa379d33ce2e8fe3e2bef4206b35739bc5. - -Signed-off-by: Petr Písař ---- - MANIFEST | 1 + - ext/POSIX/POSIX.xs | 2 +- - ext/POSIX/t/mb.t | 47 ++++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 49 insertions(+), 1 deletion(-) - create mode 100644 ext/POSIX/t/mb.t - -diff --git a/MANIFEST b/MANIFEST -index 9fbbe9a..e4e63c3 100644 ---- a/MANIFEST -+++ b/MANIFEST -@@ -4204,6 +4204,7 @@ ext/POSIX/POSIX.xs POSIX extension external subroutines - ext/POSIX/t/export.t Test @EXPORT and @EXPORT_OK - ext/POSIX/t/iscrash See if POSIX isxxx() crashes with threads on Win32 - ext/POSIX/t/math.t Basic math tests for POSIX -+ext/POSIX/t/mb.t Multibyte function tests for POSIX - ext/POSIX/t/posix.t See if POSIX works - ext/POSIX/t/sigaction.t See if POSIX::sigaction works - ext/POSIX/t/sigset.t See if POSIX::SigSet works -diff --git a/ext/POSIX/POSIX.xs b/ext/POSIX/POSIX.xs -index 7497305..395025a 100644 ---- a/ext/POSIX/POSIX.xs -+++ b/ext/POSIX/POSIX.xs -@@ -3318,7 +3318,7 @@ mblen(s, n) - #endif - CODE: - #if defined(USE_ITHREADS) && defined(HAS_MBRLEN) -- PERL_UNUSED_RESULT(mbrlen(NULL, 0, &ps)); /* Initialize state */ -+ memset(&ps, 0, sizeof(ps)); /* Initialize state */ - RETVAL = mbrlen(s, n, &ps); /* Prefer reentrant version */ - #else - RETVAL = mblen(s, n); -diff --git a/ext/POSIX/t/mb.t b/ext/POSIX/t/mb.t -new file mode 100644 -index 0000000..961edf6 ---- /dev/null -+++ b/ext/POSIX/t/mb.t -@@ -0,0 +1,47 @@ -+#!./perl -+ -+# These tests are in a separate file, because they use fresh_perl_is() -+# from test.pl. -+ -+# The mb* functions use the "underlying locale" that is not affected by -+# the Perl one. So we run the tests in a separate "fresh_perl" process -+# with the correct LC_CTYPE set in the environment. -+ -+BEGIN { -+ require Config; import Config; -+ if ($^O ne 'VMS' and $Config{'extensions'} !~ /\bPOSIX\b/) { -+ print "1..0\n"; -+ exit 0; -+ } -+ unshift @INC, "../../t"; -+ require 'loc_tools.pl'; -+ require 'test.pl'; -+} -+ -+plan tests => 3; -+ -+use POSIX qw(); -+ -+SKIP: { -+ skip("mblen() not present", 3) unless $Config{d_mblen}; -+ -+ is(&POSIX::mblen("a", &POSIX::MB_CUR_MAX), 1, 'mblen() basically works'); -+ -+ skip("LC_CTYPE locale support not available", 2) -+ unless locales_enabled('LC_CTYPE'); -+ -+ my $utf8_locale = find_utf8_ctype_locale(); -+ skip("no utf8 locale available", 2) unless $utf8_locale; -+ -+ local $ENV{LC_CTYPE} = $utf8_locale; -+ local $ENV{LC_ALL}; -+ delete $ENV{LC_ALL}; -+ -+ fresh_perl_is( -+ 'use POSIX; print &POSIX::mblen("\x{c3}\x{28}", &POSIX::MB_CUR_MAX)', -+ -1, {}, 'mblen() recognizes invalid multibyte characters'); -+ -+ fresh_perl_is( -+ 'use POSIX; print &POSIX::mblen("\N{GREEK SMALL LETTER SIGMA}", &POSIX::MB_CUR_MAX)', -+ 2, {}, 'mblen() works on UTF-8 characters'); -+} --- -2.20.1 - diff --git a/perl-5.28.1-PATCH-perl-133880-assertion-failure.patch b/perl-5.28.1-PATCH-perl-133880-assertion-failure.patch deleted file mode 100644 index b8a0b46..0000000 --- a/perl-5.28.1-PATCH-perl-133880-assertion-failure.patch +++ /dev/null @@ -1,69 +0,0 @@ -From d434dd3ec16dc1202626e9868f177203e2a86da5 Mon Sep 17 00:00:00 2001 -From: Karl Williamson -Date: Thu, 21 Mar 2019 09:35:49 -0600 -Subject: [PATCH] PATCH: [perl #133880] assertion failure -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This was caused by attempting to continue parsing after an error is -found, and later assuming that what came before was valid. The fix is -to put in something valid that's usable until the parse eventually dies -from what caused this, or some other error. - -Signed-off-by: Ported to 5.28.1 from -ef65a74af186beb93566cf827c5f543f4aa14645. -Signed-off-by: Petr Písař ---- - t/op/tr.t | 8 +++++++- - toke.c | 8 ++++++-- - 2 files changed, 13 insertions(+), 3 deletions(-) - -diff --git a/t/op/tr.t b/t/op/tr.t -index 0f74936..47d603d 100644 ---- a/t/op/tr.t -+++ b/t/op/tr.t -@@ -13,7 +13,7 @@ BEGIN { - - use utf8; - --plan tests => 300; -+plan tests => 301; - - # Test this first before we extend the stack with other operations. - # This caused an asan failure due to a bad write past the end of the stack. -@@ -1137,6 +1137,12 @@ for ("", nullrocow) { - [\x{E5CD}-\x{E5DF}\x{EA80}-\x{EAFA}\x{EB0E}-\x{EB8E}\x{EAFB}-\x{EB0D}\x{E5B5}-\x{E5CC}]; - - is $x, "\x{E5CE}", '[perl #130656]'; -+ -+} -+ -+{ -+ fresh_perl_like('y/\x{a00}0-\N{}//', qr/Unknown charname/, { }, -+ 'RT #133880 illegal \N{}'); - } - - 1; -diff --git a/toke.c b/toke.c -index 3164df5..4747ef5 100644 ---- a/toke.c -+++ b/toke.c -@@ -3770,8 +3770,12 @@ S_scan_const(pTHX_ char *start) - } - } - else /* Here is \N{NAME} but not \N{U+...}. */ -- if ((res = get_and_check_backslash_N_name(s, e))) -- { -+ if (! (res = get_and_check_backslash_N_name(s, e))) -+ { /* Failed. We should die eventually, but for now use a NUL -+ to keep parsing */ -+ *d++ = '\0'; -+ } -+ else { /* Successfully evaluated the name */ - STRLEN len; - const char *str = SvPV_const(res, len); - if (PL_lex_inpat) { --- -2.20.1 - diff --git a/perl-5.28.1-ext-GDBM_File-t-fatal.t-handle-non-fatality.patch b/perl-5.28.1-ext-GDBM_File-t-fatal.t-handle-non-fatality.patch deleted file mode 100644 index 4bf6220..0000000 --- a/perl-5.28.1-ext-GDBM_File-t-fatal.t-handle-non-fatality.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 72cc38bc65d4a675d9134acb085d2e0c3dcd5383 Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Fri, 14 Dec 2018 16:54:42 +0000 -Subject: [PATCH] ext/GDBM_File/t/fatal.t: handle non-fatality -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This script is supposed to exercise the error handling callback -mechanism in gdbm, by triggering an error by surreptitiously closing -the file handle which gdbm has opened. - -However, this doesn't trigger an error in newer releases of the gdbm -library, which uses mmap() rather than write() etc. In fact I can't see -any way of triggering an error: so just skip the relevant tests if we -can't trigger a failure. - -Petr Písař: Ported to 5.28.1 from -upstream's d33f9fbdb3bb27a3b32a2ffa9aa035617c07f7a1. - -Signed-off-by: Petr Písař ---- - ext/GDBM_File/t/fatal.t | 35 ++++++++++++++++++++++++++--------- - 1 file changed, 26 insertions(+), 9 deletions(-) - -diff --git a/ext/GDBM_File/t/fatal.t b/ext/GDBM_File/t/fatal.t -index 0e426d4..6945653 100644 ---- a/ext/GDBM_File/t/fatal.t -+++ b/ext/GDBM_File/t/fatal.t -@@ -1,4 +1,12 @@ - #!./perl -w -+# -+# Exercise the error handling callback mechanism in gdbm. -+# -+# Try to trigger an error by surreptitiously closing the file handle which -+# gdbm has opened. Note that this won't trigger an error in newer -+# releases of the gdbm library, which uses mmap() rather than write() etc: -+# so skip in that case. -+ - use strict; - - use Test::More; -@@ -34,16 +42,25 @@ isnt((open $fh, "<&=$fileno"), undef, "dup fileno $fileno") - or diag("\$! = $!"); - isnt(close $fh, undef, - "close fileno $fileno, out from underneath the GDBM_File"); --is(eval { -+ -+# store some data to a closed file handle -+ -+my $res = eval { - $h{Perl} = 'Rules'; - untie %h; -- 1; --}, undef, 'Trapped error when attempting to write to knobbled GDBM_File'); -- --# Observed "File write error" and "lseek error" from two different systems. --# So there might be more variants. Important part was that we trapped the error --# via croak. --like($@, qr/ at .*\bfatal\.t line \d+\.\n\z/, -- 'expected error message from GDBM_File'); -+ 99; -+}; -+ -+SKIP: { -+ skip "Can't tigger failure", 2 if $res == 99; -+ -+ is $res, undef, "eval should return undef"; -+ -+ # Observed "File write error" and "lseek error" from two different -+ # systems. So there might be more variants. Important part was that -+ # we trapped the error # via croak. -+ like($@, qr/ at .*\bfatal\.t line \d+\.\n\z/, -+ 'expected error message from GDBM_File'); -+} - - unlink ; --- -2.17.2 - diff --git a/perl-5.28.1-fix-a-leak-with-indented-heredocs.patch b/perl-5.28.1-fix-a-leak-with-indented-heredocs.patch deleted file mode 100644 index d95db9c..0000000 --- a/perl-5.28.1-fix-a-leak-with-indented-heredocs.patch +++ /dev/null @@ -1,53 +0,0 @@ -From a83eb62d86a48741cbe2decf2bd99ef5292d1c02 Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Mon, 25 Mar 2019 20:13:30 +0000 -Subject: [PATCH] fix a leak with indented heredocs -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -With something like - - |print <<~EOF; - | some data - | EOF - -it croaks (as it should) with "Indentation ... doesn't match delimiter", -but in that case it leaks the recently malloc()d 'indent' buffer. - -The fix is simple. I've also fixed by code inspection where the code -does 'goto interminable', although I didn't try to reproduce the conditions -where the goto might occur. - -Petr Písař: Ported to 5.28.1 from -e40cca748f05c81e1929ed625407afbe7c79d4dd/ - -Signed-off-by: Petr Písař ---- - toke.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/toke.c b/toke.c -index 4747ef5..240fd49 100644 ---- a/toke.c -+++ b/toke.c -@@ -10365,6 +10365,7 @@ S_scan_heredoc(pTHX_ char *s) - - /* Line doesn't begin with our indentation? Croak */ - } else { -+ Safefree(indent); - Perl_croak(aTHX_ - "Indentation on line %d of here-doc doesn't match delimiter", - (int)linecount -@@ -10388,6 +10389,8 @@ S_scan_heredoc(pTHX_ char *s) - return s; - - interminable: -+ if (indent) -+ Safefree(indent); - SvREFCNT_dec(tmpstr); - CopLINE_set(PL_curcop, origline); - missingterm(PL_tokenbuf + 1, sizeof(PL_tokenbuf) - 1); --- -2.20.1 - diff --git a/perl-5.28.1-fix-leak-when-compiling-typed-hash-deref.patch b/perl-5.28.1-fix-leak-when-compiling-typed-hash-deref.patch deleted file mode 100644 index 3e67eea..0000000 --- a/perl-5.28.1-fix-leak-when-compiling-typed-hash-deref.patch +++ /dev/null @@ -1,132 +0,0 @@ -From 057b890a6d3201a44afd68c840f3a76d4f508d91 Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Fri, 8 Mar 2019 08:40:29 +0000 -Subject: [PATCH] fix leak when compiling typed hash deref -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -In something like - - my Foo $h; - $h->{bad_key} - -perl will croak if package Foo defines valid %FIELDS and bad_key isn't -one of them. This croak happens during the second pass in -S_maybe_multideref(), which is trying to convert $h->{bad_key} into a -single multideref op. Since the aux buffer is allocated at the end of -the first pass, the buffer leaks. - -The fix is to do the check in the first pass, which has been done by -adding an extra boolean flag to S_check_hash_fields_and_hekify(), -indicating whether to just check or actually do it. - -Petr Písař: Ported to 5.18.1 from -02a9632ac4bf515585a2f25b05b2939de1743ded. - -Signed-off-by: Petr Písař ---- - op.c | 22 +++++++++++++++------- - t/op/multideref.t | 11 ++++++++++- - 2 files changed, 25 insertions(+), 8 deletions(-) - -diff --git a/op.c b/op.c -index 67da715..af3c448 100644 ---- a/op.c -+++ b/op.c -@@ -2416,12 +2416,13 @@ S_modkids(pTHX_ OP *o, I32 type) - - /* for a helem/hslice/kvslice, if its a fixed hash, croak on invalid - * const fields. Also, convert CONST keys to HEK-in-SVs. -- * rop is the op that retrieves the hash; -+ * rop is the op that retrieves the hash; - * key_op is the first key -+ * real if false, only check (and possibly croak); don't update op - */ - - STATIC void --S_check_hash_fields_and_hekify(pTHX_ UNOP *rop, SVOP *key_op) -+S_check_hash_fields_and_hekify(pTHX_ UNOP *rop, SVOP *key_op, int real) - { - PADNAME *lexname; - GV **fields; -@@ -2471,7 +2472,8 @@ S_check_hash_fields_and_hekify(pTHX_ UNOP *rop, SVOP *key_op) - if ( !SvIsCOW_shared_hash(sv = *svp) - && SvTYPE(sv) < SVt_PVMG - && SvOK(sv) -- && !SvROK(sv)) -+ && !SvROK(sv) -+ && real) - { - SSize_t keylen; - const char * const key = SvPV_const(sv, *(STRLEN*)&keylen); -@@ -3648,7 +3650,7 @@ S_finalize_op(pTHX_ OP* o) - check_keys: - if (o->op_private & OPpLVAL_INTRO || rop->op_type != OP_RV2HV) - rop = NULL; -- S_check_hash_fields_and_hekify(aTHX_ rop, key_op); -+ S_check_hash_fields_and_hekify(aTHX_ rop, key_op, 1); - break; - } - case OP_NULL: -@@ -14605,12 +14607,13 @@ S_maybe_multideref(pTHX_ OP *start, OP *orig_o, UV orig_action, U8 hints) - * the extra hassle for those edge cases */ - break; - -- if (pass) { -+ { - UNOP *rop = NULL; - OP * helem_op = o->op_next; - - ASSUME( helem_op->op_type == OP_HELEM -- || helem_op->op_type == OP_NULL); -+ || helem_op->op_type == OP_NULL -+ || pass == 0); - if (helem_op->op_type == OP_HELEM) { - rop = (UNOP*)(((BINOP*)helem_op)->op_first); - if ( helem_op->op_private & OPpLVAL_INTRO -@@ -14618,9 +14621,14 @@ S_maybe_multideref(pTHX_ OP *start, OP *orig_o, UV orig_action, U8 hints) - ) - rop = NULL; - } -- S_check_hash_fields_and_hekify(aTHX_ rop, cSVOPo); -+ /* on first pass just check; on second pass -+ * hekify */ -+ S_check_hash_fields_and_hekify(aTHX_ rop, cSVOPo, -+ pass); -+ } - - #ifdef USE_ITHREADS -+ if (pass) { - /* Relocate sv to the pad for thread safety */ - op_relocate_sv(&cSVOPo->op_sv, &o->op_targ); - arg->pad_offset = o->op_targ; -diff --git a/t/op/multideref.t b/t/op/multideref.t -index 20ba1ca..12b0453 100644 ---- a/t/op/multideref.t -+++ b/t/op/multideref.t -@@ -18,7 +18,7 @@ BEGIN { - use warnings; - use strict; - --plan 63; -+plan 64; - - - # check that strict refs hint is handled -@@ -233,3 +233,12 @@ sub defer {} - is $x[qw(rt131627)->$*], 11, 'RT #131627: $a[qw(var)->$*]'; - } - -+# this used to leak - run the code for ASan to spot any problems -+{ -+ package Foo; -+ our %FIELDS = (); -+ my Foo $f; -+ eval q{ my $x = $f->{c}; }; -+ ::pass("S_maybe_multideref() shouldn't leak on croak"); -+} -+ --- -2.20.1 - diff --git a/perl-5.28.1-perl-133524-report-line-number-for-Prototype-not-ter.patch b/perl-5.28.1-perl-133524-report-line-number-for-Prototype-not-ter.patch deleted file mode 100644 index 92f2a78..0000000 --- a/perl-5.28.1-perl-133524-report-line-number-for-Prototype-not-ter.patch +++ /dev/null @@ -1,52 +0,0 @@ -From f5972f38fbf06ff7db2ba869d0a5a4bc8e4c1e70 Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Wed, 2 Jan 2019 11:20:34 +1100 -Subject: [PATCH] report line number for Prototype not terminated -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Previously COPLINE was updated (to the end of the file) before -reporting the error, which wasn't useful. - -Petr Písař: Ported to 5.28.1 from upstream's -7122d783e33c1d4b9b5a037eef231fae4c2d76cd. - -Signed-off-by: Petr Písař ---- - t/lib/croak/toke | 6 ++++++ - toke.c | 2 +- - 2 files changed, 7 insertions(+), 1 deletion(-) - -diff --git a/t/lib/croak/toke b/t/lib/croak/toke -index 1d45a3f..5ec90b9 100644 ---- a/t/lib/croak/toke -+++ b/t/lib/croak/toke -@@ -489,3 +489,9 @@ =cut - EXPECT - syntax error at - line 4, next token ??? - Execution of - aborted due to compilation errors. -+######## -+# NAME check Prototype not terminated includes line number (133524) -+sub t1 {} -+sub t2 (} -+EXPECT -+Prototype not terminated at - line 2. -diff --git a/toke.c b/toke.c -index fc87252..4d81810 100644 ---- a/toke.c -+++ b/toke.c -@@ -8741,9 +8741,9 @@ Perl_yylex(pTHX) - /* Look for a prototype */ - if (*s == '(' && !is_sigsub) { - s = scan_str(s,FALSE,FALSE,FALSE,NULL); -- COPLINE_SET_FROM_MULTI_END; - if (!s) - Perl_croak(aTHX_ "Prototype not terminated"); -+ COPLINE_SET_FROM_MULTI_END; - (void)validate_proto(PL_subname, PL_lex_stuff, - ckWARN(WARN_ILLEGALPROTO), 0); - have_proto = TRUE; --- -2.17.2 - diff --git a/perl-5.28.1-perl-133782-set-magic-when-changing-R.patch b/perl-5.28.1-perl-133782-set-magic-when-changing-R.patch deleted file mode 100644 index a750f2a..0000000 --- a/perl-5.28.1-perl-133782-set-magic-when-changing-R.patch +++ /dev/null @@ -1,100 +0,0 @@ -From e6ff24e70ac8055d866eab588c9dfa7dc60adc93 Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Mon, 21 Jan 2019 11:41:03 +1100 -Subject: [PATCH] (perl #133782) set magic when changing $^R -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The regexp engine sets and restores $^R in a few places, but didn't -mg_set() (SvSETMAGIC()) it at all. - -Calls to length() on $^R, both within regexp code blocks and on -a successful match could add utf8 length magic to $^R, and modifying -$^R without mg_set() could leave now invalid length magic. - -Petr Písař: Ported to 5.28.1 from upstream's -d4c456e337e653ae11876241727b563a684dffe7. - -Signed-off-by: Petr Písař ---- - regexec.c | 17 +++++++++++++---- - t/re/pat.t | 10 +++++++++- - 2 files changed, 22 insertions(+), 5 deletions(-) - -diff --git a/regexec.c b/regexec.c -index 201d9aa..830a16a 100644 ---- a/regexec.c -+++ b/regexec.c -@@ -7319,8 +7319,11 @@ S_regmatch(pTHX_ regmatch_info *reginfo, char *startpos, regnode *prog) - PL_op = NULL; - - re_sv = NULL; -- if (logical == 0) /* (?{})/ */ -- sv_setsv(save_scalar(PL_replgv), ret); /* $^R */ -+ if (logical == 0) { /* (?{})/ */ -+ SV *replsv = save_scalar(PL_replgv); -+ sv_setsv(replsv, ret); /* $^R */ -+ SvSETMAGIC(replsv); -+ } - else if (logical == 1) { /* /(?(?{...})X|Y)/ */ - sw = cBOOL(SvTRUE_NN(ret)); - logical = 0; -@@ -7495,9 +7498,13 @@ S_regmatch(pTHX_ regmatch_info *reginfo, char *startpos, regnode *prog) - { - /* preserve $^R across LEAVE's. See Bug 121070. */ - SV *save_sv= GvSV(PL_replgv); -+ SV *replsv; - SvREFCNT_inc(save_sv); - regcpblow(ST.cp); /* LEAVE in disguise */ -- sv_setsv(GvSV(PL_replgv), save_sv); -+ /* don't move this initialization up */ -+ replsv = GvSV(PL_replgv); -+ sv_setsv(replsv, save_sv); -+ SvSETMAGIC(replsv); - SvREFCNT_dec(save_sv); - } - cur_eval = ST.prev_eval; -@@ -9012,8 +9019,10 @@ NULL - * see code related to PL_replgv elsewhere in this file. - * Yves - */ -- if (oreplsv != GvSV(PL_replgv)) -+ if (oreplsv != GvSV(PL_replgv)) { - sv_setsv(oreplsv, GvSV(PL_replgv)); -+ SvSETMAGIC(oreplsv); -+ } - } - result = 1; - goto final_exit; -diff --git a/t/re/pat.t b/t/re/pat.t -index 1d98fe7..a96bf56 100644 ---- a/t/re/pat.t -+++ b/t/re/pat.t -@@ -23,7 +23,7 @@ BEGIN { - skip_all('no re module') unless defined &DynaLoader::boot_DynaLoader; - skip_all_without_unicode_tables(); - --plan tests => 848; # Update this when adding/deleting tests. -+plan tests => 849; # Update this when adding/deleting tests. - - run_tests() unless caller; - -@@ -1947,6 +1947,14 @@ EOP - { # [perl $132164] - fresh_perl_is('m m0*0+\Rm', "",{},"Undefined behavior in address sanitizer"); - } -+ { # [perl #133782] -+ # this would panic on DEBUGGING builds -+ fresh_perl_is(<<'CODE', "ok\nok\n",{}, 'Bad length magic was left on $^R'); -+while( "\N{U+100}bc" =~ /(..?)(?{$^N})/g ) { -+ print "ok\n" if length($^R)==length("$^R"); -+} -+CODE -+ } - - } # End of sub run_tests - --- -2.20.1 - diff --git a/perl-5.28.1-perl-133892-coredump-in-Perl_re_intuit_start.patch b/perl-5.28.1-perl-133892-coredump-in-Perl_re_intuit_start.patch deleted file mode 100644 index 1f31fc9..0000000 --- a/perl-5.28.1-perl-133892-coredump-in-Perl_re_intuit_start.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 4d980ef2cd6bf458706048a5627d02ea8ebf39b4 Mon Sep 17 00:00:00 2001 -From: Hugo van der Sanden -Date: Mon, 25 Mar 2019 11:27:12 +0000 -Subject: [PATCH] coredump in Perl_re_intuit_start -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Make sure we have a valid non-utf8 'other' check substring before we -try to use it. - -Petr Písař: Ported to 5.28.1 from -fd8def15a58c97aa89cce8569befded97fd8c3b7. - -Signed-off-by: Petr Písař ---- - regexec.c | 9 +++++++-- - t/re/pat_rt_report.t | 11 ++++++++++- - 2 files changed, 17 insertions(+), 3 deletions(-) - -diff --git a/regexec.c b/regexec.c -index 830a16a..357a109 100644 ---- a/regexec.c -+++ b/regexec.c -@@ -1277,8 +1277,8 @@ Perl_re_intuit_start(pTHX_ - - /* now look for the 'other' substring if defined */ - -- if (utf8_target ? prog->substrs->data[other_ix].utf8_substr -- : prog->substrs->data[other_ix].substr) -+ if (prog->substrs->data[other_ix].utf8_substr -+ || prog->substrs->data[other_ix].substr) - { - /* Take into account the "other" substring. */ - char *last, *last1; -@@ -1288,6 +1288,11 @@ Perl_re_intuit_start(pTHX_ - - do_other_substr: - other = &prog->substrs->data[other_ix]; -+ if (!utf8_target && !other->substr) { -+ if (!to_byte_substr(prog)) { -+ NON_UTF8_TARGET_BUT_UTF8_REQUIRED(fail); -+ } -+ } - - /* if "other" is anchored: - * we've previously found a floating substr starting at check_at. -diff --git a/t/re/pat_rt_report.t b/t/re/pat_rt_report.t -index dd740e7..4dc2dec 100644 ---- a/t/re/pat_rt_report.t -+++ b/t/re/pat_rt_report.t -@@ -20,7 +20,7 @@ use warnings; - use 5.010; - use Config; - --plan tests => 2504; # Update this when adding/deleting tests. -+plan tests => 2505; # Update this when adding/deleting tests. - - run_tests() unless caller; - -@@ -1141,6 +1141,15 @@ EOP - ok($s=~/(foo){1,0}|(?1)/, - "RT #130561 - allowing impossible quantifier should not break recursion"); - } -+ { -+ # RT #133892 Coredump in Perl_re_intuit_start -+ # Second match flips to checking floating substring before fixed -+ # substring, which triggers a pathway that failed to check there -+ # was a non-utf8 version of the string before trying to use it -+ # resulting in a SEGV. -+ my $result = grep /b\x{1c0}ss0/i, qw{ xxxx xxxx0 }; -+ ok($result == 0); -+ } - - } # End of sub run_tests - --- -2.20.1 - diff --git a/perl-5.29.0-locale.c-Fix-conditional-compilation.patch b/perl-5.29.0-locale.c-Fix-conditional-compilation.patch deleted file mode 100644 index ced6f31..0000000 --- a/perl-5.29.0-locale.c-Fix-conditional-compilation.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 17dd77cd74f0a69332c091f816162e34abff30c5 Mon Sep 17 00:00:00 2001 -From: Francois Perrad -Date: Mon, 2 Jul 2018 00:17:44 +0200 -Subject: [PATCH] locale.c: Fix conditional compilation -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -With Perl 5.28.0, there are some mismatches between blocks -and conditional compilation in the Perl__is_cur_LC_category_utf8() function. -The compilation of miniperl could fails like this: -``` -locale.c: In function `Perl__is_cur_LC_category_utf8`: -locale.c:5481:1: error: expected declaration or statement at end of input - } - ^ -``` - -Signed-off-by: Francois Perrad -Signed-off-by: Petr Písař ---- - locale.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/locale.c b/locale.c -index f8f77fb3d0..f2731846ad 100644 ---- a/locale.c -+++ b/locale.c -@@ -4649,11 +4649,12 @@ Perl__is_cur_LC_category_utf8(pTHX_ int category) - && wc == (wchar_t) UNICODE_REPLACEMENT); - } - -+# endif -+ - restore_switched_locale(LC_CTYPE, original_ctype_locale); - goto finish_and_return; - } - --# endif - # else - - /* Here, we must have a C89 compiler that doesn't have mbtowc(). Next -@@ -4885,9 +4886,9 @@ Perl__is_cur_LC_category_utf8(pTHX_ int category) - is_utf8 = TRUE; - goto finish_and_return; - } -- } - - # endif -+ } - # endif - - /* Other common encodings are the ISO 8859 series, which aren't UTF-8. But --- -2.14.4 - diff --git a/perl-5.29.0-perl.h-Add-parens-around-macro-arguments.patch b/perl-5.29.0-perl.h-Add-parens-around-macro-arguments.patch deleted file mode 100644 index 73c003f..0000000 --- a/perl-5.29.0-perl.h-Add-parens-around-macro-arguments.patch +++ /dev/null @@ -1,33 +0,0 @@ -From ff58ca57f8442a7e2e74ab4a79a9e542f9a180e7 Mon Sep 17 00:00:00 2001 -From: Karl Williamson -Date: Mon, 11 Jun 2018 13:26:24 -0600 -Subject: [PATCH] perl.h: Add parens around macro arguments -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Arguments used within macros need to be parenthesized in case they are -called with an expression. This commit changes -_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG() to do that. - -Signed-off-by: Petr Písař ---- - perl.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/perl.h b/perl.h -index 6f04c6facd..3e1f6cd571 100644 ---- a/perl.h -+++ b/perl.h -@@ -5632,7 +5632,7 @@ typedef struct am_table_short AMTS; - # define _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(s, send) \ - STMT_START { /* Check if to warn before doing the conversion work */\ - if (! PL_in_utf8_CTYPE_locale && ckWARN(WARN_LOCALE)) { \ -- UV cp = utf8_to_uvchr_buf((U8 *) s, (U8 *) send, NULL); \ -+ UV cp = utf8_to_uvchr_buf((U8 *) (s), (U8 *) (send), NULL); \ - Perl_warner(aTHX_ packWARN(WARN_LOCALE), \ - "Wide character (U+%" UVXf ") in %s", \ - (cp == 0) \ --- -2.14.4 - diff --git a/perl-5.29.0-regexec.c-Call-macro-with-correct-args.patch b/perl-5.29.0-regexec.c-Call-macro-with-correct-args.patch deleted file mode 100644 index cdecb18..0000000 --- a/perl-5.29.0-regexec.c-Call-macro-with-correct-args.patch +++ /dev/null @@ -1,32 +0,0 @@ -From e1a2878a55b1a7f11f19b384c4ea5235c29866b2 Mon Sep 17 00:00:00 2001 -From: Karl Williamson -Date: Mon, 11 Jun 2018 13:28:53 -0600 -Subject: [PATCH] regexec.c: Call macro with correct args. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The second argument to this macro is a pointer to the end, as opposed to -a length. - -Signed-off-by: Petr Písař ---- - regexec.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/regexec.c b/regexec.c -index 7ed8f4fabc..ba52ae97c7 100644 ---- a/regexec.c -+++ b/regexec.c -@@ -1808,7 +1808,7 @@ STMT_START { - case trie_flu8: \ - _CHECK_AND_WARN_PROBLEMATIC_LOCALE; \ - if (UTF8_IS_ABOVE_LATIN1(*uc)) { \ -- _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(uc, uc_end - uc); \ -+ _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(uc, uc_end); \ - } \ - goto do_trie_utf8_fold; \ - case trie_utf8_exactfa_fold: \ --- -2.14.4 - diff --git a/perl-5.29.1-Time-HiRes-t-itimer.t-avoid-race-condition.patch b/perl-5.29.1-Time-HiRes-t-itimer.t-avoid-race-condition.patch deleted file mode 100644 index 7fcae79..0000000 --- a/perl-5.29.1-Time-HiRes-t-itimer.t-avoid-race-condition.patch +++ /dev/null @@ -1,54 +0,0 @@ -From ecbf46993f6ffbdc255f6ded3c6c05a8266a71e8 Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Tue, 7 Aug 2018 12:26:31 +0100 -Subject: [PATCH] Time-HiRes/t/itimer.t: avoid race condition. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This test script sets a repeating interval timer going, and after 4 -'ticks' (SIGVTALRM), disables the timer (by setting it to zero). - -The main loop which does CPU burning, does a getitmer() every now and -again, and when the value is zero, assumes the signal handler has -disabled the timer, and so finishes. - -The trouble was that it was checking the 'time left', which can reach -zero because the interval timer has counted down to zero, and the signal -handler is about to be called, but the interval hasn't been reset back -to 0.4s yet. - -i.e. the code doesn't distinguish between "timer disabled" and "timer -just reached zero". - -In that scenario, the cleanup code in the test script disables the -SIGVTALRM handler while the timer is still active, and so the process -gets killed if another signal is raised. - -This commit changes the test to check the second value returned by -getitmer() for being zero rather than the first - the second being the -repeat interval, whichb is always 0.4 until the timer is disabled. - -Signed-off-by: Petr Písař ---- - dist/Time-HiRes/t/itimer.t | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/dist/Time-HiRes/t/itimer.t b/dist/Time-HiRes/t/itimer.t -index e196b1648c..432b224488 100644 ---- a/dist/Time-HiRes/t/itimer.t -+++ b/dist/Time-HiRes/t/itimer.t -@@ -51,7 +51,9 @@ ok(defined $virt && abs($virt / 0.5) - 1 < $limit, - printf("# getitimer: %s\n", join(" ", - Time::HiRes::getitimer(&Time::HiRes::ITIMER_VIRTUAL))); - --while (Time::HiRes::getitimer(&Time::HiRes::ITIMER_VIRTUAL)) { -+# burn CPU until the VTALRM signal handler sets the repeat interval to -+# zero, indicating that the timer has fired 4 times. -+while ((Time::HiRes::getitimer(&Time::HiRes::ITIMER_VIRTUAL))[1]) { - my $j; - for (1..1000) { $j++ } # Can't be unbreakable, must test getitimer(). - } --- -2.14.4 - diff --git a/perl-5.29.1-Update-Time-Piece-to-CPAN-version-1.33.patch b/perl-5.29.1-Update-Time-Piece-to-CPAN-version-1.33.patch deleted file mode 100644 index e002223..0000000 --- a/perl-5.29.1-Update-Time-Piece-to-CPAN-version-1.33.patch +++ /dev/null @@ -1,189 +0,0 @@ -From 9d890beed61e079102335ef5859d652b4e2c32ac Mon Sep 17 00:00:00 2001 -From: Chris 'BinGOs' Williams -Date: Mon, 20 Aug 2018 11:15:20 +0100 -Subject: [PATCH] Update Time-Piece to CPAN version 1.33 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - - [DELTA] - -1.33 2018-08-18 - - Allow objects in overloaded methods - -Signed-off-by: Petr Písař ---- - Porting/Maintainers.pl | 2 +- - cpan/Time-Piece/Piece.pm | 40 ++++++++++++++++++++++++---------------- - cpan/Time-Piece/Seconds.pm | 2 +- - cpan/Time-Piece/t/06subclass.t | 15 +++++++++++++++ - 4 files changed, 41 insertions(+), 18 deletions(-) - -diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl -index eaf9ed3262..a137ee9483 100755 ---- a/Porting/Maintainers.pl -+++ b/Porting/Maintainers.pl -@@ -1208,7 +1208,7 @@ use File::Glob qw(:case); - }, - - 'Time::Piece' => { -- 'DISTRIBUTION' => 'ESAYM/Time-Piece-1.3204.tar.gz', -+ 'DISTRIBUTION' => 'ESAYM/Time-Piece-1.33.tar.gz', - 'FILES' => q[cpan/Time-Piece], - 'EXCLUDED' => [ qw[reverse_deps.txt] ], - }, -diff --git a/cpan/Time-Piece/Piece.pm b/cpan/Time-Piece/Piece.pm -index 8acba86e76..d5624636c6 100644 ---- a/cpan/Time-Piece/Piece.pm -+++ b/cpan/Time-Piece/Piece.pm -@@ -6,6 +6,7 @@ use XSLoader (); - use Time::Seconds; - use Carp; - use Time::Local; -+use Scalar::Util qw/ blessed /; - - use Exporter (); - -@@ -18,7 +19,7 @@ our %EXPORT_TAGS = ( - ':override' => 'internal', - ); - --our $VERSION = '1.3204'; -+our $VERSION = '1.33'; - - XSLoader::load( 'Time::Piece', $VERSION ); - -@@ -63,13 +64,27 @@ sub gmtime { - $class->_mktime($time, 0); - } - -+ -+# Check if the supplied param is either a normal array (as returned from -+# localtime in list context) or a Time::Piece-like wrapper around one. -+# -+# We need to differentiate between an array ref that we can interrogate and -+# other blessed objects (like overloaded values). -+sub _is_time_struct { -+ return 1 if ref($_[1]) eq 'ARRAY'; -+ return 1 if blessed($_[1]) && $_[1]->isa('Time::Piece'); -+ -+ return 0; -+} -+ -+ - sub new { - my $class = shift; - my ($time) = @_; - - my $self; - -- if (ref($time)) { -+ if ($class->_is_time_struct($time)) { - $self = $time->[c_islocal] ? $class->localtime($time) : $class->gmtime($time); - } - elsif (defined($time)) { -@@ -106,10 +121,9 @@ sub parse { - sub _mktime { - my ($class, $time, $islocal) = @_; - -- $class = eval { (ref $class) && (ref $class)->isa('Time::Piece') } -- ? ref $class -- : $class; -- if (ref($time)) { -+ $class = blessed($class) || $class; -+ -+ if ($class->_is_time_struct($time)) { - my @new_time = @$time; - my @tm_parts = (@new_time[c_sec .. c_mon], $new_time[c_year]+1900); - $new_time[c_epoch] = $islocal ? timelocal(@tm_parts) : timegm(@tm_parts); -@@ -639,7 +653,8 @@ sub cdate { - - sub str_compare { - my ($lhs, $rhs, $reverse) = @_; -- if (UNIVERSAL::isa($rhs, 'Time::Piece')) { -+ -+ if (blessed($rhs) && $rhs->isa('Time::Piece')) { - $rhs = "$rhs"; - } - return $reverse ? $rhs cmp $lhs->cdate : $lhs->cdate cmp $rhs; -@@ -652,9 +667,6 @@ use overload - sub subtract { - my $time = shift; - my $rhs = shift; -- if (UNIVERSAL::isa($rhs, 'Time::Seconds')) { -- $rhs = $rhs->seconds; -- } - - if (shift) - { -@@ -667,7 +679,7 @@ sub subtract { - return $rhs - "$time"; - } - -- if (UNIVERSAL::isa($rhs, 'Time::Piece')) { -+ if (blessed($rhs) && $rhs->isa('Time::Piece')) { - return Time::Seconds->new($time->epoch - $rhs->epoch); - } - else { -@@ -679,10 +691,6 @@ sub subtract { - sub add { - my $time = shift; - my $rhs = shift; -- if (UNIVERSAL::isa($rhs, 'Time::Seconds')) { -- $rhs = $rhs->seconds; -- } -- croak "Invalid rhs of addition: $rhs" if ref($rhs); - - return $time->_mktime(($time->epoch + $rhs), $time->[c_islocal]); - } -@@ -692,7 +700,7 @@ use overload - - sub get_epochs { - my ($lhs, $rhs, $reverse) = @_; -- if (!UNIVERSAL::isa($rhs, 'Time::Piece')) { -+ unless (blessed($rhs) && $rhs->isa('Time::Piece')) { - $rhs = $lhs->new($rhs); - } - if ($reverse) { -diff --git a/cpan/Time-Piece/Seconds.pm b/cpan/Time-Piece/Seconds.pm -index 3a56b74485..71a4bd27f2 100644 ---- a/cpan/Time-Piece/Seconds.pm -+++ b/cpan/Time-Piece/Seconds.pm -@@ -1,7 +1,7 @@ - package Time::Seconds; - use strict; - --our $VERSION = '1.3204'; -+our $VERSION = '1.33'; - - use Exporter 5.57 'import'; - -diff --git a/cpan/Time-Piece/t/06subclass.t b/cpan/Time-Piece/t/06subclass.t -index d6e4315c8f..a72cfb89ac 100644 ---- a/cpan/Time-Piece/t/06subclass.t -+++ b/cpan/Time-Piece/t/06subclass.t -@@ -35,6 +35,21 @@ for my $method (qw(new localtime gmtime)) { - isa_ok($diff, $class, "yesterday via subtraction operator"); - } - -+{ -+ my $g = $class->gmtime; -+ my $l = $class->localtime; -+ -+ #via clone -+ my $l_clone = $class->new($l); -+ isa_ok($l_clone, $class, 'custom localtime via clone'); -+ cmp_ok("$l_clone", 'eq', "$l", 'Clones match'); -+ -+ #via clone with gmtime -+ my $g_clone = $class->new($g); -+ isa_ok($g_clone, $class, 'custom gmtime via clone'); -+ cmp_ok("$g_clone", 'eq', "$g", 'Clones match'); -+} -+ - { - # let's verify that we can use gmtime from T::P without the export magic - my $piece = Time::Piece::gmtime; --- -2.14.4 - diff --git a/perl-5.29.1-perl-133314-test-for-handle-leaks-from-in-place-edit.patch b/perl-5.29.1-perl-133314-test-for-handle-leaks-from-in-place-edit.patch deleted file mode 100644 index b7e7e4b..0000000 --- a/perl-5.29.1-perl-133314-test-for-handle-leaks-from-in-place-edit.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 028f02e7e97a6026ba9ef084c3803ea08d36aa5b Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Wed, 1 Aug 2018 11:55:22 +1000 -Subject: [PATCH 1/2] (perl #133314) test for handle leaks from in-place - editing -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Petr Písař ---- - t/io/nargv.t | 46 +++++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 45 insertions(+), 1 deletion(-) - -diff --git a/t/io/nargv.t b/t/io/nargv.t -index 598ceed617..4482572aeb 100644 ---- a/t/io/nargv.t -+++ b/t/io/nargv.t -@@ -6,7 +6,7 @@ BEGIN { - set_up_inc('../lib'); - } - --print "1..6\n"; -+print "1..7\n"; - - my $j = 1; - for $i ( 1,2,5,4,3 ) { -@@ -84,6 +84,50 @@ sub other { - } - } - -+{ -+ # (perl #133314) directory handle leak -+ # -+ # We process a significant number of files here to make sure any -+ # leaks are significant -+ @ARGV = mkfiles(1 .. 10); -+ for my $file (@ARGV) { -+ open my $f, ">", $file; -+ print $f "\n"; -+ close $f; -+ } -+ local $^I = ".bak"; -+ local $_; -+ while (<>) { -+ s/^/foo/; -+ } -+} -+ -+{ -+ # (perl #133314) directory handle leak -+ # We open three handles here because the file processing opened: -+ # - the original file -+ # - the output file, and finally -+ # - the directory -+ # so we need to open the first two to use up the slots used for the original -+ # and output files. -+ # This test assumes fd are allocated in the typical *nix way - lowest -+ # available, which I believe is the case for the Win32 CRTs too. -+ # If this turns out not to be the case this test will need to skip on -+ # such platforms or only run on a small set of known-good platforms. -+ my $tfile = mkfiles(1); -+ open my $f, "<", $tfile -+ or die "Cannot open temp: $!"; -+ open my $f2, "<", $tfile -+ or die "Cannot open temp: $!"; -+ open my $f3, "<", $tfile -+ or die "Cannot open temp: $!"; -+ print +(fileno($f3) < 20 ? "ok" : "not ok"), " 7 check fd leak\n"; -+ close $f; -+ close $f2; -+ close $f3; -+} -+ -+ - my @files; - sub mkfiles { - foreach (@_) { --- -2.14.4 - diff --git a/perl-5.29.1-utf8.c-Make-safer-a-deprecated-function.patch b/perl-5.29.1-utf8.c-Make-safer-a-deprecated-function.patch deleted file mode 100644 index 167029c..0000000 --- a/perl-5.29.1-utf8.c-Make-safer-a-deprecated-function.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 016c8ffcc6c9d41d145035ef5df607568880e3b3 Mon Sep 17 00:00:00 2001 -From: Karl Williamson -Date: Tue, 24 Jul 2018 17:20:08 -0600 -Subject: [PATCH] utf8.c: Make safer a deprecated function -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This function is only called from deprecated functions, but they may be -moved to ppport.h. It is lacking a length parameter, so malformed UTF-8 -may cause it to read beyond the buffer. This commit causes it to not -read beyond a NUL character, which makes it safe for the common case -that the input is a C string. - -Signed-off-by: Petr Písař ---- - utf8.c | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -diff --git a/utf8.c b/utf8.c -index 8471fb8093..3062f58338 100644 ---- a/utf8.c -+++ b/utf8.c -@@ -3100,7 +3100,9 @@ S_is_utf8_common(pTHX_ const U8 *const p, SV **swash, - * Note that it is assumed that the buffer length of

is enough to - * contain all the bytes that comprise the character. Thus, <*p> should - * have been checked before this call for mal-formedness enough to assure -- * that. */ -+ * that. This function, does make sure to not look past any NUL, so it is -+ * safe to use on C, NUL-terminated, strings */ -+ STRLEN len = my_strnlen((char *) p, UTF8SKIP(p)); - - PERL_ARGS_ASSERT_IS_UTF8_COMMON; - -@@ -3109,9 +3111,8 @@ S_is_utf8_common(pTHX_ const U8 *const p, SV **swash, - * as far as there being enough bytes available in it to accommodate the - * character without reading beyond the end, and pass that number on to the - * validating routine */ -- if (! isUTF8_CHAR(p, p + UTF8SKIP(p))) { -- _force_out_malformed_utf8_message(p, p + UTF8SKIP(p), -- _UTF8_NO_CONFIDENCE_IN_CURLEN, -+ if (! isUTF8_CHAR(p, p + len)) { -+ _force_out_malformed_utf8_message(p, p + len, _UTF8_NO_CONFIDENCE_IN_CURLEN, - 1 /* Die */ ); - NOT_REACHED; /* NOTREACHED */ - } --- -2.14.4 - diff --git a/perl-5.29.2-multiconcat-mutator-not-seen-in-lex.patch b/perl-5.29.2-multiconcat-mutator-not-seen-in-lex.patch deleted file mode 100644 index ddb6c23..0000000 --- a/perl-5.29.2-multiconcat-mutator-not-seen-in-lex.patch +++ /dev/null @@ -1,111 +0,0 @@ -From 0fe04e1dc741a43190e79a985fb0cec0493ebfe9 Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Wed, 29 Aug 2018 14:32:24 +0100 -Subject: [PATCH] multiconcat: mutator not seen in (lex = ...) .= ... -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -RT #133441 - -TL;DR: -(($lex = expr1.expr2) .= expr3) was being misinterpreted as -(expr1 . expr2 . expr3) when the ($lex = expr1) subtree had had the -assign op optimised away by the OPpTARGET_MY optimisation. - -Full details. - -S_maybe_multiconcat() looks for suitable chains of OP_CONCAT to convert -into a single OP_MULTICONCAT. - -Part of the code needs to distinguish between (expr . expr) and -(expr .= expr). This didn't used to be easy, as both are just OP_CONCAT -ops, but with the OPf_STACKED set on the second one. But... - -perl also used to optimise ($a . $b . $c) into ($a . $b) .= $c, to -reuse the padtmp returned by the $a.$b concat. This meant that an -OP_CONCAT could have the OPf_STACKED flag on even when it was a '.' -rather than a '.='. - -I disambiguated these cases by seeing whether the top op in the LHS -expression had the OPf_MOD flag set too - if so, it implies '.='. - -This fails in the specific case where the LHS expression is a -sub-expression which is assigned to a lexical variable, e.g. - - ($lex = $a+$b) .= $c. - -Initially the top node in the LHS expression above is OP_SASSIGN, with -OPf_MOD set due to the enclosing '.='. Then the OPpTARGET_MY -optimisation kicks in, and the ($lex = $a + $b) part of the optree is -converted from - - sassign sKPRMS - add[t4] sK - padsv[a$] s - padsv[$b] s - padsv[$lex] s - -to - add[$lex] sK/TARGMY - padsv[a$] s - padsv[$b] s - -which is all fine and dandy, except that the top node of that optree no -longer has the OPf_MOD flag set, which trips up S_maybe_multiconcat into -no longer spotting that the outer concat is a '.=' rather than a '.'. - -Whether the OPpTARGET_MY optimising code should copy the OPf_MOD from -the being-removed sassign op to its successor is an issue I won't -address here. But in the meantime, the good news is that for 5.28.0 -I added the OPpCONCAT_NESTED private flag, which is set whenever -($a . $b . $c) is optimised into ($a . $b) .= $c. This means that it's -no longer necessary to inspect the OPf_MOD flag of the first child to -disambiguate the two cases. So the fix is trivial. - -Signed-off-by: Petr Písař ---- - op.c | 1 - - t/opbasic/concat.t | 10 +++++++++- - 2 files changed, 9 insertions(+), 2 deletions(-) - -diff --git a/op.c b/op.c -index ddeb484b64..d0dcffbecb 100644 ---- a/op.c -+++ b/op.c -@@ -2722,7 +2722,6 @@ S_maybe_multiconcat(pTHX_ OP *o) - } - else if ( topop->op_type == OP_CONCAT - && (topop->op_flags & OPf_STACKED) -- && (cUNOPo->op_first->op_flags & OPf_MOD) - && (!(topop->op_private & OPpCONCAT_NESTED)) - ) - { -diff --git a/t/opbasic/concat.t b/t/opbasic/concat.t -index 9ce9722f5c..4b73b22c1c 100644 ---- a/t/opbasic/concat.t -+++ b/t/opbasic/concat.t -@@ -39,7 +39,7 @@ sub is { - return $ok; - } - --print "1..253\n"; -+print "1..254\n"; - - ($a, $b, $c) = qw(foo bar); - -@@ -853,3 +853,11 @@ package RT132595 { - my $res = $a.$t.$a.$t; - ::is($res, "b1c1b1c2", "RT #132595"); - } -+ -+# RT #133441 -+# multiconcat wasn't seeing a mutator as a mutator -+{ -+ my ($a, $b) = qw(a b); -+ ($a = 'A'.$b) .= 'c'; -+ is($a, "Abc", "RT #133441"); -+} --- -2.14.4 - diff --git a/perl-5.29.2-perl-132683-don-t-try-to-convert-PL_sv_placeholder-i.patch b/perl-5.29.2-perl-132683-don-t-try-to-convert-PL_sv_placeholder-i.patch deleted file mode 100644 index a938888..0000000 --- a/perl-5.29.2-perl-132683-don-t-try-to-convert-PL_sv_placeholder-i.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 2460a4968c375f226973ba7e7e5fe6cf5a997ddb Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Wed, 21 Feb 2018 16:24:08 +1100 -Subject: [PATCH] (perl #132683) don't try to convert PL_sv_placeholder into a - CV -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Constant folding sets PL_warnhook to PERL_WARNHOOK_FATAL, which is -&PL_sv_placeholder, an undef SV. - -If warn() is called while constant folding, invoke_exception_hook() -attempts to use the value of a non-NULL PL_warnhook as a CV, which -caused an undefined value warning. - -invoke_exception_hook() now treats a PL_warnhook of PERL_WARNHOOK_FATAL -the same as NULL, falling back to the normal warning handling which -throws an exception to abort constant folding. - -Signed-off-by: Petr Písař ---- - t/lib/warnings/util | 29 +++++++++++++++++++++++++++++ - util.c | 2 +- - 2 files changed, 30 insertions(+), 1 deletion(-) - -diff --git a/t/lib/warnings/util b/t/lib/warnings/util -index e82d6a6617..92be6efa73 100644 ---- a/t/lib/warnings/util -+++ b/t/lib/warnings/util -@@ -106,3 +106,32 @@ no warnings 'portable' ; - $a = oct "0047777777777" ; - EXPECT - Octal number > 037777777777 non-portable at - line 5. -+######## -+# util.c -+# NAME 132683: Use of uninitialized value" in warn() with constant folding and overloaded numbers -+use strict; -+use warnings; -+ -+package Foo; -+ -+use overload log => sub { -+ warn "here\n"; # Use of uninitialized value in warn -+ CORE::log($_[0]->{value}); -+}; -+ -+sub import { -+ overload::constant -+ integer => sub { __PACKAGE__->new($_[0]) }; -+} -+ -+sub new { -+ my ($class, $value) = @_; -+ bless {value => $value}, $class; -+} -+ -+package main; -+ -+BEGIN { Foo->import } -+my $x = log(2); -+EXPECT -+here -diff --git a/util.c b/util.c -index 37a71a1a81..ff88a54bf6 100644 ---- a/util.c -+++ b/util.c -@@ -1534,7 +1534,7 @@ S_invoke_exception_hook(pTHX_ SV *ex, bool warn) - /* sv_2cv might call Perl_croak() or Perl_warner() */ - SV * const oldhook = *hook; - -- if (!oldhook) -+ if (!oldhook || oldhook == PERL_WARNHOOK_FATAL) - return FALSE; - - ENTER; --- -2.14.4 - diff --git a/perl-5.29.3-Accept-also-ESTALE-fix-for-RT-133534.patch b/perl-5.29.3-Accept-also-ESTALE-fix-for-RT-133534.patch deleted file mode 100644 index 29f82a7..0000000 --- a/perl-5.29.3-Accept-also-ESTALE-fix-for-RT-133534.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 8508806268d1abe6c533393333ad151e12adfc2d Mon Sep 17 00:00:00 2001 -From: Slaven Rezic -Date: Wed, 3 Oct 2018 10:07:32 -0400 -Subject: [PATCH] Accept also ESTALE (fix for RT #133534) -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -ESTALE may occur in some environments when accessing a -now non-existing directory, e.g. when using NFS or in docker -containers. - -Signed-off-by: Petr Písař ---- - dist/PathTools/t/cwd_enoent.t | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -diff --git a/dist/PathTools/t/cwd_enoent.t b/dist/PathTools/t/cwd_enoent.t -index 8f3a1fb1fb..510c65ed0c 100644 ---- a/dist/PathTools/t/cwd_enoent.t -+++ b/dist/PathTools/t/cwd_enoent.t -@@ -2,7 +2,7 @@ use warnings; - use strict; - - use Config; --use Errno qw(ENOENT); -+use Errno qw(); - use File::Temp qw(tempdir); - use Test::More; - -@@ -19,6 +19,7 @@ unless(mkdir("$tmp/testdir") && chdir("$tmp/testdir") && rmdir("$tmp/testdir")){ - plan tests => 8; - require Cwd; - -+my @acceptable_errnos = (&Errno::ENOENT, (defined &Errno::ESTALE ? &Errno::ESTALE : ())); - foreach my $type (qw(regular perl)) { - SKIP: { - skip "_perl_abs_path() not expected to work", 4 -@@ -36,12 +37,14 @@ foreach my $type (qw(regular perl)) { - $res = Cwd::getcwd(); - $eno = 0+$!; - is $res, undef, "$type getcwd result on non-existent directory"; -- is $eno, ENOENT, "$type getcwd errno on non-existent directory"; -+ ok((grep { $eno == $_ } @acceptable_errnos), "$type getcwd errno on non-existent directory") -+ or diag "Got errno code $eno, expected " . join(", ", @acceptable_errnos); - $! = 0; - $res = Cwd::abs_path("."); - $eno = 0+$!; - is $res, undef, "$type abs_path result on non-existent directory"; -- is $eno, ENOENT, "$type abs_path errno on non-existent directory"; -+ ok((grep { $eno == $_ } @acceptable_errnos), "$type abs_path errno on non-existent directory") -+ or diag "Got errno code $eno, expected " . join(", ", @acceptable_errnos); - } - } - --- -2.17.2 - diff --git a/perl-5.29.5-Avoid-Use-of-uninitialized-value-res-in-numeric-eq-w.patch b/perl-5.29.5-Avoid-Use-of-uninitialized-value-res-in-numeric-eq-w.patch deleted file mode 100644 index 3c08cea..0000000 --- a/perl-5.29.5-Avoid-Use-of-uninitialized-value-res-in-numeric-eq-w.patch +++ /dev/null @@ -1,35 +0,0 @@ -From c950d6fa306a1a0a1e28ece3646aec9490a7ea0e Mon Sep 17 00:00:00 2001 -From: James E Keenan -Date: Sat, 15 Dec 2018 10:29:12 -0500 -Subject: [PATCH] Avoid "Use of uninitialized value $res in numeric eq (==)" - warning -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The test within the SKIP block expects $res to be undef, but the 'skip' -condition itself expects it to be defined and numeric. So we were -getting an uninitialized value warning. In 'skip' condition, test for -definedness before numeric comparison. - -Signed-off-by: Petr Písař ---- - ext/GDBM_File/t/fatal.t | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/ext/GDBM_File/t/fatal.t b/ext/GDBM_File/t/fatal.t -index 01068f3cf4..1cbfdc6018 100644 ---- a/ext/GDBM_File/t/fatal.t -+++ b/ext/GDBM_File/t/fatal.t -@@ -52,7 +52,7 @@ my $res = eval { - }; - - SKIP: { -- skip "Can't trigger failure", 2 if $res == 99; -+ skip "Can't trigger failure", 2 if (defined $res and $res == 99); - - is $res, undef, "eval should return undef"; - --- -2.17.2 - diff --git a/perl-5.29.5-Correct-spelling-error-in-skip-message.patch b/perl-5.29.5-Correct-spelling-error-in-skip-message.patch deleted file mode 100644 index 9ddd644..0000000 --- a/perl-5.29.5-Correct-spelling-error-in-skip-message.patch +++ /dev/null @@ -1,29 +0,0 @@ -From c4df8c74c98b6ecac7f95d0184638f24f0a13bcc Mon Sep 17 00:00:00 2001 -From: James E Keenan -Date: Sat, 15 Dec 2018 09:01:55 -0500 -Subject: [PATCH] Correct spelling error in 'skip' message -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Petr Písař ---- - ext/GDBM_File/t/fatal.t | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/ext/GDBM_File/t/fatal.t b/ext/GDBM_File/t/fatal.t -index 159916901a..01068f3cf4 100644 ---- a/ext/GDBM_File/t/fatal.t -+++ b/ext/GDBM_File/t/fatal.t -@@ -52,7 +52,7 @@ my $res = eval { - }; - - SKIP: { -- skip "Can't tigger failure", 2 if $res == 99; -+ skip "Can't trigger failure", 2 if $res == 99; - - is $res, undef, "eval should return undef"; - --- -2.17.2 - diff --git a/perl-5.29.5-S_hv_delete_common-avoid-undefined-behaviour.patch b/perl-5.29.5-S_hv_delete_common-avoid-undefined-behaviour.patch deleted file mode 100644 index 3f85d31..0000000 --- a/perl-5.29.5-S_hv_delete_common-avoid-undefined-behaviour.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 9ba9a28aaea66bad2de041880a2c4210a911dda6 Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Wed, 21 Nov 2018 12:09:45 +0000 -Subject: [PATCH] S_hv_delete_common(): avoid undefined behaviour -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -ASAN -fsanitize-undefined was tripping on the second of these two lines: - - svp = AvARRAY(isa); - end = svp + AvFILLp(isa)+1; - -In the case where svp is NULL and AvFILLp(isa) is -1, the first addition -is undefined behaviour. Add the 1 first, so that it becomes -svp + (-1+1), which is safe. - -Signed-off-by: Petr Písař ---- - hv.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/hv.c b/hv.c -index d3d02d1046..fc90a5146b 100644 ---- a/hv.c -+++ b/hv.c -@@ -1295,7 +1295,7 @@ S_hv_delete_common(pTHX_ HV *hv, SV *keysv, const char *key, STRLEN klen, - SV **svp, **end; - strip_magic: - svp = AvARRAY(isa); -- end = svp + AvFILLp(isa)+1; -+ end = svp + (AvFILLp(isa)+1); - while (svp < end) { - if (*svp) - mg_free_type(*svp, PERL_MAGIC_isaelem); --- -2.17.2 - diff --git a/perl-5.29.5-handle-code-mixed-compile-and-runtime.patch b/perl-5.29.5-handle-code-mixed-compile-and-runtime.patch deleted file mode 100644 index f296d7c..0000000 --- a/perl-5.29.5-handle-code-mixed-compile-and-runtime.patch +++ /dev/null @@ -1,118 +0,0 @@ -From 278d8c58e85c646b61e60fe48207e090278bb61c Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Tue, 27 Nov 2018 13:26:39 +0000 -Subject: [PATCH] handle /(?(?{code}))/ mixed compile-and runtime -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Where a runtime pattern contains both compile-time and run-time code -blocks, e.g.: - - $re = '(?{ RRR })'; - / $re X(?{ CCC })Y/ - -The compile-time code-block CCC is parsed at the same time as the -surrounding text. The runtime code RRR is parsed at runtime by -constructing a fake pattern and re-parsing it, but with any compile-time -code-blocks blanked out (so they don't get compiled twice). The compiled -regex is then thrown away, but any optrees just created for the runtime -code blocks are kept. - -For example at runtime, the re-parsed pattern looks like: - - / (?{ RRR }) X__________Y/ - -Unfortunately this was failing for the conditional pattern, e.g. - - / $re X(?(?{ CCC }))Y/ - -which was getting blanked as - - / (?{ RRR }) X(?_______)Y/ - -which isn't valid syntax. - -This commit blanks (?{...}) into (?=====) instead which is always legal. - -Signed-off-by: Petr Písař ---- - regcomp.c | 24 +++++++++++++++++++----- - t/re/pat_re_eval.t | 17 ++++++++++++++++- - 2 files changed, 35 insertions(+), 6 deletions(-) - -diff --git a/regcomp.c b/regcomp.c -index bf987f6e28..ff26f2242f 100644 ---- a/regcomp.c -+++ b/regcomp.c -@@ -6756,13 +6756,27 @@ S_compile_runtime_code(pTHX_ RExC_state_t * const pRExC_state, - && n < pRExC_state->code_blocks->count - && s == pRExC_state->code_blocks->cb[n].start) - { -- /* blank out literal code block */ -- assert(pat[s] == '('); -- while (s <= pRExC_state->code_blocks->cb[n].end) { -- *p++ = '_'; -+ /* blank out literal code block so that they aren't -+ * recompiled: eg change from/to: -+ * /(?{xyz})/ -+ * /(?=====)/ -+ * and -+ * /(??{xyz})/ -+ * /(?======)/ -+ * and -+ * /(?(?{xyz}))/ -+ * /(?(?=====))/ -+ */ -+ assert(pat[s] == '('); -+ assert(pat[s+1] == '?'); -+ *p++ = '('; -+ *p++ = '?'; -+ s += 2; -+ while (s < pRExC_state->code_blocks->cb[n].end) { -+ *p++ = '='; - s++; - } -- s--; -+ *p++ = ')'; - n++; - continue; - } -diff --git a/t/re/pat_re_eval.t b/t/re/pat_re_eval.t -index f88a8651a1..8325451377 100644 ---- a/t/re/pat_re_eval.t -+++ b/t/re/pat_re_eval.t -@@ -23,7 +23,7 @@ BEGIN { - - our @global; - --plan tests => 502; # Update this when adding/deleting tests. -+plan tests => 504; # Update this when adding/deleting tests. - - run_tests() unless caller; - -@@ -1301,6 +1301,21 @@ sub run_tests { - ok /^$qr$/, "RT #132772 - run time time qr//"; - } - -+ # RT #133687 -+ # mixing compile-time (?(?{code})) with run-time code blocks -+ # was failing, because the second pass through the parser -+ # (which compiles the runtime code blocks) was failing to adequately -+ # mask the compile-time code blocks to shield them from a second -+ # compile: /X(?{...})Y/ was being correctly masked as /X________Y/ -+ # but /X(?(?{...}))Y/ was being incorrectly masked as -+ # /X(?________)Y/ -+ -+ { -+ use re 'eval'; -+ my $runtime_re = '(??{ "A"; })'; -+ ok "ABC" =~ /^ $runtime_re (?(?{ 1; })BC) $/x, 'RT #133687 yes'; -+ ok "ABC" =~ /^ $runtime_re (?(?{ 0; })xy|BC) $/x, 'RT #133687 yes|no'; -+ } - - } # End of sub run_tests - --- -2.17.2 - diff --git a/perl-5.29.6-First-eof-should-return-true.patch b/perl-5.29.6-First-eof-should-return-true.patch deleted file mode 100644 index 52e37d6..0000000 --- a/perl-5.29.6-First-eof-should-return-true.patch +++ /dev/null @@ -1,45 +0,0 @@ -From eb699a9c8fb7ddfcafc714f1eba1bbc395dc3675 Mon Sep 17 00:00:00 2001 -From: Hauke D -Date: Wed, 12 Dec 2018 22:26:26 +0100 -Subject: [PATCH] First "eof" should return true -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -When no file has previously been opened, "eof" should return true. This -behavior was broken by 32e653230c7ccc (see also [#60978]). - -Signed-off-by: Petr Písař ---- - pp_sys.c | 2 +- - t/io/tell.t | 1 - - 2 files changed, 1 insertion(+), 2 deletions(-) - -diff --git a/pp_sys.c b/pp_sys.c -index 5dc20b14f0..e28e8906f1 100644 ---- a/pp_sys.c -+++ b/pp_sys.c -@@ -2121,7 +2121,7 @@ PP(pp_eof) - } - - if (!gv) -- RETPUSHNO; -+ RETPUSHYES; - - if ((io = GvIO(gv)) && (mg = SvTIED_mg((const SV *)io, PERL_MAGIC_tiedscalar))) { - return tied_method1(SV_CONST(EOF), SP, MUTABLE_SV(io), mg, newSVuv(which)); -diff --git a/t/io/tell.t b/t/io/tell.t -index 30adafbc01..ba106f0cc7 100644 ---- a/t/io/tell.t -+++ b/t/io/tell.t -@@ -189,7 +189,6 @@ seek *$fh,0,0; - is(tell, 0, "argless tell after seek *\$coercible..."); - - { -- local $TODO = "not fixed yet"; - # [perl #133721] - fresh_perl_is(<<'EOI', 'ok', {}, 'eof with no ${^LAST_FH}'); - print "ok" if eof; --- -2.17.2 - diff --git a/perl-5.29.6-PATCH-perl-133756-Failure-to-match-properly.patch b/perl-5.29.6-PATCH-perl-133756-Failure-to-match-properly.patch deleted file mode 100644 index ddb1870..0000000 --- a/perl-5.29.6-PATCH-perl-133756-Failure-to-match-properly.patch +++ /dev/null @@ -1,174 +0,0 @@ -From 739762602079d68c47cbde3b29275e844d0c92ef Mon Sep 17 00:00:00 2001 -From: Karl Williamson -Date: Thu, 10 Jan 2019 20:59:31 -0700 -Subject: [PATCH] PATCH: [perl #133756] Failure to match properly -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This was caused by a counting error. - -An EXACTFish regnode has a finite length it can hold for the string -being matched. If that length is exceeded, a 2nd node is used for the -next segment of the string, for as many regnodes as are needed. - -A problem occurs if a regnode ends with one of the 22 characters in -Unicode 11 that occur in non-final positions of a multi-character fold. -The design of the pattern matching engine doesn't allow matches across -regnodes. Consider, for example if a node ended in the letter 'f' and -the next node begins with the letter 'i'. That sequence should match, -under /i, the ligature "fi" (U+FB01). But it wouldn't because the -pattern splits them across nodes. The solution I adopted was to forbid -a node to end with one of those 22 characters if there is another string -node that follows it. This is not fool proof, for example, if the -entire node consisted of only these characters, one would have to split -it at some position (In that case, we just take as much of the string as -will fit.) But for real life applications, it is good enough. - -What happens if a node ends with one of the 22, is that the node is -shortened so that those are instead placed at the beginning of the -following node. When the code encounters this situation, it backs off -until it finds a character that isn't a non-final fold one, and closes -the node with that one. - -A /i node is filled with the fold of the input, for several reasons. -The most obvious is that it saves time, you can skip folding the pattern -at runtime. But there are reasons based on the design of the optimzer -as well, which I won't go into here, but are documented in regcomp.c. -When we back out the final characters in a node, we also have to back -out the corresponding unfolded characters in the input, so that those -can be (folded) into the following node. Since the number of characters -in the fold may not be the same as unfolded, there is not an easily -discernable correspondence between the input and the folded output. -That means that generally, what has to be done is that the input is -reparsed from the beginning of the node, but the permitted length has -been shortened (we know precisely how much to shorten it to) so that it -will end with something other than the 22. But, the code saves the -previous input character's position (for other reasons), so if we only -have to backup one character, we can just use that and not have to -reparse. - -This bug was that the code thought a two character backup was really a -one character one, and did not reparse the node, creating an off-by-one -error, and a character was simply omitted in the pattern (that should -have started the following node). And the input had two of the 22 -characters adjacent to each other in just the right positions that the -node was split. The bisect showed that when the node size was changed -the bug went away, at least for this particular input string. But a -different, longer, string would have triggered the bug, and this commit -fixes that. - -This bug is actually very unlikely to occur in most real world -applications. That is because other changes in the regex compiler have -caused nodes to be split so that things that don't particpate in folds -at all are separated out into EXACT nodes. (The reason for that is it -allows the optimizer things to grab on to under /i that it wouldn't -otherwise have known about.) That means that anything like this string -would never cause the bug to happen because blanks and commas, etc. -would be in separate nodes, and so no node would ever get large enough -to fill the 238 available byte slots in a node (235 on EBCDIC). Only a -long string without punctuation would trigger it. I have artificially -constructed such a string in the tests added by this commit. - -One of the 22 characters is 't', so long strings of DNA "ACTG" could -trigger this bug. I find it somewhat amusing that this is something -like a DNA transcription error, which occurs in nature at very low -rates, but selection, it is believed, will make sure the error rate is -above zero. - -Signed-off-by: Petr Písař ---- - regcomp.c | 15 ++++++++++----- - t/re/pat_advanced.t | 27 +++++++++++++++++++++++++++ - 2 files changed, 37 insertions(+), 5 deletions(-) - -diff --git a/regcomp.c b/regcomp.c -index 56b83f964a..58cb941b06 100644 ---- a/regcomp.c -+++ b/regcomp.c -@@ -14377,6 +14377,7 @@ S_regatom(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth) - * identifies, so when it is set to less than the full node, we can - * skip the rest of this */ - if (FOLD && p < RExC_end && upper_parse == MAX_NODE_STRING_SIZE) { -+ PERL_UINT_FAST8_T backup_count = 0; - - const STRLEN full_len = len; - -@@ -14393,7 +14394,9 @@ S_regatom(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth) - goto loopdone; - } - -- while (--s >= s0 && IS_NON_FINAL_FOLD(*s)) { } -+ while (--s >= s0 && IS_NON_FINAL_FOLD(*s)) { -+ backup_count++; -+ } - len = s - s0 + 1; - } - else { -@@ -14435,6 +14438,7 @@ S_regatom(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth) - * special case the very first byte in the string, so - * we don't read outside the string */ - s = (s == s0) ? s -1 : (char *) utf8_hop((U8 *) s, -1); -+ backup_count++; - } /* End of loop backwards through the string */ - - /* If there were only problematic characters in the string, -@@ -14458,12 +14462,13 @@ S_regatom(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth) - } else { - - /* Here, the node does contain some characters that aren't -- * problematic. If one such is the final character in the -- * node, we are done */ -- if (len == full_len) { -+ * problematic. If we didn't have to backup any, then the -+ * final character in the node is non-problematic, and we -+ * can take the node as-is */ -+ if (backup_count == 0) { - goto loopdone; - } -- else if (len + ((UTF) ? UTF8SKIP(s) : 1) == full_len) { -+ else if (backup_count == 1) { - - /* If the final character is problematic, but the - * penultimate is not, back-off that last character to -diff --git a/t/re/pat_advanced.t b/t/re/pat_advanced.t -index d90ceeb5bd..ade8b1587a 100644 ---- a/t/re/pat_advanced.t -+++ b/t/re/pat_advanced.t -@@ -2176,6 +2176,33 @@ EOP - } - } - ok(! $failed, "Matched multi-char fold 'ss' across EXACTF node boundaries; if failed, was at count $failed"); -+ -+ for my $non_finals ("t", "ft", "ift", "sift") { -+ my $base_pat = $non_finals . "enKalt"; # (The tail is taken from -+ # the trouble ticket, is -+ # arbitrary) -+ for my $utf8 ("non-UTF-8", "UTF-8") { -+ -+ # Try at different lengths to be sure to get a node boundary -+ for my $repeat (120 .. 270) { # [perl #133756] -+ my $head = ("b" x $repeat) . "\xDC"; -+ my $pat = $base_pat; -+ utf8::upgrade($pat) if $utf8 eq "UTF-8"; -+ $pat = $head . $pat; -+ my $text = $head . $base_pat; -+ -+ if ($text !~ /$pat/i) { -+ $failed = $repeat; -+ last; -+ } -+ } -+ -+ ok(! $failed, "A non-final fold character " -+ . (length($non_finals) - 1) -+ . " characters from the end of an EXACTFish" -+ . " $utf8 pattern works; if failed, was at count $failed"); -+ } -+ } - } - - { --- -2.17.2 - diff --git a/perl-5.29.6-perl-133575-prevent-set-longjmp-clobbering-locals-in.patch b/perl-5.29.6-perl-133575-prevent-set-longjmp-clobbering-locals-in.patch deleted file mode 100644 index 2da159b..0000000 --- a/perl-5.29.6-perl-133575-prevent-set-longjmp-clobbering-locals-in.patch +++ /dev/null @@ -1,111 +0,0 @@ -From 35ad0133df9b65a4e32f2f07a2a05b387bd79591 Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Thu, 3 Jan 2019 10:48:05 +1100 -Subject: [PATCH] (perl #133575) prevent set/longjmp clobbering locals in - S_fold_constants -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -My original approach moved the whole switch into the new function, -but that was a lot messier, and I don't think it's necessary. - -pad_swipe() can throw, but only for panics, and in DESTROY if -refadjust is true, which isn't the case here. - -CLEAR_ERRSV() might throw if the code called by CALLRUNOPS() -puts an object that dies in DESTROY in $@, but I think that -might cause an infinite loop in the original code. - -Signed-off-by: Petr Písař ---- - op.c | 32 ++++++++++++++++++++++++-------- - 1 file changed, 24 insertions(+), 8 deletions(-) - -diff --git a/op.c b/op.c -index 146407ba70..0b46b348cb 100644 ---- a/op.c -+++ b/op.c -@@ -5464,15 +5464,34 @@ S_op_integerize(pTHX_ OP *o) - return o; - } - -+/* This function exists solely to provide a scope to limit -+ setjmp/longjmp() messing with auto variables. -+ */ -+PERL_STATIC_INLINE int -+S_fold_constants_eval(pTHX) { -+ int ret = 0; -+ dJMPENV; -+ -+ JMPENV_PUSH(ret); -+ -+ if (ret == 0) { -+ CALLRUNOPS(aTHX); -+ } -+ -+ JMPENV_POP; -+ -+ return ret; -+} -+ - static OP * - S_fold_constants(pTHX_ OP *const o) - { - dVAR; -- OP * volatile curop; -+ OP *curop; - OP *newop; -- volatile I32 type = o->op_type; -+ I32 type = o->op_type; - bool is_stringify; -- SV * volatile sv = NULL; -+ SV *sv = NULL; - int ret = 0; - OP *old_next; - SV * const oldwarnhook = PL_warnhook; -@@ -5480,7 +5499,6 @@ S_fold_constants(pTHX_ OP *const o) - COP not_compiling; - U8 oldwarn = PL_dowarn; - I32 old_cxix; -- dJMPENV; - - PERL_ARGS_ASSERT_FOLD_CONSTANTS; - -@@ -5582,15 +5600,15 @@ S_fold_constants(pTHX_ OP *const o) - assert(IN_PERL_RUNTIME); - PL_warnhook = PERL_WARNHOOK_FATAL; - PL_diehook = NULL; -- JMPENV_PUSH(ret); - - /* Effective $^W=1. */ - if ( ! (PL_dowarn & G_WARN_ALL_MASK)) - PL_dowarn |= G_WARN_ON; - -+ ret = S_fold_constants_eval(aTHX); -+ - switch (ret) { - case 0: -- CALLRUNOPS(aTHX); - sv = *(PL_stack_sp--); - if (o->op_targ && sv == PAD_SV(o->op_targ)) { /* grab pad temp? */ - pad_swipe(o->op_targ, FALSE); -@@ -5608,7 +5626,6 @@ S_fold_constants(pTHX_ OP *const o) - o->op_next = old_next; - break; - default: -- JMPENV_POP; - /* Don't expect 1 (setjmp failed) or 2 (something called my_exit) */ - PL_warnhook = oldwarnhook; - PL_diehook = olddiehook; -@@ -5616,7 +5633,6 @@ S_fold_constants(pTHX_ OP *const o) - * the stack - eg any nested evals */ - Perl_croak(aTHX_ "panic: fold_constants JMPENV_PUSH returned %d", ret); - } -- JMPENV_POP; - PL_dowarn = oldwarn; - PL_warnhook = oldwarnhook; - PL_diehook = olddiehook; --- -2.17.2 - diff --git a/perl-5.29.6-perl-133721-TODO-test-for-eof-with-no-LAST_FH.patch b/perl-5.29.6-perl-133721-TODO-test-for-eof-with-no-LAST_FH.patch deleted file mode 100644 index 608acd0..0000000 --- a/perl-5.29.6-perl-133721-TODO-test-for-eof-with-no-LAST_FH.patch +++ /dev/null @@ -1,41 +0,0 @@ -From b4e880f3b5c8c8ba39c7c767167801a7caf81821 Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Wed, 2 Jan 2019 11:49:47 +1100 -Subject: [PATCH] [perl #133721] TODO test for eof with no ${^LAST_FH} -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Petr Písař ---- - t/io/tell.t | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -diff --git a/t/io/tell.t b/t/io/tell.t -index 7a046ca6b3..30adafbc01 100644 ---- a/t/io/tell.t -+++ b/t/io/tell.t -@@ -6,7 +6,7 @@ BEGIN { - set_up_inc('../lib'); - } - --plan(35); -+plan(36); - - $TST = 'TST'; - -@@ -187,3 +187,11 @@ seek $fh,0,0; - is(tell, 0, "argless tell after seek \$coercible..."); - seek *$fh,0,0; - is(tell, 0, "argless tell after seek *\$coercible..."); -+ -+{ -+ local $TODO = "not fixed yet"; -+ # [perl #133721] -+ fresh_perl_is(<<'EOI', 'ok', {}, 'eof with no ${^LAST_FH}'); -+print "ok" if eof; -+EOI -+} --- -2.17.2 - diff --git a/perl-5.29.7-Perl_my_cxt_init-fix-potential-race-condition.patch b/perl-5.29.7-Perl_my_cxt_init-fix-potential-race-condition.patch deleted file mode 100644 index 50dd988..0000000 --- a/perl-5.29.7-Perl_my_cxt_init-fix-potential-race-condition.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 61d4c87c940fea028f08f27addc275b469320fda Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Mon, 18 Feb 2019 09:19:38 +0000 -Subject: [PATCH] Perl_my_cxt_init: fix potential race condition -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -(Found by code inspection - I can't reproduce a failure) - -the MY_CXT subsystem, which allows per-thread pseudo-static variables, -has a thread race condition. - -When a module is first loaded, it is allocated unique index (from -PL_my_cxt_index++) which is assigned to the module's my_cxt_index static -var. - -If two threads both try to load an XS module at the same time, its -possible for one thread to set my_cxtp, then a second thread to overwrite -it with a higher value, causing the first thread to use the wrong index -into its local storage. - -Signed-off-by: Petr Písař ---- - util.c | 17 +++++++++++++---- - 1 file changed, 13 insertions(+), 4 deletions(-) - -diff --git a/util.c b/util.c -index 5b6f4bfd27..ae86a8c4a4 100644 ---- a/util.c -+++ b/util.c -@@ -5218,10 +5218,16 @@ Perl_my_cxt_init(pTHX_ int *index, size_t size) - dVAR; - void *p; - PERL_ARGS_ASSERT_MY_CXT_INIT; -+ /* do initial check without locking. -+ * -1: not allocated or another thread currently allocating -+ * other: already allocated by another thread -+ */ - if (*index == -1) { -- /* this module hasn't been allocated an index yet */ - MUTEX_LOCK(&PL_my_ctx_mutex); -- *index = PL_my_cxt_index++; -+ /*now a stricter check with locking */ -+ if (*index == -1) -+ /* this module hasn't been allocated an index yet */ -+ *index = PL_my_cxt_index++; - MUTEX_UNLOCK(&PL_my_ctx_mutex); - } - -@@ -5278,9 +5284,12 @@ Perl_my_cxt_init(pTHX_ const char *my_cxt_key, size_t size) - - index = Perl_my_cxt_index(aTHX_ my_cxt_key); - if (index == -1) { -- /* this module hasn't been allocated an index yet */ - MUTEX_LOCK(&PL_my_ctx_mutex); -- index = PL_my_cxt_index++; -+ /*now a stricter check with locking */ -+ index = Perl_my_cxt_index(aTHX_ my_cxt_key); -+ if (index == -1) -+ /* this module hasn't been allocated an index yet */ -+ index = PL_my_cxt_index++; - MUTEX_UNLOCK(&PL_my_ctx_mutex); - } - --- -2.20.1 - diff --git a/perl-5.29.8-fix-blead-on-non-threaded-builds.patch b/perl-5.29.8-fix-blead-on-non-threaded-builds.patch deleted file mode 100644 index f36c396..0000000 --- a/perl-5.29.8-fix-blead-on-non-threaded-builds.patch +++ /dev/null @@ -1,34 +0,0 @@ -From eef8d518b95b0221f81805d75bd63fbbf2995f3b Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Tue, 12 Mar 2019 07:10:10 +0000 -Subject: [PATCH] fix blead on non-threaded builds -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -My recent v5.29.8-64-g02a9632ac4 commit broke unthreaded builds. -This is the obvious fix. I've heard a report that unthreaded perl -SEGVs now but can't reproduce. - -Signed-off-by: Petr Písař ---- - op.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/op.c b/op.c -index 4e49eeeedf..b4ba9c8f83 100644 ---- a/op.c -+++ b/op.c -@@ -14716,8 +14716,8 @@ S_maybe_multideref(pTHX_ OP *start, OP *orig_o, UV orig_action, U8 hints) - pass); - } - --#ifdef USE_ITHREADS - if (pass) { -+#ifdef USE_ITHREADS - /* Relocate sv to the pad for thread safety */ - op_relocate_sv(&cSVOPo->op_sv, &o->op_targ); - arg->pad_offset = o->op_targ; --- -2.20.1 - diff --git a/perl-5.29.8-handle-scope-error-in-qr.patch b/perl-5.29.8-handle-scope-error-in-qr.patch deleted file mode 100644 index e6a4588..0000000 --- a/perl-5.29.8-handle-scope-error-in-qr.patch +++ /dev/null @@ -1,122 +0,0 @@ -From 170c919fc4986a85062e9292e4cfed24771d2224 Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Tue, 19 Mar 2019 10:58:46 +0000 -Subject: [PATCH] handle scope error in qr/\(?{/ -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -RT #133879 - -In this code: - - BEGIN {$^H = 0x10000 }; # HINT_NEW_RE - qr/\(?{/ - -When the toker sees the 'qr', it looks ahead and thinks that the -pattern *might* contain code blocks, so creates a new anon sub to wrap -compilation of the pattern in (so that any code blocks get compiled as -part of the anon sub rather than the main body of the code). - -Normally at the end of parsing the qr construct, the parser notes that -no code blocks were found, and throws the unneeded CV away and -restores the old PL_compcv (via a LEAVE_SCOPE). This false positive is -normal and is expected in the relevant code paths. - -However, setting the HINT_NEW_RE (which indicates that -overload::constant is present for qr// but with no overloaded function -actually present) causes an error to be raised. The parser does error -recovery and continues. - -However, v5.25.9-148-g7c44985626 added a test to not bother compiling a -pattern if the parser is in an errored state, which again is fine, -except it turns out that if this branch is taken, it skips the 'restore -the old PL_compcv' code, leading to the wrong value for PL_compcv when -ops are freed. - -The fix is simple: move the "skip if errored" test to after PL_compcv -has been restored. - -Signed-off-by: Petr Písař ---- - op.c | 20 ++++++++++++++------ - t/re/reg_eval_scope.t | 14 +++++++++++++- - 2 files changed, 27 insertions(+), 7 deletions(-) - -diff --git a/op.c b/op.c -index 1f7ae3e610..afee9fcf02 100644 ---- a/op.c -+++ b/op.c -@@ -7082,11 +7082,6 @@ Perl_pmruntime(pTHX_ OP *o, OP *expr, OP *repl, UV flags, I32 floor) - rx_flags |= RXf_SPLIT; - } - -- /* Skip compiling if parser found an error for this pattern */ -- if (pm->op_pmflags & PMf_HAS_ERROR) { -- return o; -- } -- - if (!has_code || !eng->op_comp) { - /* compile-time simple constant pattern */ - -@@ -7123,6 +7118,11 @@ Perl_pmruntime(pTHX_ OP *o, OP *expr, OP *repl, UV flags, I32 floor) - pm->op_pmflags &= ~PMf_HAS_CV; - } - -+ /* Skip compiling if parser found an error for this pattern */ -+ if (pm->op_pmflags & PMf_HAS_ERROR) { -+ return o; -+ } -+ - PM_SETRE(pm, - eng->op_comp - ? eng->op_comp(aTHX_ NULL, 0, expr, eng, NULL, NULL, -@@ -7134,7 +7134,15 @@ Perl_pmruntime(pTHX_ OP *o, OP *expr, OP *repl, UV flags, I32 floor) - } - else { - /* compile-time pattern that includes literal code blocks */ -- REGEXP* re = eng->op_comp(aTHX_ NULL, 0, expr, eng, NULL, NULL, -+ -+ REGEXP* re; -+ -+ /* Skip compiling if parser found an error for this pattern */ -+ if (pm->op_pmflags & PMf_HAS_ERROR) { -+ return o; -+ } -+ -+ re = eng->op_comp(aTHX_ NULL, 0, expr, eng, NULL, NULL, - rx_flags, - (pm->op_pmflags | - ((PL_hints & HINT_RE_EVAL) ? PMf_USE_RE_EVAL : 0)) -diff --git a/t/re/reg_eval_scope.t b/t/re/reg_eval_scope.t -index 25b90b6482..3bf937d251 100644 ---- a/t/re/reg_eval_scope.t -+++ b/t/re/reg_eval_scope.t -@@ -12,7 +12,7 @@ BEGIN { - } - } - --plan 48; -+plan 49; - - fresh_perl_is <<'CODE', '781745', {}, '(?{}) has its own lexical scope'; - my $x = 7; my $a = 4; my $b = 5; -@@ -371,3 +371,15 @@ SKIP: { - f3(); - is ($s, \&f3, '__SUB__ qr multi'); - } -+ -+# RT #133879 -+# ensure scope is properly restored when there's an error compiling a -+# "looks a bit like it has (?{}) but doesn't" qr// -+ -+fresh_perl_like <<'CODE', -+ BEGIN {$^H = 0x10000 }; # HINT_NEW_RE -+ qr/\(?{/ -+CODE -+ qr/Constant\(qq\) unknown/, -+ { stderr => 1 }, -+ 'qr/\(?{'; --- -2.20.1 - diff --git a/perl-5.29.9-Fix-recent-double-free-in-S_parse_gv_stash_name.patch b/perl-5.29.9-Fix-recent-double-free-in-S_parse_gv_stash_name.patch deleted file mode 100644 index 6c3f8b3..0000000 --- a/perl-5.29.9-Fix-recent-double-free-in-S_parse_gv_stash_name.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 06cbc317229e882f379e75eb3adf7cf9c071febd Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Wed, 3 Apr 2019 11:06:22 +0100 -Subject: [PATCH] Fix recent double free in S_parse_gv_stash_name() -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -RT #133977 - -My recent commit v5.29.9-29-g657ed7c1c1 moved all buffer freeing to -the end of the function, but missed removing one of the existing frees. - -The problem was spotted by James E Keenan and diagnosed by Tony Cook; I just -added a test. - -A simple reproducer is - -my $def = defined *{"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'x"}; - -Signed-off-by: Petr Písař ---- - gv.c | 1 - - t/op/stash_parse_gv.t | 2 +- - 2 files changed, 1 insertion(+), 2 deletions(-) - -diff --git a/gv.c b/gv.c -index 61085f5c53..3b8759e88a 100644 ---- a/gv.c -+++ b/gv.c -@@ -1665,7 +1665,6 @@ S_parse_gv_stash_name(pTHX_ HV **stash, GV **gv, const char **name, - gvp = (GV**)hv_fetch(*stash, key, is_utf8 ? -((I32)*len) : (I32)*len, add); - *gv = gvp ? *gvp : NULL; - if (!*gv || *gv == (const GV *)&PL_sv_undef) { -- Safefree(tmpfullbuf); /* free our tmpfullbuf if it was used */ - goto notok; - } - /* here we know that *gv && *gv != &PL_sv_undef */ -diff --git a/t/op/stash_parse_gv.t b/t/op/stash_parse_gv.t -index 05694ca8ce..bd9e95cf37 100644 ---- a/t/op/stash_parse_gv.t -+++ b/t/op/stash_parse_gv.t -@@ -23,7 +23,7 @@ foreach my $t (@tests) { - my ( $sub, $name ) = @$t; - - fresh_perl_is( -- qq[sub $sub { print qq[ok\n]} &{"$sub"} ], -+ qq[sub $sub { print qq[ok\n]} &{"$sub"}; my \$d = defined *{"foo$sub"} ], - q[ok], - { switches => ['-w'] }, - $name --- -2.20.1 - diff --git a/perl-5.29.9-avoid-leak-assigning-regexp-to-non-COW-string.patch b/perl-5.29.9-avoid-leak-assigning-regexp-to-non-COW-string.patch deleted file mode 100644 index 63b0f46..0000000 --- a/perl-5.29.9-avoid-leak-assigning-regexp-to-non-COW-string.patch +++ /dev/null @@ -1,109 +0,0 @@ -From 1385ac98c5f75358978bb05c2d6c4134413cf689 Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Fri, 22 Mar 2019 17:38:48 +0000 -Subject: [PATCH] avoid leak assigning regexp to non-COW string -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -In something like - - $s = substr(.....); # $s now a non-COW SvPOK() SV - $r = qr/..../; - $s = $$r; - -$s's previous string buffer would leak when an SVt_REGEXP type SV is -assigned to it. - -Worse, if $s was an SVt_PVPV, it would fail an assert on debugging -builds. - -The fix is to make sure any remaining stringy stuff is cleaned up -before copying the REGEXP. - -Signed-off-by: Petr Písař ---- - regcomp.c | 16 ++++++++++++++++ - t/op/qr.t | 34 +++++++++++++++++++++++++++++++++- - 2 files changed, 49 insertions(+), 1 deletion(-) - -diff --git a/regcomp.c b/regcomp.c -index 15783541a4..e13da83673 100644 ---- a/regcomp.c -+++ b/regcomp.c -@@ -20665,7 +20665,23 @@ Perl_reg_temp_copy(pTHX_ REGEXP *dsv, REGEXP *ssv) - if (!dsv) - dsv = (REGEXP*) newSV_type(SVt_REGEXP); - else { -+ assert(SvTYPE(dsv) == SVt_REGEXP || (SvTYPE(dsv) == SVt_PVLV)); -+ -+ /* our only valid caller, sv_setsv_flags(), should have done -+ * a SV_CHECK_THINKFIRST_COW_DROP() by now */ -+ assert(!SvOOK(dsv)); -+ assert(!SvIsCOW(dsv)); -+ assert(!SvROK(dsv)); -+ -+ if (SvPVX_const(dsv)) { -+ if (SvLEN(dsv)) -+ Safefree(SvPVX(dsv)); -+ SvPVX(dsv) = NULL; -+ } -+ SvLEN_set(dsv, 0); -+ SvCUR_set(dsv, 0); - SvOK_off((SV *)dsv); -+ - if (islv) { - /* For PVLVs, the head (sv_any) points to an XPVLV, while - * the LV's xpvlenu_rx will point to a regexp body, which -diff --git a/t/op/qr.t b/t/op/qr.t -index 32b9e3b23b..e03a465430 100644 ---- a/t/op/qr.t -+++ b/t/op/qr.t -@@ -7,7 +7,7 @@ BEGIN { - require './test.pl'; - } - --plan(tests => 34); -+plan(tests => 37); - - sub r { - return qr/Good/; -@@ -135,3 +135,35 @@ sub { - }; - } - pass("PVLV-as-REGEXP double-free of PVX"); -+ -+# a non-cow SVPV leaked it's string buffer when a REGEXP was assigned to -+# it. Give valgrind/ASan something to work on -+{ -+ my $s = substr("ab",0,1); # generate a non-COW string -+ my $r1 = qr/x/; -+ $s = $$r1; # make sure "a" isn't leaked -+ pass("REGEXP leak"); -+ -+ my $dest = 0; -+ sub Foo99::DESTROY { $dest++ } -+ -+ # ditto but make sure we don't leak a reference -+ { -+ my $ref = bless [], "Foo99"; -+ my $r2 = qr/x/; -+ $ref = $$r2; -+ } -+ is($dest, 1, "REGEXP RV leak"); -+ -+ # and worse, assigning a REGEXP to an PVLV that had a string value -+ # caused an assert failure. Same code, but using $_[0] which is an -+ # lvalue, rather than $s. -+ -+ my %h; -+ sub { -+ $_[0] = substr("ab",0,1); # generate a non-COW string -+ my $r = qr/x/; -+ $_[0] = $$r; # make sure "a" isn't leaked -+ }->($h{foo}); # passes PVLV to sub -+ is($h{foo}, "(?^:x)", "REGEXP PVLV leak"); -+} --- -2.20.1 - diff --git a/perl-5.29.9-avoid-leak-with-local-h-foo-a-n.patch b/perl-5.29.9-avoid-leak-with-local-h-foo-a-n.patch deleted file mode 100644 index 22ec2f2..0000000 --- a/perl-5.29.9-avoid-leak-with-local-h-foo-a-n.patch +++ /dev/null @@ -1,108 +0,0 @@ -From 85df897fcfe76250deecfdeb239ba1e4279d8532 Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Tue, 26 Mar 2019 11:04:07 +0000 -Subject: [PATCH] avoid leak with local $h{foo}, $a[n] -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -When SAVEt_DELETE / SAVEt_ADELETE deletes a hash/array entry on scope -exit, they also decrement the refcount of the hash/array, and for the -hash, also free the saved key. - -However, if the call to hv_delete() or av_delete() dies (e.g. when -calling a tied DELETE method) then the hash/array and key will leak -because leave_scope() calls av/hv_delete(), *then* does the -SvREFCNT_dec() etc. - -The fix is to push new FREEPV/FREESV actions just before calling -av/hv_delete(). - -Signed-off-by: Petr Písař ---- - scope.c | 17 ++++++++++++++--- - t/op/tie.t | 37 +++++++++++++++++++++++++++++++++++++ - 2 files changed, 51 insertions(+), 3 deletions(-) - -diff --git a/scope.c b/scope.c -index 83a7b76893..3e4ee4344b 100644 ---- a/scope.c -+++ b/scope.c -@@ -1253,15 +1253,26 @@ Perl_leave_scope(pTHX_ I32 base) - - case SAVEt_DELETE: - a0 = ap[0]; a1 = ap[1]; a2 = ap[2]; -+ /* hv_delete could die, so free the key and SvREFCNT_dec the -+ * hv by pushing new save actions -+ */ -+ /* ap[0] is the key */ -+ ap[1].any_uv = SAVEt_FREEPV; /* was len */ -+ /* ap[2] is the hv */ -+ ap[3].any_uv = SAVEt_FREESV; /* was SAVEt_DELETE */ -+ PL_savestack_ix += 4; - (void)hv_delete(a2.any_hv, a0.any_pv, a1.any_i32, G_DISCARD); -- SvREFCNT_dec(a2.any_hv); -- Safefree(a0.any_ptr); - break; - - case SAVEt_ADELETE: - a0 = ap[0]; a1 = ap[1]; -+ /* av_delete could die, so SvREFCNT_dec the av by pushing a -+ * new save action -+ */ -+ ap[0].any_av = a1.any_av; -+ ap[1].any_uv = SAVEt_FREESV; -+ PL_savestack_ix += 2; - (void)av_delete(a1.any_av, a0.any_iv, G_DISCARD); -- SvREFCNT_dec(a1.any_av); - break; - - case SAVEt_DESTRUCTOR_X: -diff --git a/t/op/tie.t b/t/op/tie.t -index a2d771a009..bfcafce87a 100644 ---- a/t/op/tie.t -+++ b/t/op/tie.t -@@ -1585,3 +1585,40 @@ print "[$x][$f][$n][$s]\n"; - EXPECT - [3][1][3][0] - [0][2][3][0] -+######## -+# dying while doing a SAVEt_DELETE dureing scope exit leaked a copy of the -+# key. Give ASan something to play with -+sub TIEHASH { bless({}, $_[0]) } -+sub EXISTS { 0 } -+sub DELETE { die; } -+sub DESTROY { print "destroy\n"; } -+ -+eval { -+ my %h; -+ tie %h, "main"; -+ local $h{foo}; -+ print "leaving\n"; -+}; -+print "left\n"; -+EXPECT -+leaving -+destroy -+left -+######## -+# ditto for SAVEt_DELETE with an array -+sub TIEARRAY { bless({}, $_[0]) } -+sub EXISTS { 0 } -+sub DELETE { die; } -+sub DESTROY { print "destroy\n"; } -+ -+eval { -+ my @a; -+ tie @a, "main"; -+ delete local $a[0]; -+ print "leaving\n"; -+}; -+print "left\n"; -+EXPECT -+leaving -+destroy -+left --- -2.20.1 - diff --git a/perl-5.29.9-fix-leak-in-BEGIN-threads-new.patch b/perl-5.29.9-fix-leak-in-BEGIN-threads-new.patch deleted file mode 100644 index 279c60c..0000000 --- a/perl-5.29.9-fix-leak-in-BEGIN-threads-new.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 803bd7c91c63f8f263bed592a33b10cf69f567cf Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Fri, 22 Mar 2019 15:43:56 +0000 -Subject: [PATCH] fix leak in BEGIN { threads->new(...) } -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Normally by the time we reach perl_destruct(), PL_parser should be null -due to having its original (null) value restored by SAVEt_PARSER during -leaving scope (usually before run-time starts in fact). But if a thread -is created within a BEGIN block, the parser is duped, but the -SAVEt_PARSER savestack entry isn't. So PL_parser never gets cleaned up. -Clean it up in perl_destruct() instead. This is a bit of a hack. - -Signed-off-by: Petr Písař ---- - perl.c | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -diff --git a/perl.c b/perl.c -index cdefa99018..1ef425bb25 100644 ---- a/perl.c -+++ b/perl.c -@@ -668,6 +668,21 @@ perl_destruct(pTHXx) - FREETMPS; - assert(PL_scopestack_ix == 0); - -+ /* normally when we get here, PL_parser should be null due to having -+ * its original (null) value restored by SAVEt_PARSER during leaving -+ * scope (usually before run-time starts in fact). -+ * But if a thread is created within a BEGIN block, the parser is -+ * duped, but the SAVEt_PARSER savestack entry isn't. So PL_parser -+ * never gets cleaned up. -+ * Clean it up here instead. This is a bit of a hack. -+ */ -+ if (PL_parser) { -+ /* stop parser_free() stomping on PL_curcop */ -+ PL_parser->saved_curcop = PL_curcop; -+ parser_free(PL_parser); -+ } -+ -+ - /* Need to flush since END blocks can produce output */ - /* flush stdout separately, since we can identify it */ - #ifdef USE_PERLIO --- -2.20.1 - diff --git a/perl-5.29.9-fix-leak-in-Perl__force_out_malformed_utf8_message.patch b/perl-5.29.9-fix-leak-in-Perl__force_out_malformed_utf8_message.patch deleted file mode 100644 index 8b919c4..0000000 --- a/perl-5.29.9-fix-leak-in-Perl__force_out_malformed_utf8_message.patch +++ /dev/null @@ -1,62 +0,0 @@ -From dd0510590a1124f91ef2c615a64cd9bfbb245dd6 Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Tue, 26 Mar 2019 14:58:04 +0000 -Subject: [PATCH] fix leak in Perl__force_out_malformed_utf8_message() -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This function temporarily sets PL_curcop->cop_warnings to pWARN_ALL in -order to enforce mandatory warnings about malformed utf8, but it -didn't restore cop_warnings, so the old value leaked. - -Can be reproduced with, e.g. - - no warnings 'utf8'; - CORE::evalbytes qq{ use utf8; "\\N{abc\x{c0}}"}; - -which is already exercised in t/uni/parser.t. - -Signed-off-by: Petr Písař ---- - utf8.c | 17 +++++++++++++++++ - 1 file changed, 17 insertions(+) - -diff --git a/utf8.c b/utf8.c -index e479400b71..84db2f6aee 100644 ---- a/utf8.c -+++ b/utf8.c -@@ -53,6 +53,19 @@ within non-zero characters. - =cut - */ - -+/* helper for Perl__force_out_malformed_utf8_message(). Like -+ * SAVECOMPILEWARNINGS(), but works with PL_curcop rather than -+ * PL_compiling */ -+ -+static void -+S_restore_cop_warnings(pTHX_ void *p) -+{ -+ if (!specialWARN(PL_curcop->cop_warnings)) -+ PerlMemShared_free(PL_curcop->cop_warnings); -+ PL_curcop->cop_warnings = (STRLEN*)p; -+} -+ -+ - void - Perl__force_out_malformed_utf8_message(pTHX_ - const U8 *const p, /* First byte in UTF-8 sequence */ -@@ -84,6 +97,10 @@ Perl__force_out_malformed_utf8_message(pTHX_ - - PL_dowarn = G_WARN_ALL_ON|G_WARN_ON; - if (PL_curcop) { -+ /* this is like SAVECOMPILEWARNINGS() except with PL_curcop rather -+ * than PL_compiling */ -+ SAVEDESTRUCTOR_X(S_restore_cop_warnings, -+ (void*)PL_curcop->cop_warnings); - PL_curcop->cop_warnings = pWARN_ALL; - } - --- -2.20.1 - diff --git a/perl-5.29.9-fix-leak-in-cloned-regexes.patch b/perl-5.29.9-fix-leak-in-cloned-regexes.patch deleted file mode 100644 index b6139ac..0000000 --- a/perl-5.29.9-fix-leak-in-cloned-regexes.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 75bb5aa48dfcf930533cd069393fc8a45e4ece18 Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Fri, 22 Mar 2019 12:31:57 +0000 -Subject: [PATCH] fix leak in cloned regexes. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -When a regex is cloned for a new thread, the string buffer (which holds -the text of the original pattern) wasn't being freed because SvLEN was -being set to 0. - -For example: - - use threads; - my $r = qr/abc/; - threads->new( sub { 1; })->join; - -In the new thread, $r is cloned but when the thread exits, the string -buffer holding "(?^:abc)" was leaking. - -This was broken by v5.27.2-30-gdf6b4bd565. - -The problem was that in the cloned SV, the buffer was copied, but the -SvLEN(sv) was left set at zero, which along with the SVf_FAKE, mader it -look like the buffer was alien and so not freed. - -SvLEN was 0 in the parent thread's $r, since $r and its compile-time -prototype share the same string buffer (so only the original SV has -SvLEN > 0 - all the copies - within the same thread - have mother_re -pointing to the original). - -When REs are cloned into another thread, mother_re isn't preserved, -so each RE has its own copy of the buffer. - -Signed-off-by: Petr Písař ---- - regcomp.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/regcomp.c b/regcomp.c -index 547b9113e3..15783541a4 100644 ---- a/regcomp.c -+++ b/regcomp.c -@@ -20956,6 +20956,11 @@ Perl_re_dup_guts(pTHX_ const REGEXP *sstr, REGEXP *dstr, CLONE_PARAMS *param) - 2: something we no longer hold a reference on - so we need to copy it locally. */ - RX_WRAPPED(dstr) = SAVEPVN(RX_WRAPPED_const(sstr), SvCUR(sstr)+1); -+ /* set malloced length to a non-zero value so it will be freed -+ * (otherwise in combination with SVf_FAKE it looks like an alien -+ * buffer). It doesn't have to be the actual malloced size, since it -+ * should never be grown */ -+ SvLEN_set(dstr, SvCUR(sstr)+1); - ret->mother_re = NULL; - } - #endif /* PERL_IN_XSUB_RE */ --- -2.20.1 - diff --git a/perl-5.29.9-fix-leak-in-package-name-lookup.patch b/perl-5.29.9-fix-leak-in-package-name-lookup.patch deleted file mode 100644 index f83df05..0000000 --- a/perl-5.29.9-fix-leak-in-package-name-lookup.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 657ed7c1c190e7fad1bac2979944d07245bbeea4 Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Tue, 26 Mar 2019 08:56:55 +0000 -Subject: [PATCH] fix leak in package name lookup -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -S_parse_gv_stash_name() mallocs a temporary buffer when scanning package -names longer than 64 bytes. Depending on how it exits the function, it -doesn't always free the buffer afterwards. Change the function so that -there are only two exit points (which free the buffer) and make other bits -of code goto those two points. - -Can be reproduced with e.g. - -&{"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'x"} - -Similar code is already present in t/op/stash_parse_gv.t - -Signed-off-by: Petr Písař ---- - gv.c | 13 +++++++++---- - 1 file changed, 9 insertions(+), 4 deletions(-) - -diff --git a/gv.c b/gv.c -index ae7f2aa422..61085f5c53 100644 ---- a/gv.c -+++ b/gv.c -@@ -1636,7 +1636,7 @@ S_parse_gv_stash_name(pTHX_ HV **stash, GV **gv, const char **name, - if (!*stash) - *stash = PL_defstash; - if (!*stash || !SvREFCNT(*stash)) /* symbol table under destruction */ -- return FALSE; -+ goto notok; - - *len = name_cursor - *name; - if (name_cursor > nambeg) { /* Skip for initial :: or ' */ -@@ -1666,7 +1666,7 @@ S_parse_gv_stash_name(pTHX_ HV **stash, GV **gv, const char **name, - *gv = gvp ? *gvp : NULL; - if (!*gv || *gv == (const GV *)&PL_sv_undef) { - Safefree(tmpfullbuf); /* free our tmpfullbuf if it was used */ -- return FALSE; -+ goto notok; - } - /* here we know that *gv && *gv != &PL_sv_undef */ - if (SvTYPE(*gv) != SVt_PVGV) -@@ -1707,15 +1707,20 @@ S_parse_gv_stash_name(pTHX_ HV **stash, GV **gv, const char **name, - MUTABLE_HV(SvREFCNT_inc_simple(PL_defstash)); - } - } -- Safefree(tmpfullbuf); /* free our tmpfullbuf if it was used */ -- return TRUE; -+ goto ok; - } - } - } - *len = name_cursor - *name; -+ ok: -+ Safefree(tmpfullbuf); /* free our tmpfullbuf if it was used */ - return TRUE; -+ notok: -+ Safefree(tmpfullbuf); /* free our tmpfullbuf if it was used */ -+ return FALSE; - } - -+ - /* Checks if an unqualified name is in the main stash */ - PERL_STATIC_INLINE bool - S_gv_is_in_main(pTHX_ const char *name, STRLEN len, const U32 is_utf8) --- -2.20.1 - diff --git a/perl-5.29.9-fix-leak-with-local-WARNING_BITS.patch b/perl-5.29.9-fix-leak-with-local-WARNING_BITS.patch deleted file mode 100644 index ec4b0fe..0000000 --- a/perl-5.29.9-fix-leak-with-local-WARNING_BITS.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 1113f30d91f662c876a07b357666f02f04a30a75 Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Mon, 25 Mar 2019 17:18:58 +0000 -Subject: [PATCH] fix leak with local ${^WARNING_BITS} = ... -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -When restoring the old value, need to free the current value first. -Can be reproduced with - - { - local ${^WARNING_BITS} = 'swit'; - } - -when run under ASan or similar. -An equivalent test already exists in t/op/leaky-magic.t. - -Signed-off-by: Petr Písař ---- - mg.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/mg.c b/mg.c -index b022d63442..320e2d39bb 100644 ---- a/mg.c -+++ b/mg.c -@@ -2916,6 +2916,8 @@ Perl_magic_set(pTHX_ SV *sv, MAGIC *mg) - else if (strEQ(mg->mg_ptr+1, "ARNING_BITS")) { - if ( ! (PL_dowarn & G_WARN_ALL_MASK)) { - if (!SvPOK(sv)) { -+ if (!specialWARN(PL_compiling.cop_warnings)) -+ PerlMemShared_free(PL_compiling.cop_warnings); - PL_compiling.cop_warnings = pWARN_STD; - break; - } --- -2.20.1 - diff --git a/perl.spec b/perl.spec index ab6fbd3..1359298 100644 --- a/perl.spec +++ b/perl.spec @@ -1,4 +1,4 @@ -%global perl_version 5.28.2 +%global perl_version 5.30.0 %global perl_epoch 4 %global perl_arch_stem -thread-multi %global perl_archname %{_arch}-%{_os}%{perl_arch_stem} @@ -83,7 +83,7 @@ License: GPL+ or Artistic Epoch: %{perl_epoch} Version: %{perl_version} # release number must be even higher, because dual-lived modules will be broken otherwise -Release: 436%{?dist} +Release: 437%{?dist} Summary: Practical Extraction and Report Language Url: https://www.perl.org/ Source0: https://www.cpan.org/src/5.0/perl-%{perl_version}.tar.xz @@ -133,148 +133,19 @@ Patch8: perl-5.16.3-create_libperl_soname.patch # Install libperl.so to -Dshrpdir value Patch9: perl-5.22.0-Install-libperl.so-to-shrpdir-on-Linux.patch -# Document Math::BigInt::CalcEmu requires Math::BigInt, rhbz#959096, -# CPAN RT#85015 -Patch10: perl-5.18.1-Document-Math-BigInt-CalcEmu-requires-Math-BigInt.patch - # Make *DBM_File desctructors thread-safe, bug #1107543, RT#61912 -Patch11: perl-5.18.2-Destroy-GDBM-NDBM-ODBM-SDBM-_File-objects-only-from-.patch +Patch10: perl-5.18.2-Destroy-GDBM-NDBM-ODBM-SDBM-_File-objects-only-from-.patch # Replace ExtUtils::MakeMaker dependency with ExtUtils::MM::Utils. # This allows not to require perl-devel. Bug #1129443 -Patch12: perl-5.22.1-Replace-EU-MM-dependnecy-with-EU-MM-Utils-in-IPC-Cmd.patch - -# Fix executing arybase::_tie_it() in Safe compartement, RT#131588, -# not yet accepted by upstream -Patch13: perl-5.26.0-perl-131588-be-a-little-more-careful-in-arybase-_tie.patch +Patch11: perl-5.22.1-Replace-EU-MM-dependnecy-with-EU-MM-Utils-in-IPC-Cmd.patch # Link XS modules to pthread library to fix linking with -z defs, # -Patch14: perl-5.27.8-hints-linux-Add-lphtread-to-lddlflags.patch - -# Fix printing a warning about a wide character when matching a regular -# expression while ISO-8859-1 locale is in effect, in upstream after 5.29.0 -Patch17: perl-5.29.0-regexec.c-Call-macro-with-correct-args.patch - -# Fix invoking a check for wide characters while ISO-8859-1 locale is in effect, -# in upstream after 5.29.0 -Patch18: perl-5.29.0-perl.h-Add-parens-around-macro-arguments.patch - -# Fix build conditions in locale.c, in upstream after 5.29.0 -Patch20: perl-5.29.0-locale.c-Fix-conditional-compilation.patch - -# Fix a file descriptor leak in in-place edits, RT#133314, -# in upstream after 5.29.1 -Patch21: perl-5.29.1-perl-133314-test-for-handle-leaks-from-in-place-edit.patch - -# Fix a buffer overrun in deprecated S_is_utf8_common(), -# in upstream after 5.29.1 -Patch23: perl-5.29.1-utf8.c-Make-safer-a-deprecated-function.patch - -# Fix a time race in Time-HiRes/t/itimer.t test, in upstream after 5.29.1 -Patch24: perl-5.29.1-Time-HiRes-t-itimer.t-avoid-race-condition.patch - -# Fix Time::Piece to handle objects in overloaded methods correctly, -# in upstream after 5.29.1 -Patch26: perl-5.29.1-Update-Time-Piece-to-CPAN-version-1.33.patch - -# Fix an assignment to a lexical variable in multiconcatenation expressions, -# RT#133441, in upstream after 5.29.2 -Patch27: perl-5.29.2-multiconcat-mutator-not-seen-in-lex.patch - -# Fix a spurious warning about uninitialized value in warn, RT#132683, -# in upstream after 5.29.2 -Patch28: perl-5.29.2-perl-132683-don-t-try-to-convert-PL_sv_placeholder-i.patch +Patch12: perl-5.27.8-hints-linux-Add-lphtread-to-lddlflags.patch # Pass the correct CFLAGS to dtrace -Patch30: perl-5.28.0-Pass-CFLAGS-to-dtrace.patch - -# Fix PathTools tests to cope with ESTALE error, RT#133534, -# in upstream after 5.29.3 -Patch33: perl-5.29.3-Accept-also-ESTALE-fix-for-RT-133534.patch - -# Fix an undefined behaviour in S_hv_delete_common(), in upstream after 5.29.5 -Patch34: perl-5.29.5-S_hv_delete_common-avoid-undefined-behaviour.patch - -# Fix compiling regular expressions that contain both compile- and run-time -# compiled code blocks, RT#133687, in upstream after 5.29.5 -Patch38: perl-5.29.5-handle-code-mixed-compile-and-runtime.patch - -# Adjust tests to gdbm-1.15, RT#133295, in upstream after 5.29.5 -Patch39: perl-5.28.1-ext-GDBM_File-t-fatal.t-handle-non-fatality.patch -Patch40: perl-5.29.5-Correct-spelling-error-in-skip-message.patch -Patch41: perl-5.29.5-Avoid-Use-of-uninitialized-value-res-in-numeric-eq-w.patch - -# Fix reporting a line number for non-terminated prototypes, RT#133524, -# in upstream after 5.29.6 -Patch44: perl-5.28.1-perl-133524-report-line-number-for-Prototype-not-ter.patch - -# Fix first eof() return value, RT#133721, in upstream after 5.29.6 -Patch45: perl-5.29.6-perl-133721-TODO-test-for-eof-with-no-LAST_FH.patch -Patch46: perl-5.29.6-First-eof-should-return-true.patch - -# Prevent long jumps from clobbering local variables, RT#133575, -# in upstream after 5.29.6 -Patch49: perl-5.29.6-perl-133575-prevent-set-longjmp-clobbering-locals-in.patch - -# Fix a mismatch with a case-insesitive regular expression on a text with -# ligatures, RT#133756, in upstream after 5.29.6 -Patch50: perl-5.29.6-PATCH-perl-133756-Failure-to-match-properly.patch - -# Fix setting magic when changing $^R, RT#133782, in upstream after 5.29.7 -Patch53: perl-5.28.1-perl-133782-set-magic-when-changing-R.patch - -# Fix a race when loading XS modules, in upstream after 5.29.7 -Patch54: perl-5.29.7-Perl_my_cxt_init-fix-potential-race-condition.patch - -# Fix a leak when compiling a typed hash dereference, in upstream after 5.29.8 -Patch56: perl-5.28.1-fix-leak-when-compiling-typed-hash-deref.patch -Patch57: perl-5.29.8-fix-blead-on-non-threaded-builds.patch - -# Fix a buffer overread when handling a scope error in qr/\(?{/, RT#133879, -# in upstream after 5.29.8 -Patch58: perl-5.29.8-handle-scope-error-in-qr.patch - -# Fix a buffer overread when parsing a regular expression with an unknown -# character name, RT#133880, in upstream after 5.29.9 -Patch59: perl-5.28.1-PATCH-perl-133880-assertion-failure.patch - -# Fix mbstate_t initialization in POSIX::mblen, RT#133928, -# in upstream after 5.29.9 -Patch60: perl-5.28.1-Fix-POSIX-mblen-mbstate_t-initialization-on-threaded.patch - -# Fix a memory leak when cloning a regular expression, in upstream after 5.29.9 -Patch61: perl-5.29.9-fix-leak-in-cloned-regexes.patch - -# Fix a memory leak when spawning threads in a BEGIN phase, -# in upstream after 5.29.9 -Patch62: perl-5.29.9-fix-leak-in-BEGIN-threads-new.patch - -# Fix a memory leak when assigning a regular expression to a non-copy-on-write -# string, in upstream after 5.29.9 -Patch63: perl-5.29.9-avoid-leak-assigning-regexp-to-non-COW-string.patch - -# Fix a memory leak when assignig to a localized ${^WARNING_BITS}, -# in upstream after 5.29.9 -Patch64: perl-5.29.9-fix-leak-with-local-WARNING_BITS.patch - -# Fix a memory leak when parsing misindented here-documents, -# in upstream after 5.29.9 -Patch65: perl-5.28.1-fix-a-leak-with-indented-heredocs.patch - -# Fix a memory leak in package name lookup, RT#133977, in upstream after 5.29.9 -Patch66: perl-5.29.9-fix-leak-in-package-name-lookup.patch -Patch67: perl-5.29.9-Fix-recent-double-free-in-S_parse_gv_stash_name.patch - -# Fix a memory leak when deletion in a tied hash dies, in upstream after 5.29.9 -Patch68: perl-5.29.9-avoid-leak-with-local-h-foo-a-n.patch - -# Fix a crash when matching case insensitively, RT#133892, -# in upstream after 5.29.9 -Patch69: perl-5.28.1-perl-133892-coredump-in-Perl_re_intuit_start.patch - -# Fix a memory leak when warning about malformed UTF-8 string -Patch70: perl-5.29.9-fix-leak-in-Perl__force_out_malformed_utf8_message.patch +Patch13: perl-5.28.0-Pass-CFLAGS-to-dtrace.patch # Link XS modules to libperl.so with EU::CBuilder on Linux, bug #960048 Patch200: perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-CBuilder-on-Li.patch @@ -329,7 +200,7 @@ BuildRequires: rsyslog # compat macro needed for rebuild -%global perl_compat perl(:MODULE_COMPAT_5.28.2) +%global perl_compat perl(:MODULE_COMPAT_5.30.0) Requires: %perl_compat Requires: perl-interpreter%{?_isa} = %{perl_epoch}:%{perl_version}-%{release} @@ -342,7 +213,7 @@ Requires: perl-utils %endif Requires: perl-Archive-Tar, perl-Attribute-Handlers, perl-autodie, -Requires: perl-B-Debug, perl-bignum +Requires: perl-bignum Requires: perl-Compress-Raw-Bzip2, Requires: perl-Carp, perl-Compress-Raw-Zlib, perl-Config-Perl-V, Requires: perl-constant, @@ -365,7 +236,7 @@ Requires: perl-HTTP-Tiny, Requires: perl-IO, perl-IO-Compress, perl-IO-Socket-IP Requires: perl-IO-Zlib, perl-IPC-Cmd, perl-IPC-SysV, perl-JSON-PP Requires: perl-libnet, perl-libnetcfg, -Requires: perl-Locale-Codes, perl-Locale-Maketext, +Requires: perl-Locale-Maketext, Requires: perl-Locale-Maketext-Simple Requires: perl-Math-BigInt, perl-Math-BigInt-FastCalc, perl-Math-BigRat, Requires: perl-Math-Complex, perl-Memoize, @@ -481,8 +352,6 @@ Summary: The libraries for the perl run-time License: (GPL+ or Artistic) and HSRL and MIT and UCD # Compat provides Provides: %perl_compat -Provides: perl(:MODULE_COMPAT_5.28.1) -Provides: perl(:MODULE_COMPAT_5.28.0) # Interpreter version to fulfil required genersted from "require 5.006;" Provides: perl(:VERSION) = %{perl_version} # Integeres are 64-bit on all platforms @@ -604,7 +473,7 @@ packages like perldoc by perl-Pod-Perldoc. Summary: A module for Perl manipulation of .tar files License: GPL+ or Artistic Epoch: 0 -Version: 2.30 +Version: 2.32 BuildArch: noarch Requires: %perl_compat Requires: perl(IO::Zlib) >= 1.01 @@ -675,27 +544,11 @@ autodie in preference to "Fatal". %endif %if %{dual_life} || %{rebuild_from_scratch} -%package B-Debug -Summary: Walk Perl syntax tree, print debug information about op-codes -License: GPL+ or Artistic -Epoch: 0 -Version: 1.26 -Requires: %perl_compat -BuildArch: noarch -%if %{defined perl_bootstrap} -%gendep_perl_B_Debug -%endif -Conflicts: perl < 4:5.20.1-310 - -%description B-Debug -Walk Perl syntax tree and print debug information about op-codes. See -B::Concise and B::Terse for other details. - %package bignum Summary: Transparent big number support for Perl License: GPL+ or Artistic Epoch: 0 -Version: 0.49 +Version: 0.51 Requires: %perl_compat Requires: perl(Carp) # Math::BigInt::Lite is optional @@ -742,7 +595,7 @@ but it is a good educated guess. Summary: Low-Level Interface to bzip2 compression library License: GPL+ or Artistic Epoch: 0 -Version: 2.074 +Version: 2.084 Requires: perl(Exporter), perl(File::Temp) %if %{defined perl_bootstrap} %gendep_perl_Compress_Raw_Bzip2 @@ -756,7 +609,7 @@ It is used by IO::Compress::Bzip2. Summary: Low-Level Interface to the zlib compression library License: (GPL+ or Artistic) and zlib Epoch: 0 -Version: 2.076 +Version: 2.084 Requires: %perl_compat %if %{defined perl_bootstrap} %gendep_perl_Compress_Raw_Zlib @@ -772,7 +625,7 @@ It is used by IO::Compress::Zlib. Summary: Structured data retrieval of perl -V output License: GPL+ or Artistic Epoch: 0 -Version: 0.29 +Version: 0.32 Requires: %perl_compat %if %{defined perl_bootstrap} %gendep_perl_Config_Perl_V @@ -824,7 +677,7 @@ away if the constant is false. Summary: Query, download and build perl modules from CPAN sites License: GPL+ or Artistic Epoch: 0 -Version: 2.20 +Version: 2.22 Requires: make # Prefer Archive::Tar and Compress::Zlib over tar and gzip Requires: perl(Archive::Tar) >= 1.50 @@ -953,7 +806,7 @@ used for any other general YAML parsing or generation task. Summary: Stringify perl data structures, suitable for printing and eval License: GPL+ or Artistic Epoch: 0 -Version: 2.170 +Version: 2.174 Requires: %perl_compat Requires: perl(Scalar::Util) Requires: perl(XSLoader) @@ -973,7 +826,7 @@ structures correctly. Summary: Perl5 access to Berkeley DB version 1.x License: GPL+ or Artistic Epoch: 0 -Version: 1.840 +Version: 1.843 Requires: %perl_compat Requires: perl(Fcntl) Requires: perl(XSLoader) @@ -993,7 +846,7 @@ interface defined here mirrors the Berkeley DB interface closely. Summary: A data debugging tool for the XS programmer License: GPL+ or Artistic Epoch: 0 -Version: 1.27 +Version: 1.28 Requires: %perl_compat %if %{defined perl_bootstrap} %gendep_perl_Devel_Peek @@ -1011,7 +864,7 @@ should look. Summary: Perl Pollution Portability header generator License: GPL+ or Artistic Epoch: 0 -Version: 3.40 +Version: 3.52 Requires: %perl_compat %if %{defined perl_bootstrap} %gendep_perl_Devel_PPPort @@ -1095,7 +948,7 @@ Summary: Perl extension for SHA-1/224/256/384/512 License: GPL+ or Artistic # Epoch bump for clean upgrade over old standalone package Epoch: 1 -Version: 6.01 +Version: 6.02 Requires: %perl_compat Requires: perl(Carp) # Recommended @@ -1116,7 +969,7 @@ module can handle all types of input, including partial-byte data. Summary: Character encodings in Perl License: (GPL+ or Artistic) and Artistic 2.0 and UCD Epoch: 4 -Version: 2.97 +Version: 3.01 Requires: %perl_compat %if %{defined perl_bootstrap} %gendep_perl_Encode @@ -1162,7 +1015,7 @@ The easiest and the best alternative is to write your script in UTF-8. Summary: Character encodings in Perl License: (GPL+ or Artistic) and UCD Epoch: 4 -Version: 2.97 +Version: 3.01 Requires: %perl_compat Requires: %{name}-Encode = %{epoch}:%{version}-%{release} Recommends: perl-devel @@ -1200,7 +1053,7 @@ variables to be treated as scalar or array variables. Summary: System errno constants License: GPL+ or Artistic Epoch: 0 -Version: 1.29 +Version: 1.30 Requires: %perl_compat # Errno.pm bakes in kernel version at build time and compares it against # $Config{osvers} at run time. Match exact interpreter build. Bug #1393421. @@ -1221,7 +1074,7 @@ which will export all POSIX defined error numbers. Summary: Experimental features made easy License: GPL+ or Artistic Epoch: 0 -Version: 0.019 +Version: 0.020 Requires: %perl_compat %if %{defined perl_bootstrap} %gendep_perl_experimental @@ -1262,7 +1115,7 @@ Summary: Compile and link C code for Perl modules License: GPL+ or Artistic # Epoch bump for clean upgrade over old standalone package Epoch: 1 -Version: 0.280230 +Version: 0.280231 BuildArch: noarch # C and C++ compilers are highly recommended because compiling code is the # purpose of ExtUtils::CBuilder, bug #1547165 @@ -1342,7 +1195,7 @@ pages, etc. %package ExtUtils-MakeMaker Summary: Create a module Makefile License: GPL+ or Artistic -Epoch: 1 +Epoch: 2 Version: 7.34 # These dependencies are weak in order to relieve building noarch # packages from perl-devel and gcc. See bug #1547165. @@ -1385,7 +1238,7 @@ Create a module Makefile. Summary: Utilities to write and check a MANIFEST file License: GPL+ or Artistic Epoch: 1 -Version: 1.70 +Version: 1.72 Requires: %perl_compat Requires: perl(File::Path) %if %{defined perl_bootstrap} @@ -1401,7 +1254,7 @@ BuildArch: noarch Summary: Write the C code for perlmain.c License: GPL+ or Artistic Epoch: 0 -Version: 1.08 +Version: 1.09 Requires: perl-devel Requires: %perl_compat %if %{defined perl_bootstrap} @@ -1445,7 +1298,7 @@ Summary: Module and a script for converting Perl XS code into C code License: GPL+ or Artistic # Epoch bump for clean upgrade over old standalone package Epoch: 1 -Version: 3.39 +Version: 3.40 Requires: %perl_compat %if %{defined perl_bootstrap} %gendep_perl_ExtUtils_ParseXS @@ -1483,7 +1336,7 @@ File::Fetch is a generic file fetching mechanism. Summary: Create or remove directory trees License: GPL+ or Artistic Epoch: 0 -Version: 2.15 +Version: 2.16 Requires: %perl_compat Requires: perl(Carp) %if %{defined perl_bootstrap} @@ -1503,7 +1356,7 @@ Summary: Return name and handle of a temporary file safely License: GPL+ or Artistic Epoch: 1 # Normalized version -Version: 0.230.400 +Version: 0.230.900 Requires: %perl_compat BuildArch: noarch Requires: perl(File::Path) >= 2.06 @@ -1527,7 +1380,7 @@ can be used to create a temporary directory. Summary: Perl source filters License: GPL+ or Artistic Epoch: 2 -Version: 1.58 +Version: 1.59 Requires: %perl_compat %if %{defined perl_bootstrap} %gendep_perl_Filter @@ -1591,7 +1444,7 @@ enabled by default. Summary: Perl input/output modules License: GPL+ or Artistic Epoch: 0 -Version: 1.39 +Version: 1.40 Requires: %perl_compat %if %{defined perl_bootstrap} %gendep_perl_IO @@ -1606,7 +1459,7 @@ This is a collection of Perl input/output modules. Summary: IO::Compress wrapper for modules License: GPL+ or Artistic Epoch: 0 -Version: 2.074 +Version: 2.084 Requires: %perl_compat Obsoletes: perl-Compress-Zlib <= 2.020 Provides: perl(IO::Uncompress::Bunzip2) @@ -1666,7 +1519,7 @@ Summary: Finding and running system commands made easy License: GPL+ or Artistic # Epoch bump for clean upgrade over old standalone package Epoch: 2 -Version: 1.00 +Version: 1.02 Requires: perl(ExtUtils::MM::Utils) Requires: %perl_compat %if %{defined perl_bootstrap} @@ -1702,7 +1555,7 @@ inter-process calls. Summary: A small, simple, correct HTTP/1.1 client License: GPL+ or Artistic Epoch: 0 -Version: 0.070 +Version: 0.076 Requires: perl(bytes) Requires: perl(Carp) Requires: perl(IO::Socket) @@ -1724,8 +1577,7 @@ resumes after EINTR. %package JSON-PP Summary: JSON::XS compatible pure-Perl module Epoch: 1 -# Real version 2.97001 -Version: 2.97.001 +Version: 4.02 License: GPL+ or Artistic BuildArch: noarch Requires: %perl_compat @@ -1787,33 +1639,6 @@ Conflicts: perl-devel < 4:5.22.0-347 %description libnetcfg The libnetcfg utility can be used to configure the libnet. -%if %{dual_life} || %{rebuild_from_scratch} -%package Locale-Codes -Summary: Distribution of modules to handle locale codes -Epoch: 0 -Version: 3.25 -License: GPL+ or Artistic -Requires: %perl_compat -Requires: perl(constant) -Provides: perl(Locale::Codes) = %{version} -%if %{defined perl_bootstrap} -%gendep_perl_Locale_Codes -%endif -BuildArch: noarch - -# Do not export unversioned module -%global __provides_exclude %{?__provides_exclude:%__provides_exclude|}^perl\\(Locale::Codes\\)\\s*$ - -# Filter dependencies on private modules. Generator: -# for F in $(find lib -type f); do perl -e '$/ = undef; $_ = <>; if (/^package #\R([\w:]*);/m) { print qq{|^perl\\\\($1\\\\)} }' "$F"; done -%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(Locale::Codes::Country_Retired\\)|^perl\\(Locale::Codes::LangFam_Retired\\)|^perl\\(Locale::Codes::Script_Retired\\)|^perl\\(Locale::Codes::LangExt_Codes\\)|^perl\\(Locale::Codes::LangFam_Codes\\)|^perl\\(Locale::Codes::Script_Codes\\)|^perl\\(Locale::Codes::Language_Codes\\)|^perl\\(Locale::Codes::LangExt_Retired\\)|^perl\\(Locale::Codes::Currency_Codes\\)|^perl\\(Locale::Codes::LangVar_Retired\\)|^perl\\(Locale::Codes::Language_Retired\\)|^perl\\(Locale::Codes::Country_Codes\\)|^perl\\(Locale::Codes::LangVar_Codes\\)|^perl\\(Locale::Codes::Currency_Retired\\) - -%description Locale-Codes -Locale-Codes is a distribution containing a set of modules. The modules -each deal with different types of codes which identify parts of the locale -including languages, countries, currency, etc. -%endif - %if %{dual_life} || %{rebuild_from_scratch} %package Locale-Maketext Summary: Framework for localization @@ -1858,8 +1683,8 @@ to alleviate the need of creating Language Classes for module authors. Summary: Arbitrary-size integer and float mathematics License: GPL+ or Artistic Epoch: 1 -# Real version 1.999811 -Version: 1.9998.11 +# Real version 1.999816 +Version: 1.9998.16 Requires: %perl_compat Requires: perl(Carp) # File::Spec not used on recent perl @@ -1880,8 +1705,8 @@ Summary: Math::BigInt::Calc XS implementation License: GPL+ or Artistic Epoch: 0 # Version normalized to dot format -# Real version 0.5006 -Version: 0.500.600 +# Real version 0.5008 +Version: 0.500.800 Requires: %perl_compat %if %{defined perl_bootstrap} %gendep_perl_Math_BigInt_FastCalc @@ -1895,8 +1720,8 @@ This package provides support for faster big integer calculations. Summary: Arbitrary big rational numbers License: GPL+ or Artistic Epoch: 0 -# Real version 0.2613 -Version: 0.2613 +# Real version 0.2614 +Version: 0.2614 Requires: %perl_compat Requires: perl(Math::BigInt) %if %{defined perl_bootstrap} @@ -1973,7 +1798,7 @@ encoder/decoder. These encoding methods are specified in RFC 2045 - MIME Summary: What modules are shipped with versions of perl License: GPL+ or Artistic Epoch: 1 -Version: 5.20190419 +Version: 5.20190522 Requires: %perl_compat Requires: perl(List::Util) Requires: perl(version) >= 0.88 @@ -1991,7 +1816,7 @@ are shipped with each version of perl. Summary: Tool for listing modules shipped with perl License: GPL+ or Artistic Epoch: 1 -Version: 5.20190419 +Version: 5.20190522 Requires: %perl_compat Requires: perl(feature) Requires: perl(version) >= 0.88 @@ -2016,7 +1841,7 @@ Summary: Runtime require of both modules and files License: GPL+ or Artistic # Epoch bump for clean upgrade over old standalone package Epoch: 1 -Version: 0.32 +Version: 0.34 Requires: %perl_compat %if %{defined perl_bootstrap} %gendep_perl_Module_Load @@ -2071,7 +1896,7 @@ offers you a very simple way to mark modules as loaded and/or unloaded. %package Module-Metadata Summary: Gather package and POD information from perl module files Epoch: 0 -Version: 1.000033 +Version: 1.000036 License: GPL+ or Artistic BuildArch: noarch Requires: %perl_compat @@ -2087,7 +1912,7 @@ Gather package and POD information from perl module files Summary: Check a remote host for reachability License: GPL+ or Artistic Epoch: 0 -Version: 2.62 +Version: 2.71 Requires: %perl_compat # Keep Net::Ping::External optional %if %{defined perl_bootstrap} @@ -2125,7 +1950,7 @@ Summary: Establish an ISA relationship with base classes at compile time License: GPL+ or Artistic # Epoch bump for clean upgrade over old standalone package Epoch: 1 -Version: 0.236 +Version: 0.237 Requires: %perl_compat %if %{defined perl_bootstrap} %gendep_perl_parent @@ -2168,7 +1993,7 @@ Params::Check is a generic input parsing/checking mechanism. Summary: PathTools Perl module (Cwd, File::Spec) License: (GPL+ or Artistic) and BSD Epoch: 0 -Version: 3.74 +Version: 3.78 Requires: %perl_compat Requires: perl(Carp) %if %{defined perl_bootstrap} @@ -2185,7 +2010,7 @@ Summary: Frequently asked questions about Perl # Code examples are Public Domain License: (GPL+ or Artistic) and Public Domain Epoch: 0 -Version: 5.021011 +Version: 5.20190126 Requires: %perl_compat %if %{defined perl_bootstrap} %gendep_perl_perlfaq @@ -2394,7 +2219,7 @@ verbose level is 2, then the entire manual page is printed. Summary: Format POD source into various output formats License: (GPL+ or Artistic) and MIT Epoch: 1 -Version: 4.10 +Version: 4.11 BuildArch: noarch Requires: %perl_compat Requires: perl(File::Spec) >= 0.8 @@ -2471,7 +2296,7 @@ includes all of the commonly used pound-defines like AF_INET, SOCK_STREAM, etc. Summary: Persistence for Perl data structures License: GPL+ or Artistic Epoch: 1 -Version: 3.08 +Version: 3.15 Requires: %perl_compat # Carp substitutes missing Log::Agent Requires: perl(Carp) @@ -2589,8 +2414,8 @@ Use TAP::Parser, Test::Harness package was whole rewritten. %package Test-Simple Summary: Basic utilities for writing tests License: (GPL+ or Artistic) and CC0 and Public Domain -Epoch: 2 -Version: 1.302133 +Epoch: 3 +Version: 1.302162 Requires: %perl_compat Requires: perl(Data::Dumper) %if %{defined perl_bootstrap} @@ -2664,7 +2489,7 @@ up long lines, it will not join short lines together. Summary: Thread-safe queues License: GPL+ or Artistic Epoch: 0 -Version: 3.12 +Version: 3.13 Requires: %perl_compat Requires: perl(Carp) %if %{defined perl_bootstrap} @@ -2683,7 +2508,7 @@ any number of threads. Summary: High resolution alarm, sleep, gettimeofday, interval timers License: GPL+ or Artistic Epoch: 0 -Version: 1.9759 +Version: 1.9760 Requires: %perl_compat Requires: perl(Carp) %if %{defined perl_bootstrap} @@ -2702,8 +2527,8 @@ high resolution time and timers. Summary: Efficiently compute time from local and GMT time License: GPL+ or Artistic Epoch: 2 -# Real version 1.25 -Version: 1.250 +# Real version 1.28 +Version: 1.280 Requires: %perl_compat %if %{defined perl_bootstrap} %gendep_perl_Time_Local @@ -2765,7 +2590,7 @@ variables, you need to also load threads::shared. Summary: Perl extension for sharing data structures between threads License: GPL+ or Artistic Epoch: 0 -Version: 1.58 +Version: 1.60 Requires: %perl_compat %if %{defined perl_bootstrap} %gendep_perl_threads_shared @@ -2785,7 +2610,7 @@ hashes and hash refs. Summary: Unicode Collation Algorithm License: (GPL+ or Artistic) and Unicode Epoch: 0 -Version: 1.25 +Version: 1.27 Requires: %perl_compat Requires: perl(Unicode::Normalize) %if %{defined perl_bootstrap} @@ -2823,8 +2648,8 @@ Summary: Perl extension for Version Objects License: GPL+ or Artistic # Epoch bump for clean upgrade over old standalone package Epoch: 7 -# real version 0.9923 -Version: 0.99.23 +# real version 0.9924 +Version: 0.99.24 Requires: %perl_compat %if %{defined perl_bootstrap} %gendep_perl_version @@ -2852,45 +2677,6 @@ Perl extension for Version Objects %patch11 -p1 %patch12 -p1 %patch13 -p1 -%patch14 -p1 -%patch17 -p1 -%patch18 -p1 -%patch20 -p1 -%patch21 -p1 -%patch23 -p1 -%patch24 -p1 -%patch26 -p1 -%patch27 -p1 -%patch28 -p1 -%patch30 -p1 -%patch33 -p1 -%patch34 -p1 -%patch38 -p1 -%patch39 -p1 -%patch40 -p1 -%patch41 -p1 -%patch44 -p1 -%patch45 -p1 -%patch46 -p1 -%patch49 -p1 -%patch50 -p1 -%patch53 -p1 -%patch54 -p1 -%patch56 -p1 -%patch57 -p1 -%patch58 -p1 -%patch59 -p1 -%patch60 -p1 -%patch61 -p1 -%patch62 -p1 -%patch63 -p1 -%patch64 -p1 -%patch65 -p1 -%patch66 -p1 -%patch67 -p1 -%patch68 -p1 -%patch69 -p1 -%patch70 -p1 %patch200 -p1 %patch201 -p1 @@ -2907,44 +2693,10 @@ perl -x patchlevel.h \ 'Fedora Patch6: Dont run one io test due to random builder failures' \ 'Fedora Patch8: Define SONAME for libperl.so' \ 'Fedora Patch9: Install libperl.so to -Dshrpdir value' \ - 'Fedora Patch10: Document Math::BigInt::CalcEmu requires Math::BigInt (CPAN RT#85015)' \ - 'Fedora Patch11: Make *DBM_File desctructors thread-safe (RT#61912)' \ - 'Fedora Patch12: Replace EU::MakeMaker dependency with EU::MM::Utils in IPC::Cmd (bug #1129443)' \ - 'Fedora Patch13: Fix executing arybase::_tie_it() in Safe compartement (RT#131588)' \ - 'Fedora Patch14: Link XS modules to pthread library to fix linking with -z defs' \ - 'Fedora Patch17: Fix printing a warning about a wide character when matching a regular expression while ISO-8859-1 locale is in effect' \ - 'Fedora Patch18: Fix invoking a check for wide characters while ISO-8859-1 locale is in effect' \ - 'Fedora Patch20: Fix build conditions in locale.c' \ - 'Fedora Patch21: Fix a file descriptor leak in in-place edits (RT#133314)' \ - 'Fedora Patch23: Fix a buffer overrun in deprecated S_is_utf8_common()' \ - 'Fedora Patch24: Fix a time race in Time-HiRes/t/itimer.t test' \ - 'Fedora Patch26: Fix Time::Piece to handle objects in overloaded methods correctly' \ - 'Fedora Patch27: Fix an assignment to a lexical variable in multiconcatenation expressions (RT#133441)' \ - 'Fedora Patch28: Fix a spurious warning about uninitialized value in warn (RT#132683)' \ - 'Fedora Patch30: Pass the correct CFLAGS to dtrace' \ - 'Fedora Patch33: Fix PathTools tests to cope with ESTALE error (RT#133534)' \ - 'Fedora Patch34: Fix an undefined behaviour in S_hv_delete_common()' \ - 'Fedora Patch38: Fix compiling regular expressions that contain both compile- and run-time compiled code blocks (RT#133687)' \ - 'Fedora Patch39: Adjust tests to gdbm-1.15 (RT#133295)' \ - 'Fedora Patch44: Fix reporting a line number for non-terminated prototypes (RT#133524)' \ - 'Fedora Patch45: Fix first eof() return value (RT#133721)' \ - 'Fedora Patch49: Prevent long jumps from clobbering local variables (RT#133575)' \ - 'Fedora Patch50: Fix a mismatch with a case-insesitive regular expression on a text with ligatures (RT#133756)' \ - 'Fedora Patch53: Fix setting magic when changing $^R (RT#133782)' \ - 'Fedora Patch54: Fix a race when loading XS modules' \ - 'Fedora Patch56: Fix a leak when compiling a typed hash dereference' \ - 'Fedora Patch58: Fix a buffer overread when handling a scope error in qr/\(?{/ (RT#133879)' \ - 'Fedora Patch59: Fix a buffer overread when parsing a regular expression with an unknown character name (RT#133880)' \ - 'Fedora Patch60: Fix mbstate_t initialization in POSIX::mblen (RT#133928)' \ - 'Fedora Patch61: Fix a memory leak when cloning a regular expression' \ - 'Fedora Patch62: Fix a memory leak when spawning threads in a BEGIN phase' \ - 'Fedora Patch63: Fix a memory leak when assigning a regular expression to a non-copy-on-write string' \ - 'Fedora Patch64: Fix a memory leak when assignig to a localized ${^WARNING_BITS}' \ - 'Fedora Patch65: Fix a memory leak when parsing misindented here-documents' \ - 'Fedora Patch66: Fix a memory leak in package name lookup (RT#133977)' \ - 'Fedora Patch68: Fix a memory leak when deletion in a tied hash dies' \ - 'Fedora Patch69: Fix a crash when matching case insensitively (RT#133892)' \ - 'Fedora Patch70: Fix a memory leak when warning about malformed UTF-8 string' \ + 'Fedora Patch10: Make *DBM_File desctructors thread-safe (RT#61912)' \ + 'Fedora Patch11: Replace EU::MakeMaker dependency with EU::MM::Utils in IPC::Cmd (bug #1129443)' \ + 'Fedora Patch12: Link XS modules to pthread library to fix linking with -z defs' \ + 'Fedora Patch13: Pass the correct CFLAGS to dtrace' \ 'Fedora Patch200: Link XS modules to libperl.so with EU::CBuilder on Linux' \ 'Fedora Patch201: Link XS modules to libperl.so with EU::MM on Linux' \ %{nil} @@ -3326,10 +3078,6 @@ popd %exclude %{_mandir}/man3/autodie::* %exclude %{_mandir}/man3/Fatal.3* -# B-Debug -%exclude %{privlib}/B/Debug.pm -%exclude %{_mandir}/man3/B::Debug.3* - # bignum %exclude %{privlib}/bigint.pm %exclude %{privlib}/bignum.pm @@ -3771,21 +3519,6 @@ popd %exclude %{_bindir}/libnetcfg %exclude %{_mandir}/man1/libnetcfg* -# Locale-Codes -%exclude %dir %{privlib}/Locale -%exclude %{privlib}/Locale/Codes -%exclude %{privlib}/Locale/Codes.* -%exclude %{privlib}/Locale/Country.* -%exclude %{privlib}/Locale/Currency.* -%exclude %{privlib}/Locale/Language.* -%exclude %{privlib}/Locale/Script.* -%exclude %{_mandir}/man3/Locale::Codes::* -%exclude %{_mandir}/man3/Locale::Codes.* -%exclude %{_mandir}/man3/Locale::Country.* -%exclude %{_mandir}/man3/Locale::Currency.* -%exclude %{_mandir}/man3/Locale::Language.* -%exclude %{_mandir}/man3/Locale::Script.* - # Locale-Maketext %exclude %dir %{privlib}/Locale %exclude %dir %{privlib}/Locale/Maketext @@ -3811,12 +3544,10 @@ popd %exclude %{privlib}/Math/BigInt.pm %exclude %dir %exclude %{privlib}/Math/BigInt %exclude %{privlib}/Math/BigInt/Calc.pm -%exclude %{privlib}/Math/BigInt/CalcEmu.pm %exclude %{privlib}/Math/BigInt/Lib.pm %exclude %{_mandir}/man3/Math::BigFloat.* %exclude %{_mandir}/man3/Math::BigInt.* %exclude %{_mandir}/man3/Math::BigInt::Calc.* -%exclude %{_mandir}/man3/Math::BigInt::CalcEmu.* %exclude %{_mandir}/man3/Math::BigInt::Lib.* # Math-BigInt-FastCalc @@ -4220,11 +3951,6 @@ popd %endif %if %{dual_life} || %{rebuild_from_scratch} -%files B-Debug -%dir %{privlib}/B -%{privlib}/B/Debug.pm -%{_mandir}/man3/B::Debug.3* - %files bignum %{privlib}/bigint.pm %{privlib}/bignum.pm @@ -4768,23 +4494,6 @@ popd %{_bindir}/libnetcfg %{_mandir}/man1/libnetcfg* -%if %{dual_life} || %{rebuild_from_scratch} -%files Locale-Codes -%dir %{privlib}/Locale -%{privlib}/Locale/Codes -%{privlib}/Locale/Codes.* -%{privlib}/Locale/Country.* -%{privlib}/Locale/Currency.* -%{privlib}/Locale/Language.* -%{privlib}/Locale/Script.* -%{_mandir}/man3/Locale::Codes::* -%{_mandir}/man3/Locale::Codes.* -%{_mandir}/man3/Locale::Country.* -%{_mandir}/man3/Locale::Currency.* -%{_mandir}/man3/Locale::Language.* -%{_mandir}/man3/Locale::Script.* -%endif - %if %{dual_life} || %{rebuild_from_scratch} %files Locale-Maketext %dir %{privlib}/Locale @@ -4814,12 +4523,10 @@ popd %{privlib}/Math/BigInt.pm %dir %{privlib}/Math/BigInt %{privlib}/Math/BigInt/Calc.pm -%{privlib}/Math/BigInt/CalcEmu.pm %{privlib}/Math/BigInt/Lib.pm %{_mandir}/man3/Math::BigFloat.* %{_mandir}/man3/Math::BigInt.* %{_mandir}/man3/Math::BigInt::Calc.* -%{_mandir}/man3/Math::BigInt::CalcEmu.* %{_mandir}/man3/Math::BigInt::Lib.* %files Math-BigInt-FastCalc @@ -5233,6 +4940,10 @@ popd # Old changelog entries are preserved in CVS. %changelog +* Wed May 22 2019 Jitka Plesnikova - 4:5.30.0-437 +- 5.30.0 bump (see + for release notes) + * Tue Apr 23 2019 Jitka Plesnikova - 4:5.28.2-436 - 5.28.2 bump (see for release notes) diff --git a/sources b/sources index 05f6caa..73122ce 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (perl-5.28.2.tar.xz) = 0f2e4f7cb5d8cf6e00054b3842907e29b6c85902d97fb881d5bea65edbc875fef4e15e064561fac7c8db4939586576dd76a225026c7cca9624261c887b1fdb08 +SHA512 (perl-5.30.0.tar.xz) = 68a295eccd64debd9d6a10f0d5577f872a19ad8c2d702798f6b0f45b8c3af6ab3230768056e2131e9e2e2506d1035b27cfd627c845e32263fe448649c4b98ae9