From 1dabc57a99bfe72efd80585dc7fc21df401ec082 Mon Sep 17 00:00:00 2001 From: eabdullin Date: Wed, 14 May 2025 18:19:42 +0000 Subject: [PATCH] import UBI perl-5.40.2-512.1.el10_0 --- .gitignore | 2 +- .perl.metadata | 1 - ...fication => Pod-Html-license-clarification | 0 SOURCES/gendep.macros | 2100 ------ SOURCES/perl-5.14.1-offtest.patch | 17 - ...-BigInt-CalcEmu-requires-Math-BigInt.patch | 30 - ...-unreliable-t-usleep.t-and-t-utime.t.patch | 73 - ...r-the-UTF8-flag-on-a-glob-if-it-isn-.patch | 72 - ...-little-more-careful-in-arybase-_tie.patch | 61 - ....t-fixup-intermittently-failing-test.patch | 37 - ...-transliterations-with-unprintable-c.patch | 48 - .../perl-5.26.1-fix-do-dir-returning-no.patch | 111 - ...ing-of-braced-subscript-after-parens.patch | 1075 --- .../perl-5.26.1-guard_old_libcrypt_fix.patch | 24 - ...void-undefined-behaviour-in-Copy-etc.patch | 107 - ...5-fail-stat-on-names-with-0-embedded.patch | 223 - ...t-try-to-process-a-char-range-with-n.patch | 54 - ...et-when-statting-a-closed-filehandle.patch | 211 - ...ATCH-perl-133185-Infinite-loop-in-qr.patch | 105 - ...-with-subscripts-the-same-as-normal-.patch | 143 - ...l-test-for-whitespace-tolerance-in-c.patch | 45 - ...rm-system-arg-processing-before-fork.patch | 90 - ....h-Add-parens-around-macro-arguments.patch | 35 - SOURCES/perl-5.26.3-CVE-2020-10543.patch | 34 - SOURCES/perl-5.26.3-CVE-2020-10878.patch | 148 - SOURCES/perl-5.26.3-CVE-2020-12723.patch | 279 - ....3-Net-Ping-Fix-_resolv-return-value.patch | 62 - ...t-croak-on-most-name-lookup-failures.patch | 99 - ...n-t-treat-as-an-escape-in-PATH-for-S.patch | 32 - ...-fixup-File-Glob-degenerate-matching.patch | 258 - ...rt131211.t-to-be-less-sensitive-on-w.patch | 45 - ...-130907-Fix-the-Unicode-Bug-in-split.patch | 226 - ...l-131679-Fix-our-sub-foo-bar-message.patch | 51 - ...-5.27.1-t-lib-warnings-utf8-Fix-test.patch | 30 - ...-Don-t-display-too-many-bytes-in-msg.patch | 43 - ...erl-132167-Parse-error-in-regex_sets.patch | 57 - ...rl-133074-5.26.1-some-coverity-fixes.patch | 71 - ...arnings-due-to-mismatched-types-in-p.patch | 45 - ...7.2-EU-Constant-avoid-uninit-warning.patch | 69 - ...s-of-.-will-always-evaluate-as-.-war.patch | 60 - ...to-prevent-the-similar-mistakes-in-t.patch | 30 - ...id-a-segfault-when-untying-an-object.patch | 32 - ...7.5-Carp-Don-t-choke-on-ISA-constant.patch | 73 - ...ing-of-s-with-overloaded-replacement.patch | 593 -- ...-132442-Fix-stack-with-do-my-sub-l-1.patch | 105 - ...eric-first-argument-of-system-on-VMS.patch | 34 - ...-numericness-of-system-args-on-Win32.patch | 73 - ...clobber-file-bytes-in-encoding-layer.patch | 127 - ...7.9-fix-line-numbers-in-multi-line-s.patch | 68 - ...t-years-to-tests-when-testing-2-digi.patch | 113 - ....29.0-Remove-ext-GDBM_File-t-fatal.t.patch | 94 - ...gexec.c-Call-macro-with-correct-args.patch | 32 - ...rl-5.31.5-PATCH-gh-17218-memory-leak.patch | 22 - config.over | 21 + gendep.macros | 2767 ++++++++ SOURCES/macros.perl => macros.perl | 7 + ...esolv.patch => perl-5.10.0-libresolv.patch | 6 +- ...> perl-5.10.0-x86_64-io-test-failure.patch | 8 +- perl-5.14.1-offtest.patch | 21 + ...to-libperl.so-with-EU-CBuilder-on-Li.patch | 14 +- ...es-to-libperl.so-with-EU-MM-on-Linux.patch | 6 +- ...=> perl-5.16.3-create_libperl_soname.patch | 33 +- ...stall-libperl.so-to-shrpdir-on-Linux.patch | 8 +- ...-MM-methods-as-standalone-ExtUtils-M.patch | 16 +- ...pendnecy-with-EU-MM-Utils-in-IPC-Cmd.patch | 2 +- ...ints-linux-Add-lphtread-to-lddlflags.patch | 0 ...=> perl-5.28.0-Pass-CFLAGS-to-dtrace.patch | 8 +- ...M-ODBM-SDBM-_File-objects-only-from-.patch | 93 +- ...-definition-of-OPTIMIZE-to-.ph-files.patch | 0 ...ibdir64.patch => perl-5.8.0-libdir64.patch | 13 +- ...ATH.patch => perl-USE_MM_LD_RUN_PATH.patch | 12 +- SOURCES/perl-example.stp => perl-example.stp | 0 ...erlbug-tag.patch => perl-perlbug-tag.patch | 8 +- SPECS/perl.spec => perl.spec | 6187 ++++++++++++----- SOURCES/perl.stp => perl.stp | 0 sources | 1 + 76 files changed, 7291 insertions(+), 9609 deletions(-) delete mode 100644 .perl.metadata rename SOURCES/Pod-Html-license-clarification => Pod-Html-license-clarification (100%) delete mode 100644 SOURCES/gendep.macros delete mode 100644 SOURCES/perl-5.14.1-offtest.patch delete mode 100644 SOURCES/perl-5.18.1-Document-Math-BigInt-CalcEmu-requires-Math-BigInt.patch delete mode 100644 SOURCES/perl-5.26.0-Time-HiRes-Fix-unreliable-t-usleep.t-and-t-utime.t.patch delete mode 100644 SOURCES/perl-5.26.0-perl-131263-clear-the-UTF8-flag-on-a-glob-if-it-isn-.patch delete mode 100644 SOURCES/perl-5.26.0-perl-131588-be-a-little-more-careful-in-arybase-_tie.patch delete mode 100644 SOURCES/perl-5.26.0-t-op-hash.t-fixup-intermittently-failing-test.patch delete mode 100644 SOURCES/perl-5.26.1-Fix-deparsing-of-transliterations-with-unprintable-c.patch delete mode 100644 SOURCES/perl-5.26.1-fix-do-dir-returning-no.patch delete mode 100644 SOURCES/perl-5.26.1-fix-parsing-of-braced-subscript-after-parens.patch delete mode 100644 SOURCES/perl-5.26.1-guard_old_libcrypt_fix.patch delete mode 100644 SOURCES/perl-5.26.1-perl-131746-avoid-undefined-behaviour-in-Copy-etc.patch delete mode 100644 SOURCES/perl-5.26.1-perl-131895-fail-stat-on-names-with-0-embedded.patch delete mode 100644 SOURCES/perl-5.26.1-perl-132245-don-t-try-to-process-a-char-range-with-n.patch delete mode 100644 SOURCES/perl-5.26.1-set-when-statting-a-closed-filehandle.patch delete mode 100644 SOURCES/perl-5.26.2-PATCH-perl-133185-Infinite-loop-in-qr.patch delete mode 100644 SOURCES/perl-5.26.2-RC1-Parse-caret-vars-with-subscripts-the-same-as-normal-.patch delete mode 100644 SOURCES/perl-5.26.2-RC1-add-an-additional-test-for-whitespace-tolerance-in-c.patch delete mode 100644 SOURCES/perl-5.26.2-RC1-perform-system-arg-processing-before-fork.patch delete mode 100644 SOURCES/perl-5.26.2-perl.h-Add-parens-around-macro-arguments.patch delete mode 100644 SOURCES/perl-5.26.3-CVE-2020-10543.patch delete mode 100644 SOURCES/perl-5.26.3-CVE-2020-10878.patch delete mode 100644 SOURCES/perl-5.26.3-CVE-2020-12723.patch delete mode 100644 SOURCES/perl-5.26.3-Net-Ping-Fix-_resolv-return-value.patch delete mode 100644 SOURCES/perl-5.26.3-Net-Ping-carp-not-croak-on-most-name-lookup-failures.patch delete mode 100644 SOURCES/perl-5.27.0-perl-129183-don-t-treat-as-an-escape-in-PATH-for-S.patch delete mode 100644 SOURCES/perl-5.27.0-perl-131211-fixup-File-Glob-degenerate-matching.patch delete mode 100644 SOURCES/perl-5.27.1-File-Glob-tweak-rt131211.t-to-be-less-sensitive-on-w.patch delete mode 100644 SOURCES/perl-5.27.1-RT-130907-Fix-the-Unicode-Bug-in-split.patch delete mode 100644 SOURCES/perl-5.27.1-perl-131679-Fix-our-sub-foo-bar-message.patch delete mode 100644 SOURCES/perl-5.27.1-t-lib-warnings-utf8-Fix-test.patch delete mode 100644 SOURCES/perl-5.27.1-utf8n_to_uvchr-Don-t-display-too-many-bytes-in-msg.patch delete mode 100644 SOURCES/perl-5.27.10-PATCH-perl-132167-Parse-error-in-regex_sets.patch delete mode 100644 SOURCES/perl-5.27.10-PATCH-perl-133074-5.26.1-some-coverity-fixes.patch delete mode 100644 SOURCES/perl-5.27.2-Avoid-compiler-warnings-due-to-mismatched-types-in-p.patch delete mode 100644 SOURCES/perl-5.27.2-EU-Constant-avoid-uninit-warning.patch delete mode 100644 SOURCES/perl-5.27.3-avoid-the-address-of-.-will-always-evaluate-as-.-war.patch delete mode 100644 SOURCES/perl-5.27.3-perl-132008-try-to-prevent-the-similar-mistakes-in-t.patch delete mode 100644 SOURCES/perl-5.27.5-Avoid-a-segfault-when-untying-an-object.patch delete mode 100644 SOURCES/perl-5.27.5-Carp-Don-t-choke-on-ISA-constant.patch delete mode 100644 SOURCES/perl-5.27.5-fix-tainting-of-s-with-overloaded-replacement.patch delete mode 100644 SOURCES/perl-5.27.5-perl-132442-Fix-stack-with-do-my-sub-l-1.patch delete mode 100644 SOURCES/perl-5.27.7-Reenable-numeric-first-argument-of-system-on-VMS.patch delete mode 100644 SOURCES/perl-5.27.7-preserve-numericness-of-system-args-on-Win32.patch delete mode 100644 SOURCES/perl-5.27.8-don-t-clobber-file-bytes-in-encoding-layer.patch delete mode 100644 SOURCES/perl-5.27.9-fix-line-numbers-in-multi-line-s.patch delete mode 100644 SOURCES/perl-5.28.2-Only-pass-2-digit-years-to-tests-when-testing-2-digi.patch delete mode 100644 SOURCES/perl-5.29.0-Remove-ext-GDBM_File-t-fatal.t.patch delete mode 100644 SOURCES/perl-5.29.0-regexec.c-Call-macro-with-correct-args.patch delete mode 100644 SOURCES/perl-5.31.5-PATCH-gh-17218-memory-leak.patch create mode 100644 config.over create mode 100644 gendep.macros rename SOURCES/macros.perl => macros.perl (91%) rename SOURCES/perl-5.10.0-libresolv.patch => perl-5.10.0-libresolv.patch (73%) rename SOURCES/perl-5.10.0-x86_64-io-test-failure.patch => perl-5.10.0-x86_64-io-test-failure.patch (62%) create mode 100644 perl-5.14.1-offtest.patch rename SOURCES/perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-CBuilder-on-Li.patch => perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-CBuilder-on-Li.patch (83%) rename SOURCES/perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-MM-on-Linux.patch => perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-MM-on-Linux.patch (89%) rename SOURCES/perl-5.16.3-create_libperl_soname.patch => perl-5.16.3-create_libperl_soname.patch (57%) rename SOURCES/perl-5.22.0-Install-libperl.so-to-shrpdir-on-Linux.patch => perl-5.22.0-Install-libperl.so-to-shrpdir-on-Linux.patch (92%) rename SOURCES/perl-5.22.1-Provide-ExtUtils-MM-methods-as-standalone-ExtUtils-M.patch => perl-5.22.1-Provide-ExtUtils-MM-methods-as-standalone-ExtUtils-M.patch (81%) rename SOURCES/perl-5.22.1-Replace-EU-MM-dependnecy-with-EU-MM-Utils-in-IPC-Cmd.patch => perl-5.22.1-Replace-EU-MM-dependnecy-with-EU-MM-Utils-in-IPC-Cmd.patch (96%) rename SOURCES/perl-5.27.8-hints-linux-Add-lphtread-to-lddlflags.patch => perl-5.27.8-hints-linux-Add-lphtread-to-lddlflags.patch (100%) rename SOURCES/perl-5.26.2-Pass-CFLAGS-to-dtrace.patch => perl-5.28.0-Pass-CFLAGS-to-dtrace.patch (91%) rename SOURCES/perl-5.18.2-Destroy-GDBM-NDBM-ODBM-SDBM-_File-objects-only-from-.patch => perl-5.34.0-Destroy-GDBM-NDBM-ODBM-SDBM-_File-objects-only-from-.patch (75%) rename SOURCES/perl-5.36.0-Add-definition-of-OPTIMIZE-to-.ph-files.patch => perl-5.36.0-Add-definition-of-OPTIMIZE-to-.ph-files.patch (100%) rename SOURCES/perl-5.8.0-libdir64.patch => perl-5.8.0-libdir64.patch (79%) rename SOURCES/perl-USE_MM_LD_RUN_PATH.patch => perl-USE_MM_LD_RUN_PATH.patch (93%) rename SOURCES/perl-example.stp => perl-example.stp (100%) rename SOURCES/perl-perlbug-tag.patch => perl-perlbug-tag.patch (68%) rename SPECS/perl.spec => perl.spec (56%) rename SOURCES/perl.stp => perl.stp (100%) create mode 100644 sources diff --git a/.gitignore b/.gitignore index 5b96920..f621fe1 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/perl-5.26.3.tar.bz2 +perl-5.40.2.tar.xz diff --git a/.perl.metadata b/.perl.metadata deleted file mode 100644 index d4acfc7..0000000 --- a/.perl.metadata +++ /dev/null @@ -1 +0,0 @@ -4c61872bab631427cbb5b519ef8809d3a4c7f921 SOURCES/perl-5.26.3.tar.bz2 diff --git a/SOURCES/Pod-Html-license-clarification b/Pod-Html-license-clarification similarity index 100% rename from SOURCES/Pod-Html-license-clarification rename to Pod-Html-license-clarification diff --git a/SOURCES/gendep.macros b/SOURCES/gendep.macros deleted file mode 100644 index 4b7f07b..0000000 --- a/SOURCES/gendep.macros +++ /dev/null @@ -1,2100 +0,0 @@ -%global gendep_perl \ -%{nil} -%global gendep_perl_Archive_Tar \ -Requires: perl(:VERSION) >= 5.5.0 \ -Requires: perl(Archive::Tar) \ -Requires: perl(Archive::Tar::Constant) \ -Requires: perl(Archive::Tar::File) \ -Requires: perl(Carp) \ -Requires: perl(Config) \ -Requires: perl(Cwd) \ -Requires: perl(Data::Dumper) \ -Requires: perl(Exporter) \ -Requires: perl(File::Basename) \ -Requires: perl(File::Find) \ -Requires: perl(File::Path) \ -Requires: perl(File::Spec) \ -Requires: perl(File::Spec::Unix) \ -Requires: perl(Getopt::Long) \ -Requires: perl(Getopt::Std) \ -Requires: perl(IO::File) \ -Requires: perl(IO::Handle) \ -Requires: perl(IO::Zlib) \ -Requires: perl(Pod::Usage) \ -Requires: perl(constant) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Requires: perl(warnings) \ -Provides: perl(Archive::Tar) = 2.24 \ -Provides: perl(Archive::Tar::Constant) = 2.24 \ -Provides: perl(Archive::Tar::File) = 2.24 \ -%{nil} -%global gendep_perl_Attribute_Handlers \ -Requires: perl(:VERSION) >= 5.6.0 \ -Requires: perl(Carp) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Requires: perl(warnings) \ -Provides: perl(Attribute::Handlers) = 0.99 \ -%{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.24 \ -%{nil} -%global gendep_perl_CPAN \ -Requires: perl(:VERSION) >= 5.6.0 \ -Requires: perl(App::Cpan) \ -Requires: perl(CPAN) >= 1.80 \ -Requires: perl(CPAN::Author) \ -Requires: perl(CPAN::Bundle) \ -Requires: perl(CPAN::CacheMgr) \ -Requires: perl(CPAN::Complete) \ -Requires: perl(CPAN::Debug) \ -Requires: perl(CPAN::DeferredCode) \ -Requires: perl(CPAN::Distribution) \ -Requires: perl(CPAN::Distroprefs) \ -Requires: perl(CPAN::Distrostatus) \ -Requires: perl(CPAN::Exception::RecursiveDependency) \ -Requires: perl(CPAN::Exception::yaml_not_installed) \ -Requires: perl(CPAN::Exception::yaml_process_error) \ -Requires: perl(CPAN::FTP) \ -Requires: perl(CPAN::FTP::netrc) \ -Requires: perl(CPAN::HTTP::Credentials) \ -Requires: perl(CPAN::HandleConfig) \ -Requires: perl(CPAN::Index) >= 1.93 \ -Requires: perl(CPAN::InfoObj) \ -Requires: perl(CPAN::LWP::UserAgent) \ -Requires: perl(CPAN::Mirrors) \ -Requires: perl(CPAN::Module) \ -Requires: perl(CPAN::Prompt) \ -Requires: perl(CPAN::Queue) \ -Requires: perl(CPAN::Shell) \ -Requires: perl(CPAN::Tarzip) \ -Requires: perl(CPAN::URL) \ -Requires: perl(CPAN::Version) \ -Requires: perl(Carp) \ -Requires: perl(Config) \ -Requires: perl(Cwd) \ -Requires: perl(DirHandle) \ -Requires: perl(Exporter) \ -Requires: perl(ExtUtils::MakeMaker) \ -Requires: perl(Fcntl) \ -Requires: perl(File::Basename) \ -Requires: perl(File::Copy) \ -Requires: perl(File::Find) \ -Requires: perl(File::Path) \ -Requires: perl(File::Spec) \ -Requires: perl(File::Spec::Functions) \ -Requires: perl(FileHandle) \ -Requires: perl(Getopt::Std) \ -Requires: perl(HTTP::Tiny) >= 0.005 \ -Requires: perl(Net::Ping) \ -Requires: perl(Safe) \ -Requires: perl(Sys::Hostname) \ -Requires: perl(Text::ParseWords) \ -Requires: perl(Text::Wrap) \ -Requires: perl(autouse) \ -Requires: perl(constant) \ -Requires: perl(if) \ -Requires: perl(overload) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Requires: perl(warnings) \ -Provides: perl(App::Cpan) = 1.66 \ -Provides: perl(CPAN) = 2.18 \ -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.18 \ -Provides: perl(CPAN::Distroprefs) = 6.0001 \ -Provides: perl(CPAN::Distroprefs::Iterator) \ -Provides: perl(CPAN::Distroprefs::Pref) \ -Provides: perl(CPAN::Distroprefs::Result) \ -Provides: perl(CPAN::Distroprefs::Result::Error) \ -Provides: perl(CPAN::Distroprefs::Result::Fatal) \ -Provides: perl(CPAN::Distroprefs::Result::Success) \ -Provides: perl(CPAN::Distroprefs::Result::Warning) \ -Provides: perl(CPAN::Distrostatus) = 5.5 \ -Provides: perl(CPAN::Eval) \ -Provides: perl(CPAN::Exception::RecursiveDependency) = 5.5001 \ -Provides: perl(CPAN::Exception::RecursiveDependency::na) \ -Provides: perl(CPAN::Exception::blocked_urllist) = 1.001 \ -Provides: perl(CPAN::Exception::yaml_not_installed) = 5.5 \ -Provides: perl(CPAN::Exception::yaml_process_error) = 5.5 \ -Provides: perl(CPAN::FTP) = 5.5008 \ -Provides: perl(CPAN::FTP::netrc) = 1.01 \ -Provides: perl(CPAN::FirstTime) = 5.5310 \ -Provides: perl(CPAN::HTTP::Client) = 1.9601 \ -Provides: perl(CPAN::HTTP::Credentials) = 1.9601 \ -Provides: perl(CPAN::HandleConfig) = 5.5008 \ -Provides: perl(CPAN::Index) = 2.12 \ -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::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::Prompt) = 5.5 \ -Provides: perl(CPAN::Queue) = 5.5002 \ -Provides: perl(CPAN::Queue::Item) \ -Provides: perl(CPAN::Shell) = 5.5006 \ -Provides: perl(CPAN::Tarzip) = 5.5012 \ -Provides: perl(CPAN::URL) = 5.5 \ -Provides: perl(CPAN::Version) = 5.5003 \ -%{nil} -%global gendep_perl_CPAN_Meta \ -Requires: perl(:VERSION) >= 5.6.0 \ -Requires: perl(:VERSION) >= 5.8.1 \ -Requires: perl(CPAN::Meta::Converter) >= 2.141170 \ -Requires: perl(CPAN::Meta::Feature) \ -Requires: perl(CPAN::Meta::Prereqs) \ -Requires: perl(CPAN::Meta::Requirements) >= 2.121 \ -Requires: perl(CPAN::Meta::Validator) \ -Requires: perl(Carp) \ -Requires: perl(Exporter) \ -Requires: perl(Parse::CPAN::Meta) >= 1.4400 \ -Requires: perl(Parse::CPAN::Meta) >= 1.4414 \ -Requires: perl(Scalar::Util) \ -Requires: perl(strict) \ -Requires: perl(warnings) \ -Provides: perl(CPAN::Meta) = 2.150010 \ -Provides: perl(CPAN::Meta::Converter) = 2.150010 \ -Provides: perl(CPAN::Meta::Feature) = 2.150010 \ -Provides: perl(CPAN::Meta::History) = 2.150010 \ -Provides: perl(CPAN::Meta::Merge) = 2.150010 \ -Provides: perl(CPAN::Meta::Prereqs) = 2.150010 \ -Provides: perl(CPAN::Meta::Spec) = 2.150010 \ -Provides: perl(CPAN::Meta::Validator) = 2.150010 \ -Provides: perl(Parse::CPAN::Meta) = 2.150010 \ -%{nil} -%global gendep_perl_CPAN_Meta_Requirements \ -Requires: perl(:VERSION) >= 5.6.0 \ -Requires: perl(Carp) \ -Requires: perl(strict) \ -Requires: perl(warnings) \ -Provides: perl(CPAN::Meta::Requirements) = 2.140000 \ -%{nil} -%global gendep_perl_CPAN_Meta_YAML \ -Requires: perl(:VERSION) >= 5.8.1 \ -Requires: perl(B) \ -Requires: perl(Exporter) \ -Requires: perl(Scalar::Util) \ -Requires: perl(strict) \ -Requires: perl(warnings) \ -Provides: perl(CPAN::Meta::YAML) = 0.018 \ -%{nil} -%global gendep_perl_Carp \ -Requires: perl(Carp) \ -Requires: perl(Exporter) \ -Requires: perl(strict) \ -Requires: perl(warnings) \ -Provides: perl(Carp) = 1.42 \ -Provides: perl(Carp::Heavy) = 1.42 \ -Provides: perl(Carp::Heavy) = 1.42 \ -%{nil} -%global gendep_perl_Compress_Raw_Bzip2 \ -Requires: perl(:VERSION) >= 5.6.0 \ -Requires: perl(Carp) \ -Requires: perl(Exporter) \ -Requires: perl(bytes) \ -Requires: perl(constant) \ -Requires: perl(strict) \ -Requires: perl(warnings) \ -Provides: perl(Compress::Raw::Bzip2) = 2.074 \ -%{nil} -%global gendep_perl_Compress_Raw_Bzip2_debuginfo \ -%{nil} -%global gendep_perl_Compress_Raw_Zlib \ -Requires: perl(:VERSION) >= 5.6.0 \ -Requires: perl(Carp) \ -Requires: perl(Exporter) \ -Requires: perl(bytes) \ -Requires: perl(constant) \ -Requires: perl(strict) \ -Requires: perl(warnings) \ -Provides: perl(Compress::Raw::Zlib) = 2.074 \ -%{nil} -%global gendep_perl_Compress_Raw_Zlib_debuginfo \ -%{nil} -%global gendep_perl_Config_Perl_V \ -Requires: perl(Config) \ -Requires: perl(Exporter) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Requires: perl(warnings) \ -Provides: perl(Config::Perl::V) = 0.28 \ -%{nil} -%global gendep_perl_DB_File \ -Requires: perl(:VERSION) >= 5.8.3 \ -Requires: perl(Carp) \ -Requires: perl(Exporter) \ -Requires: perl(File::Spec) \ -Requires: perl(Tie::Hash) \ -Requires: perl(strict) \ -Requires: perl(warnings) \ -Provides: perl(DB_File) = 1.840 \ -Provides: perl(DB_File::BTREEINFO) \ -Provides: perl(DB_File::HASHINFO) \ -Provides: perl(DB_File::RECNOINFO) \ -%{nil} -%global gendep_perl_DB_File_debuginfo \ -%{nil} -%global gendep_perl_Data_Dumper \ -Requires: perl(:VERSION) >= 5.6.0 \ -Requires: perl(Carp) \ -Requires: perl(Exporter) \ -Requires: perl(constant) \ -Provides: perl(Data::Dumper) = 2.167 \ -%{nil} -%global gendep_perl_Data_Dumper_debuginfo \ -%{nil} -%global gendep_perl_Devel_PPPort \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Provides: perl(Devel::PPPort) = 3.35 \ -%{nil} -%global gendep_perl_Devel_Peek \ -Requires: perl(Exporter) \ -Requires: perl(XSLoader) \ -Provides: perl(Devel::Peek) = 1.26 \ -%{nil} -%global gendep_perl_Devel_Peek_debuginfo \ -%{nil} -%global gendep_perl_Devel_SelfStubber \ -Requires: perl(File::Spec) \ -Requires: perl(SelfLoader) \ -Provides: perl(Devel::SelfStubber) = 1.06 \ -%{nil} -%global gendep_perl_Digest \ -Requires: perl(Carp) \ -Requires: perl(Digest) \ -Requires: perl(Exporter) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Provides: perl(Digest) = 1.17 \ -Provides: perl(Digest::base) = 1.16 \ -Provides: perl(Digest::file) = 1.16 \ -%{nil} -%global gendep_perl_Digest_MD5 \ -Requires: perl(Exporter) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Provides: perl(Digest::MD5) = 2.55 \ -%{nil} -%global gendep_perl_Digest_MD5_debuginfo \ -%{nil} -%global gendep_perl_Digest_SHA \ -Requires: perl(:VERSION) >= 5.3.0 \ -Requires: perl(DynaLoader) \ -Requires: perl(Exporter) \ -Requires: perl(Fcntl) \ -Requires: perl(Getopt::Long) \ -Requires: perl(integer) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Requires: perl(warnings) \ -Provides: perl(Digest::SHA) = 5.96 \ -%{nil} -%global gendep_perl_Digest_SHA_debuginfo \ -%{nil} -%global gendep_perl_Encode \ -Requires: perl(:VERSION) >= 5.8.0 \ -Requires: perl(:VERSION) >= 5.8.1 \ -Requires: perl(Carp) \ -Requires: perl(Encode) \ -Requires: perl(Encode::Alias) \ -Requires: perl(Encode::CJKConstants) \ -Requires: perl(Encode::CN::HZ) \ -Requires: perl(Encode::Config) \ -Requires: perl(Encode::Encoding) \ -Requires: perl(Encode::Guess) \ -Requires: perl(Encode::JP::JIS7) \ -Requires: perl(Encode::KR::2022_KR) \ -Requires: perl(Encode::MIME::Header) \ -Requires: perl(Encode::Unicode) \ -Requires: perl(Exporter) >= 5.57 \ -Requires: perl(File::Basename) \ -Requires: perl(Getopt::Long) \ -Requires: perl(Getopt::Std) \ -Requires: perl(MIME::Base64) \ -Requires: perl(XSLoader) \ -Requires: perl(bytes) \ -Requires: perl(constant) \ -Requires: perl(overload) \ -Requires: perl(parent) \ -Requires: perl(re) \ -Requires: perl(strict) \ -Requires: perl(utf8) \ -Requires: perl(vars) \ -Requires: perl(warnings) \ -Provides: perl(Encode) = 2.88 \ -Provides: perl(Encode::Alias) = 2.21 \ -Provides: perl(Encode::Byte) = 2.4 \ -Provides: perl(Encode::CJKConstants) = 2.2 \ -Provides: perl(Encode::CN) = 2.3 \ -Provides: perl(Encode::CN::HZ) = 2.8 \ -Provides: perl(Encode::Config) = 2.5 \ -Provides: perl(Encode::EBCDIC) = 2.2 \ -Provides: perl(Encode::Encoder) = 2.3 \ -Provides: perl(Encode::Encoding) = 2.7 \ -Provides: perl(Encode::GSM0338) = 2.5 \ -Provides: perl(Encode::Guess) = 2.6 \ -Provides: perl(Encode::Internal) \ -Provides: perl(Encode::JP) = 2.4 \ -Provides: perl(Encode::JP::H2Z) = 2.2 \ -Provides: perl(Encode::JP::JIS7) = 2.5 \ -Provides: perl(Encode::KR) = 2.3 \ -Provides: perl(Encode::KR::2022_KR) = 2.3 \ -Provides: perl(Encode::MIME::Header) = 2.24 \ -Provides: perl(Encode::MIME::Header::ISO_2022_JP) = 1.7 \ -Provides: perl(Encode::MIME::Name) = 1.2 \ -Provides: perl(Encode::Symbol) = 2.2 \ -Provides: perl(Encode::TW) = 2.3 \ -Provides: perl(Encode::UTF_EBCDIC) \ -Provides: perl(Encode::Unicode) = 2.15 \ -Provides: perl(Encode::Unicode::UTF7) = 2.8 \ -Provides: perl(Encode::XS) \ -Provides: perl(Encode::utf8) \ -%{nil} -%global gendep_perl_Encode_debuginfo \ -%{nil} -%global gendep_perl_Encode_devel \ -Requires: perl(Config) \ -Requires: perl(File::Find) \ -Requires: perl(Getopt::Std) \ -Requires: perl(constant) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Requires: perl(warnings) \ -%{nil} -%global gendep_perl_Env \ -Requires: perl(Config) \ -Requires: perl(Tie::Array) \ -Provides: perl(Env) = 1.04 \ -Provides: perl(Env::Array) \ -Provides: perl(Env::Array::VMS) \ -%{nil} -%global gendep_perl_Errno \ -Requires: perl(Config) \ -Requires: perl(Exporter) \ -Requires: perl(strict) \ -Provides: perl(Errno) = 1.28 \ -%{nil} -%global gendep_perl_Exporter \ -Requires: perl(:VERSION) >= 5.6.0 \ -Requires: perl(Exporter) \ -Requires: perl(strict) \ -Provides: perl(Exporter) = 5.72 \ -Provides: perl(Exporter::Heavy) \ -%{nil} -%global gendep_perl_ExtUtils_CBuilder \ -Requires: perl(Config) \ -Requires: perl(Cwd) \ -Requires: perl(ExtUtils::CBuilder::Base) \ -Requires: perl(ExtUtils::CBuilder::Platform::Unix) \ -Requires: perl(File::Basename) \ -Requires: perl(File::Path) \ -Requires: perl(File::Spec) \ -Requires: perl(File::Spec::Functions) \ -Requires: perl(File::Temp) \ -Requires: perl(IO::File) \ -Requires: perl(IPC::Cmd) \ -Requires: perl(Perl::OSType) \ -Requires: perl(Text::ParseWords) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Requires: perl(warnings) \ -Provides: perl(ExtUtils::CBuilder) = 0.280225 \ -Provides: perl(ExtUtils::CBuilder::Base) = 0.280225 \ -Provides: perl(ExtUtils::CBuilder::Platform::Unix) = 0.280225 \ -Provides: perl(ExtUtils::CBuilder::Platform::VMS) = 0.280225 \ -Provides: perl(ExtUtils::CBuilder::Platform::Windows) = 0.280225 \ -Provides: perl(ExtUtils::CBuilder::Platform::Windows::BCC) = 0.280225 \ -Provides: perl(ExtUtils::CBuilder::Platform::Windows::GCC) = 0.280225 \ -Provides: perl(ExtUtils::CBuilder::Platform::Windows::MSVC) = 0.280225 \ -Provides: perl(ExtUtils::CBuilder::Platform::aix) = 0.280225 \ -Provides: perl(ExtUtils::CBuilder::Platform::android) = 0.280225 \ -Provides: perl(ExtUtils::CBuilder::Platform::cygwin) = 0.280225 \ -Provides: perl(ExtUtils::CBuilder::Platform::darwin) = 0.280225 \ -Provides: perl(ExtUtils::CBuilder::Platform::dec_osf) = 0.280225 \ -Provides: perl(ExtUtils::CBuilder::Platform::linux) = 0.280206 \ -Provides: perl(ExtUtils::CBuilder::Platform::os2) = 0.280225 \ -%{nil} -%global gendep_perl_ExtUtils_Command \ -Requires: perl(:VERSION) >= 5.5.30 \ -Requires: perl(Exporter) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Provides: perl(ExtUtils::Command) = 7.24 \ -%{nil} -%global gendep_perl_ExtUtils_Embed \ -Requires: perl(Config) \ -Requires: perl(Exporter) \ -Requires: perl(File::Spec) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Provides: perl(ExtUtils::Embed) = 1.34 \ -%{nil} -%global gendep_perl_ExtUtils_Install \ -Requires: perl(:VERSION) >= 5.5.30 \ -Requires: perl(AutoSplit) \ -Requires: perl(Carp) \ -Requires: perl(Config) \ -Requires: perl(Cwd) \ -Requires: perl(Exporter) \ -Requires: perl(ExtUtils::MakeMaker) \ -Requires: perl(ExtUtils::Packlist) \ -Requires: perl(File::Basename) \ -Requires: perl(File::Compare) \ -Requires: perl(File::Copy) \ -Requires: perl(File::Find) \ -Requires: perl(File::Path) \ -Requires: perl(File::Spec) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Provides: perl(ExtUtils::Install) = 2.04 \ -Provides: perl(ExtUtils::Install::Warn) \ -Provides: perl(ExtUtils::Installed) = 2.04 \ -Provides: perl(ExtUtils::Packlist) = 2.04 \ -%{nil} -%global gendep_perl_ExtUtils_MM_Utils \ -Requires: perl(:VERSION) >= 5.6.0 \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Provides: perl(ExtUtils::MM::Utils) = 7.11 \ -%{nil} -%global gendep_perl_ExtUtils_MakeMaker \ -Requires: perl(:VERSION) >= 5.6.0 \ -Requires: perl(:VERSION) >= 5.6.1 \ -Requires: perl(Carp) \ -Requires: perl(Config) \ -Requires: perl(Cwd) \ -Requires: perl(Encode) \ -Requires: perl(Encode::Alias) \ -Requires: perl(Exporter) \ -Requires: perl(ExtUtils::Installed) \ -Requires: perl(ExtUtils::Liblist) \ -Requires: perl(ExtUtils::Liblist::Kid) \ -Requires: perl(ExtUtils::MM) \ -Requires: perl(ExtUtils::MM_Any) \ -Requires: perl(ExtUtils::MM_Unix) \ -Requires: perl(ExtUtils::MM_Win32) \ -Requires: perl(ExtUtils::MY) \ -Requires: perl(ExtUtils::MakeMaker) \ -Requires: perl(ExtUtils::MakeMaker::Config) \ -Requires: perl(ExtUtils::MakeMaker::version) \ -Requires: perl(ExtUtils::Packlist) \ -Requires: perl(File::Basename) \ -Requires: perl(File::Path) \ -Requires: perl(File::Spec) \ -Requires: perl(IO::File) \ -Requires: perl(base) \ -Requires: perl(lib) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Requires: perl(warnings) \ -Provides: perl(ExtUtils::Command::MM) = 7.24 \ -Provides: perl(ExtUtils::Liblist) = 7.24 \ -Provides: perl(ExtUtils::Liblist::Kid) = 7.24 \ -Provides: perl(ExtUtils::MM) = 7.24 \ -Provides: perl(ExtUtils::MM_AIX) = 7.24 \ -Provides: perl(ExtUtils::MM_Any) = 7.24 \ -Provides: perl(ExtUtils::MM_BeOS) = 7.24 \ -Provides: perl(ExtUtils::MM_Cygwin) = 7.24 \ -Provides: perl(ExtUtils::MM_DOS) = 7.24 \ -Provides: perl(ExtUtils::MM_Darwin) = 7.24 \ -Provides: perl(ExtUtils::MM_MacOS) = 7.24 \ -Provides: perl(ExtUtils::MM_NW5) = 7.24 \ -Provides: perl(ExtUtils::MM_OS2) = 7.24 \ -Provides: perl(ExtUtils::MM_QNX) = 7.24 \ -Provides: perl(ExtUtils::MM_UWIN) = 7.24 \ -Provides: perl(ExtUtils::MM_Unix) = 7.24 \ -Provides: perl(ExtUtils::MM_VMS) = 7.24 \ -Provides: perl(ExtUtils::MM_VOS) = 7.24 \ -Provides: perl(ExtUtils::MM_Win32) = 7.24 \ -Provides: perl(ExtUtils::MM_Win95) = 7.24 \ -Provides: perl(ExtUtils::MY) = 7.24 \ -Provides: perl(ExtUtils::MakeMaker) = 7.24 \ -Provides: perl(ExtUtils::MakeMaker::Config) = 7.24 \ -Provides: perl(ExtUtils::MakeMaker::Locale) = 7.24 \ -Provides: perl(ExtUtils::MakeMaker::version) = 7.24 \ -Provides: perl(ExtUtils::Mkbootstrap) = 7.24 \ -Provides: perl(ExtUtils::Mksymlists) = 7.24 \ -Provides: perl(ExtUtils::testlib) = 7.24 \ -Provides: perl(MM) \ -Provides: perl(MY) \ -%{nil} -%global gendep_perl_ExtUtils_Manifest \ -Requires: perl(Carp) \ -Requires: perl(Config) \ -Requires: perl(Exporter) \ -Requires: perl(File::Basename) \ -Requires: perl(File::Copy) \ -Requires: perl(File::Find) \ -Requires: perl(File::Spec) >= 0.8 \ -Requires: perl(strict) \ -Requires: perl(warnings) \ -Provides: perl(ExtUtils::Manifest) = 1.70 \ -%{nil} -%global gendep_perl_ExtUtils_Miniperl \ -Requires: perl(Exporter) \ -Requires: perl(ExtUtils::Embed) >= 1.31 \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Provides: perl(ExtUtils::Miniperl) = 1.06 \ -%{nil} -%global gendep_perl_ExtUtils_ParseXS \ -Requires: perl(:VERSION) >= 5.6.0 \ -Requires: perl(:VERSION) >= 5.6.1 \ -Requires: perl(Config) \ -Requires: perl(Cwd) \ -Requires: perl(Exporter) \ -Requires: perl(ExtUtils::ParseXS) \ -Requires: perl(ExtUtils::ParseXS::Constants) \ -Requires: perl(ExtUtils::ParseXS::CountLines) \ -Requires: perl(ExtUtils::ParseXS::Eval) \ -Requires: perl(ExtUtils::ParseXS::Utilities) \ -Requires: perl(ExtUtils::Typemaps) \ -Requires: perl(ExtUtils::Typemaps::InputMap) \ -Requires: perl(ExtUtils::Typemaps::OutputMap) \ -Requires: perl(ExtUtils::Typemaps::Type) \ -Requires: perl(File::Basename) \ -Requires: perl(File::Spec) \ -Requires: perl(Getopt::Long) \ -Requires: perl(Symbol) \ -Requires: perl(re) \ -Requires: perl(strict) \ -Requires: perl(warnings) \ -Provides: perl(ExtUtils::ParseXS) = 3.34 \ -Provides: perl(ExtUtils::ParseXS::Constants) = 3.34 \ -Provides: perl(ExtUtils::ParseXS::CountLines) = 3.34 \ -Provides: perl(ExtUtils::ParseXS::Eval) = 3.34 \ -Provides: perl(ExtUtils::ParseXS::Utilities) = 3.34 \ -Provides: perl(ExtUtils::Typemaps) = 3.34 \ -Provides: perl(ExtUtils::Typemaps::Cmd) = 3.34 \ -Provides: perl(ExtUtils::Typemaps::InputMap) = 3.34 \ -Provides: perl(ExtUtils::Typemaps::OutputMap) = 3.34 \ -Provides: perl(ExtUtils::Typemaps::Type) = 3.34 \ -%{nil} -%global gendep_perl_File_Fetch \ -Requires: perl(Carp) \ -Requires: perl(Cwd) \ -Requires: perl(File::Basename) \ -Requires: perl(File::Copy) \ -Requires: perl(File::Path) \ -Requires: perl(File::Spec) \ -Requires: perl(File::Spec::Unix) \ -Requires: perl(File::Temp) \ -Requires: perl(FileHandle) \ -Requires: perl(IPC::Cmd) \ -Requires: perl(Locale::Maketext::Simple) \ -Requires: perl(Module::Load::Conditional) \ -Requires: perl(Params::Check) \ -Requires: perl(constant) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Provides: perl(File::Fetch) = 0.52 \ -%{nil} -%global gendep_perl_File_Path \ -Requires: perl(:VERSION) >= 5.5.0 \ -Requires: perl(Cwd) \ -Requires: perl(Exporter) \ -Requires: perl(File::Basename) \ -Requires: perl(File::Spec) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Provides: perl(File::Path) = 2.12 \ -%{nil} -%global gendep_perl_File_Temp \ -Requires: perl(:VERSION) >= 5.6.0 \ -Requires: perl(Carp) \ -Requires: perl(Cwd) \ -Requires: perl(Errno) \ -Requires: perl(Exporter) >= 5.57 \ -Requires: perl(Fcntl) >= 1.03 \ -Requires: perl(File::Path) >= 2.06 \ -Requires: perl(File::Spec) >= 0.8 \ -Requires: perl(IO::Handle) \ -Requires: perl(IO::Seekable) \ -Requires: perl(Scalar::Util) \ -Requires: perl(Symbol) \ -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) \ -%{nil} -%global gendep_perl_Filter \ -Requires: perl(:VERSION) >= 5.5.0 \ -Requires: perl(Carp) \ -Requires: perl(DynaLoader) \ -Requires: perl(Exporter) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Requires: perl(warnings) \ -Provides: perl(Filter::Util::Call) = 1.55 \ -%{nil} -%global gendep_perl_Filter_Simple \ -Requires: perl(Carp) \ -Requires: perl(Filter::Util::Call) \ -Requires: perl(Text::Balanced) \ -Requires: perl(vars) \ -Provides: perl(Filter::Simple) = 0.93 \ -%{nil} -%global gendep_perl_Filter_debuginfo \ -%{nil} -%global gendep_perl_Getopt_Long \ -Requires: perl(:VERSION) >= 5.4.0 \ -Requires: perl(Exporter) \ -Requires: perl(constant) \ -Requires: perl(overload) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Provides: perl(Getopt::Long) = 2.49 \ -Provides: perl(Getopt::Long::CallBack) \ -Provides: perl(Getopt::Long::Parser) \ -%{nil} -%global gendep_perl_HTTP_Tiny \ -Requires: perl(Errno) \ -Requires: perl(IO::Socket) \ -Requires: perl(Socket) \ -Requires: perl(strict) \ -Requires: perl(warnings) \ -Provides: perl(HTTP::Tiny) = 0.070 \ -%{nil} -%global gendep_perl_IO \ -Requires: perl(:VERSION) >= 5.6.0 \ -Requires: perl(Carp) \ -Requires: perl(Errno) \ -Requires: perl(Exporter) \ -Requires: perl(Fcntl) \ -Requires: perl(File::Spec) \ -Requires: perl(File::stat) \ -Requires: perl(IO) \ -Requires: perl(IO::File) \ -Requires: perl(IO::Handle) \ -Requires: perl(IO::Seekable) \ -Requires: perl(IO::Socket) \ -Requires: perl(IO::Socket::INET) \ -Requires: perl(IO::Socket::UNIX) \ -Requires: perl(SelectSaver) \ -Requires: perl(Socket) >= 1.3 \ -Requires: perl(Symbol) \ -Requires: perl(Tie::Hash) \ -Requires: perl(XSLoader) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Requires: perl(warnings) \ -Requires: perl(warnings::register) \ -Provides: perl(IO) = 1.38 \ -Provides: perl(IO::Dir) = 1.10 \ -Provides: perl(IO::File) = 1.16 \ -Provides: perl(IO::Handle) = 1.36 \ -Provides: perl(IO::Pipe) = 1.15 \ -Provides: perl(IO::Pipe::End) \ -Provides: perl(IO::Poll) = 0.10 \ -Provides: perl(IO::Seekable) = 1.10 \ -Provides: perl(IO::Select) = 1.22 \ -Provides: perl(IO::Socket) = 1.38 \ -Provides: perl(IO::Socket::INET) = 1.35 \ -Provides: perl(IO::Socket::UNIX) = 1.26 \ -%{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(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::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(List::Util) \ -Requires: perl(POSIX) \ -Requires: perl(Scalar::Util) \ -Requires: perl(Symbol) \ -Requires: perl(bytes) \ -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(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(U64) \ -Provides: perl(Zlib::OldDeflate) \ -Provides: perl(Zlib::OldInflate) \ -%{nil} -%global gendep_perl_IO_Socket_IP \ -Requires: perl(Carp) \ -Requires: perl(Errno) \ -Requires: perl(IO::Socket) \ -Requires: perl(IO::Socket::IP) \ -Requires: perl(POSIX) \ -Requires: perl(Socket) >= 1.97 \ -Requires: perl(base) \ -Requires: perl(constant) \ -Requires: perl(strict) \ -Requires: perl(warnings) \ -Provides: perl(IO::Socket::IP) = 0.38 \ -%{nil} -%global gendep_perl_IO_Zlib \ -Requires: perl(:VERSION) >= 5.6.0 \ -Requires: perl(Carp) \ -Requires: perl(Fcntl) \ -Requires: perl(Symbol) \ -Requires: perl(Tie::Handle) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Provides: perl(IO::Zlib) = 1.10 \ -%{nil} -%global gendep_perl_IO_debuginfo \ -%{nil} -%global gendep_perl_IPC_Cmd \ -Requires: perl(Carp) \ -Requires: perl(Exporter) \ -Requires: perl(File::Spec) \ -Requires: perl(Locale::Maketext::Simple) \ -Requires: perl(Module::Load::Conditional) \ -Requires: perl(Params::Check) \ -Requires: perl(Symbol) \ -Requires: perl(Text::ParseWords) \ -Requires: perl(constant) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Provides: perl(IPC::Cmd) = 0.96 \ -%{nil} -%global gendep_perl_IPC_SysV \ -Requires: perl(Carp) \ -Requires: perl(Class::Struct) \ -Requires: perl(Config) \ -Requires: perl(Exporter) \ -Requires: perl(IPC::SysV) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Provides: perl(IPC::Msg) = 2.07 \ -Provides: perl(IPC::Msg::stat) \ -Provides: perl(IPC::Semaphore) = 2.07 \ -Provides: perl(IPC::Semaphore::stat) \ -Provides: perl(IPC::SharedMem) = 2.07 \ -Provides: perl(IPC::SharedMem::stat) \ -Provides: perl(IPC::SysV) = 2.07 \ -%{nil} -%global gendep_perl_IPC_SysV_debuginfo \ -%{nil} -%global gendep_perl_JSON_PP \ -Requires: perl(:VERSION) >= 5.5.0 \ -Requires: perl(B) \ -Requires: perl(Carp) \ -Requires: perl(Exporter) \ -Requires: perl(Getopt::Long) \ -Requires: perl(JSON::PP) \ -Requires: perl(base) \ -Requires: perl(bytes) \ -Requires: perl(constant) \ -Requires: perl(overload) \ -Requires: perl(strict) \ -Provides: perl(JSON::PP) = 2.27400 \ -Provides: perl(JSON::PP::Boolean) \ -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(strict) \ -Requires: perl(utf8) \ -Requires: perl(warnings) \ -Provides: perl(Locale::Codes) = 3.25 \ -Provides: perl(Locale::Codes) = 3.42 \ -Provides: perl(Locale::Codes::Constants) = 3.42 \ -Provides: perl(Locale::Codes::Country) = 3.42 \ -Provides: perl(Locale::Codes::Currency) = 3.42 \ -Provides: perl(Locale::Codes::LangExt) = 3.42 \ -Provides: perl(Locale::Codes::LangFam) = 3.42 \ -Provides: perl(Locale::Codes::LangVar) = 3.42 \ -Provides: perl(Locale::Codes::Language) = 3.42 \ -Provides: perl(Locale::Codes::Script) = 3.42 \ -Provides: perl(Locale::Country) = 3.42 \ -Provides: perl(Locale::Currency) = 3.42 \ -Provides: perl(Locale::Language) = 3.42 \ -Provides: perl(Locale::Script) = 3.42 \ -%{nil} -%global gendep_perl_Locale_Maketext \ -Requires: perl(Carp) \ -Requires: perl(I18N::LangTags) \ -Requires: perl(I18N::LangTags::Detect) \ -Requires: perl(Locale::Maketext) \ -Requires: perl(integer) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Provides: perl(Locale::Maketext) = 1.28 \ -Provides: perl(Locale::Maketext::Guts) = 1.20 \ -Provides: perl(Locale::Maketext::GutsLoader) = 1.20 \ -%{nil} -%global gendep_perl_Locale_Maketext_Simple \ -Requires: perl(:VERSION) >= 5.5.0 \ -Requires: perl(Locale::Maketext) \ -Requires: perl(base) \ -Requires: perl(strict) \ -Provides: perl(Locale::Maketext::Simple) = 0.21 \ -%{nil} -%global gendep_perl_MIME_Base64 \ -Requires: perl(Exporter) \ -Requires: perl(MIME::Base64) \ -Requires: perl(XSLoader) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Provides: perl(MIME::Base64) = 3.15 \ -Provides: perl(MIME::QuotedPrint) = 3.13 \ -%{nil} -%global gendep_perl_MIME_Base64_debuginfo \ -%{nil} -%global gendep_perl_Math_BigInt \ -Requires: perl(:VERSION) >= 5.6.1 \ -Requires: perl(Carp) \ -Requires: perl(Exporter) \ -Requires: perl(Math::BigInt) \ -Requires: perl(Math::BigInt::Lib) \ -Requires: perl(constant) \ -Requires: perl(integer) \ -Requires: perl(overload) \ -Requires: perl(strict) \ -Requires: perl(warnings) \ -Provides: perl(Math::BigFloat) = 1.999806 \ -Provides: perl(Math::BigInt) = 1.999806 \ -Provides: perl(Math::BigInt::Calc) = 1.999806 \ -Provides: perl(Math::BigInt::CalcEmu) = 1.999806 \ -Provides: perl(Math::BigInt::Lib) = 1.999806 \ -%{nil} -%global gendep_perl_Math_BigInt_FastCalc \ -Requires: perl(:VERSION) >= 5.6.0 \ -Requires: perl(Math::BigInt::Calc) \ -Requires: perl(XSLoader) \ -Requires: perl(strict) \ -Requires: perl(warnings) \ -Provides: perl(Math::BigInt::FastCalc) = 0.5005 \ -%{nil} -%global gendep_perl_Math_BigInt_FastCalc_debuginfo \ -%{nil} -%global gendep_perl_Math_BigRat \ -Requires: perl(:VERSION) >= 5.6.0 \ -Requires: perl(Carp) \ -Requires: perl(Math::BigFloat) \ -Requires: perl(overload) \ -Requires: perl(strict) \ -Requires: perl(warnings) \ -Provides: perl(Math::BigRat) = 0.2611 \ -%{nil} -%global gendep_perl_Math_Complex \ -Requires: perl(Config) \ -Requires: perl(Exporter) \ -Requires: perl(Math::Complex) >= 1.59 \ -Requires: perl(Scalar::Util) \ -Requires: perl(overload) \ -Requires: perl(strict) \ -Requires: perl(warnings) \ -Provides: perl(Math::Complex) = 1.59 \ -Provides: perl(Math::Trig) = 1.23 \ -%{nil} -%global gendep_perl_Memoize \ -Requires: perl(Carp) \ -Requires: perl(Config) \ -Requires: perl(Exporter) \ -Requires: perl(NDBM_File) \ -Requires: perl(SDBM_File) \ -Requires: perl(Storable) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Provides: perl(Memoize) = 1.03 \ -Provides: perl(Memoize::AnyDBM_File) = 1.03 \ -Provides: perl(Memoize::Expire) = 1.03 \ -Provides: perl(Memoize::ExpireFile) = 1.03 \ -Provides: perl(Memoize::ExpireTest) = 1.03 \ -Provides: perl(Memoize::NDBM_File) = 1.03 \ -Provides: perl(Memoize::SDBM_File) = 1.03 \ -Provides: perl(Memoize::Storable) = 1.03 \ -%{nil} -%global gendep_perl_Module_CoreList \ -Requires: perl(Module::CoreList) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Requires: perl(version) \ -Requires: perl(warnings) \ -Provides: perl(Module::CoreList) = 5.20180414 \ -Provides: perl(Module::CoreList::TieHashDelta) = 5.20180414 \ -Provides: perl(Module::CoreList::Utils) = 5.20180414 \ -%{nil} -%global gendep_perl_Module_CoreList_tools \ -Requires: perl(Getopt::Long) \ -Requires: perl(List::Util) \ -Requires: perl(Module::CoreList) \ -Requires: perl(Pod::Usage) \ -Requires: perl(strict) \ -Requires: perl(warnings) \ -%{nil} -%global gendep_perl_Module_Load \ -Requires: perl(File::Spec) \ -Requires: perl(strict) \ -Requires: perl(warnings) \ -Provides: perl(Module::Load) = 0.32 \ -%{nil} -%global gendep_perl_Module_Load_Conditional \ -Requires: perl(Carp) \ -Requires: perl(Exporter) \ -Requires: perl(File::Spec) \ -Requires: perl(FileHandle) \ -Requires: perl(Locale::Maketext::Simple) \ -Requires: perl(Module::Load) \ -Requires: perl(Module::Metadata) \ -Requires: perl(Params::Check) \ -Requires: perl(constant) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Requires: perl(version) \ -Provides: perl(Module::Load::Conditional) = 0.68 \ -%{nil} -%global gendep_perl_Module_Loaded \ -Requires: perl(Carp) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Provides: perl(Module::Loaded) = 0.08 \ -%{nil} -%global gendep_perl_Module_Metadata \ -Requires: perl(Carp) \ -Requires: perl(File::Find) \ -Requires: perl(File::Spec) \ -Requires: perl(strict) \ -Requires: perl(version) >= 0.87 \ -Requires: perl(warnings) \ -Provides: perl(Module::Metadata) = 1.000033 \ -%{nil} -%global gendep_perl_Net_Ping \ -Requires: perl(:VERSION) >= 5.2.0 \ -Requires: perl(Carp) \ -Requires: perl(Exporter) \ -Requires: perl(Fcntl) \ -Requires: perl(FileHandle) \ -Requires: perl(POSIX) \ -Requires: perl(Socket) \ -Requires: perl(Time::HiRes) \ -Requires: perl(constant) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Provides: perl(Net::Ping) = 2.55 \ -%{nil} -%global gendep_perl_Params_Check \ -Requires: perl(Carp) \ -Requires: perl(Exporter) \ -Requires: perl(Locale::Maketext::Simple) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Provides: perl(Params::Check) = 0.38 \ -%{nil} -%global gendep_perl_PathTools \ -Requires: perl(Exporter) \ -Requires: perl(File::Spec) \ -Requires: perl(File::Spec::Unix) \ -Requires: perl(constant) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Provides: perl(Cwd) = 3.67 \ -Provides: perl(File::Spec) = 3.67 \ -Provides: perl(File::Spec::AmigaOS) = 3.67 \ -Provides: perl(File::Spec::Cygwin) = 3.67 \ -Provides: perl(File::Spec::Epoc) = 3.67 \ -Provides: perl(File::Spec::Functions) = 3.67 \ -Provides: perl(File::Spec::Mac) = 3.67 \ -Provides: perl(File::Spec::OS2) = 3.67 \ -Provides: perl(File::Spec::Unix) = 3.67 \ -Provides: perl(File::Spec::Win32) = 3.67 \ -%{nil} -%global gendep_perl_PathTools_debuginfo \ -%{nil} -%global gendep_perl_Perl_OSType \ -Requires: perl(Exporter) \ -Requires: perl(strict) \ -Requires: perl(warnings) \ -Provides: perl(Perl::OSType) = 1.010 \ -%{nil} -%global gendep_perl_PerlIO_via_QuotedPrint \ -Requires: perl(MIME::QuotedPrint) \ -Requires: perl(strict) \ -Provides: perl(PerlIO::via::QuotedPrint) = 0.08 \ -%{nil} -%global gendep_perl_Pod_Checker \ -Requires: perl(Carp) \ -Requires: perl(Exporter) \ -Requires: perl(Getopt::Long) \ -Requires: perl(Pod::Checker) \ -Requires: perl(Pod::Simple::Methody) \ -Requires: perl(Pod::Usage) \ -Requires: perl(base) \ -Requires: perl(strict) \ -Requires: perl(warnings) \ -Provides: perl(Pod::Checker) = 1.73 \ -%{nil} -%global gendep_perl_Pod_Escapes \ -Requires: perl(:VERSION) >= 5.6.0 \ -Requires: perl(Exporter) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Requires: perl(warnings) \ -Provides: perl(Pod::Escapes) = 1.07 \ -%{nil} -%global gendep_perl_Pod_Html \ -Requires: perl(Carp) \ -Requires: perl(Config) \ -Requires: perl(Cwd) \ -Requires: perl(Exporter) \ -Requires: perl(File::Basename) \ -Requires: perl(File::Spec) \ -Requires: perl(File::Spec::Unix) \ -Requires: perl(Getopt::Long) \ -Requires: perl(Pod::Html) \ -Requires: perl(Pod::Simple::Search) \ -Requires: perl(Pod::Simple::XHTML) \ -Requires: perl(locale) \ -Requires: perl(parent) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Requires: perl(warnings) \ -Provides: perl(Pod::Html) = 1.2202 \ -Provides: perl(Pod::Simple::XHTML::LocalPodLinks) \ -%{nil} -%global gendep_perl_Pod_Parser \ -Requires: perl(:VERSION) >= 5.5.0 \ -Requires: perl(Carp) \ -Requires: perl(Cwd) \ -Requires: perl(Exporter) \ -Requires: perl(File::Find) \ -Requires: perl(File::Spec) \ -Requires: perl(Getopt::Long) \ -Requires: perl(Pod::InputObjects) \ -Requires: perl(Pod::Parser) >= 1.04 \ -Requires: perl(Pod::Select) \ -Requires: perl(Pod::Usage) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Provides: perl(Pod::Cache) \ -Provides: perl(Pod::Cache::Item) \ -Provides: perl(Pod::Find) = 1.63 \ -Provides: perl(Pod::Hyperlink) \ -Provides: perl(Pod::InputObjects) = 1.63 \ -Provides: perl(Pod::InputSource) \ -Provides: perl(Pod::InteriorSequence) \ -Provides: perl(Pod::List) \ -Provides: perl(Pod::Paragraph) \ -Provides: perl(Pod::ParseTree) \ -Provides: perl(Pod::ParseUtils) = 1.63 \ -Provides: perl(Pod::Parser) = 1.63 \ -Provides: perl(Pod::PlainText) = 2.07 \ -Provides: perl(Pod::Select) = 1.63 \ -%{nil} -%global gendep_perl_Pod_Perldoc \ -Requires: perl(:VERSION) >= 5.0.0 \ -Requires: perl(:VERSION) >= 5.6.0 \ -Requires: perl(Carp) \ -Requires: perl(Config) \ -Requires: perl(Encode) \ -Requires: perl(Fcntl) \ -Requires: perl(File::Basename) \ -Requires: perl(File::Spec::Functions) \ -Requires: perl(IO::Select) \ -Requires: perl(Pod::Man) >= 2.18 \ -Requires: perl(Pod::Perldoc) \ -Requires: perl(Pod::Perldoc::BaseTo) \ -Requires: perl(Pod::Perldoc::GetOptsOO) \ -Requires: perl(Pod::Simple::RTF) \ -Requires: perl(Pod::Simple::XMLOutStream) \ -Requires: perl(Pod::Text) \ -Requires: perl(Pod::Text::Color) \ -Requires: perl(Pod::Text::Termcap) \ -Requires: perl(parent) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Requires: perl(warnings) \ -Provides: perl(Pod::Perldoc) = 3.28 \ -Provides: perl(Pod::Perldoc::BaseTo) = 3.28 \ -Provides: perl(Pod::Perldoc::GetOptsOO) = 3.28 \ -Provides: perl(Pod::Perldoc::ToANSI) = 3.28 \ -Provides: perl(Pod::Perldoc::ToChecker) = 3.28 \ -Provides: perl(Pod::Perldoc::ToMan) = 3.28 \ -Provides: perl(Pod::Perldoc::ToNroff) = 3.28 \ -Provides: perl(Pod::Perldoc::ToPod) = 3.28 \ -Provides: perl(Pod::Perldoc::ToRtf) = 3.28 \ -Provides: perl(Pod::Perldoc::ToTerm) = 3.28 \ -Provides: perl(Pod::Perldoc::ToText) = 3.28 \ -Provides: perl(Pod::Perldoc::ToTk) = 3.28 \ -Provides: perl(Pod::Perldoc::ToXml) = 3.28 \ -%{nil} -%global gendep_perl_Pod_Simple \ -Requires: perl(:VERSION) >= 5.0.0 \ -Requires: perl(:VERSION) >= 5.5.0 \ -Requires: perl(:VERSION) >= 5.8.0 \ -Requires: perl(Carp) \ -Requires: perl(Config) \ -Requires: perl(Cwd) \ -Requires: perl(Encode) \ -Requires: perl(File::Basename) \ -Requires: perl(File::Spec) \ -Requires: perl(Getopt::Long) \ -Requires: perl(Pod::Escapes) >= 1.04 \ -Requires: perl(Pod::Simple) \ -Requires: perl(Pod::Simple::BlackBox) \ -Requires: perl(Pod::Simple::HTML) \ -Requires: perl(Pod::Simple::LinkSection) \ -Requires: perl(Pod::Simple::Methody) \ -Requires: perl(Pod::Simple::PullParser) \ -Requires: perl(Pod::Simple::PullParserEndToken) \ -Requires: perl(Pod::Simple::PullParserStartToken) \ -Requires: perl(Pod::Simple::PullParserTextToken) \ -Requires: perl(Pod::Simple::PullParserToken) \ -Requires: perl(Pod::Simple::Search) \ -Requires: perl(Symbol) \ -Requires: perl(Text::Wrap) >= 98.112902 \ -Requires: perl(integer) \ -Requires: perl(overload) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Provides: perl(Pod::Simple) = 3.35 \ -Provides: perl(Pod::Simple::BlackBox) = 3.35 \ -Provides: perl(Pod::Simple::Checker) = 3.35 \ -Provides: perl(Pod::Simple::Debug) = 3.35 \ -Provides: perl(Pod::Simple::DumpAsText) = 3.35 \ -Provides: perl(Pod::Simple::DumpAsXML) = 3.35 \ -Provides: perl(Pod::Simple::HTML) = 3.35 \ -Provides: perl(Pod::Simple::HTMLBatch) = 3.35 \ -Provides: perl(Pod::Simple::HTMLLegacy) = 5.01 \ -Provides: perl(Pod::Simple::LinkSection) = 3.35 \ -Provides: perl(Pod::Simple::Methody) = 3.35 \ -Provides: perl(Pod::Simple::Progress) = 3.35 \ -Provides: perl(Pod::Simple::PullParser) = 3.35 \ -Provides: perl(Pod::Simple::PullParserEndToken) = 3.35 \ -Provides: perl(Pod::Simple::PullParserStartToken) = 3.35 \ -Provides: perl(Pod::Simple::PullParserTextToken) = 3.35 \ -Provides: perl(Pod::Simple::PullParserToken) = 3.35 \ -Provides: perl(Pod::Simple::RTF) = 3.35 \ -Provides: perl(Pod::Simple::Search) = 3.35 \ -Provides: perl(Pod::Simple::SimpleTree) = 3.35 \ -Provides: perl(Pod::Simple::Text) = 3.35 \ -Provides: perl(Pod::Simple::TextContent) = 3.35 \ -Provides: perl(Pod::Simple::TiedOutFH) = 3.35 \ -Provides: perl(Pod::Simple::Transcode) = 3.35 \ -Provides: perl(Pod::Simple::TranscodeDumb) = 3.35 \ -Provides: perl(Pod::Simple::TranscodeSmart) = 3.35 \ -Provides: perl(Pod::Simple::XHTML) = 3.35 \ -Provides: perl(Pod::Simple::XMLOutStream) = 3.35 \ -%{nil} -%global gendep_perl_Pod_Usage \ -Requires: perl(:VERSION) >= 5.6.0 \ -Requires: perl(Carp) \ -Requires: perl(Config) \ -Requires: perl(Exporter) \ -Requires: perl(File::Spec) \ -Requires: perl(Getopt::Long) \ -Requires: perl(Pod::Usage) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Provides: perl(Pod::Usage) = 1.69 \ -%{nil} -%global gendep_perl_Scalar_List_Utils \ -Requires: perl(Exporter) \ -Requires: perl(List::Util) \ -Requires: perl(XSLoader) \ -Requires: perl(strict) \ -Requires: perl(warnings) \ -Provides: perl(List::Util) = 1.46 \ -Provides: perl(List::Util::XS) = 1.46 \ -Provides: perl(Scalar::Util) = 1.46 \ -Provides: perl(Sub::Util) = 1.46 \ -%{nil} -%global gendep_perl_Scalar_List_Utils_debuginfo \ -%{nil} -%global gendep_perl_SelfLoader \ -Requires: perl(:VERSION) >= 5.8.0 \ -Requires: perl(Exporter) \ -Requires: perl(IO::Handle) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Provides: perl(SelfLoader) = 1.23 \ -%{nil} -%global gendep_perl_Socket \ -Requires: perl(Carp) \ -Requires: perl(Exporter) \ -Requires: perl(XSLoader) \ -Requires: perl(strict) \ -Requires: perl(warnings::register) \ -Provides: perl(Socket) = 2.020 \ -%{nil} -%global gendep_perl_Socket_debuginfo \ -%{nil} -%global gendep_perl_Storable \ -Requires: perl(Exporter) \ -Requires: perl(XSLoader) \ -Requires: perl(vars) \ -Provides: perl(Storable) = 2.62 \ -%{nil} -%global gendep_perl_Storable_debuginfo \ -%{nil} -%global gendep_perl_Sys_Syslog \ -Requires: perl(:VERSION) >= 5.5.0 \ -Requires: perl(Carp) \ -Requires: perl(Config) \ -Requires: perl(Exporter) \ -Requires: perl(File::Basename) \ -Requires: perl(POSIX) \ -Requires: perl(Socket) \ -Requires: perl(constant) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Requires: perl(warnings) \ -Requires: perl(warnings::register) \ -Provides: perl(Sys::Syslog) = 0.35 \ -%{nil} -%global gendep_perl_Sys_Syslog_debuginfo \ -%{nil} -%global gendep_perl_Term_ANSIColor \ -Requires: perl(:VERSION) >= 5.6.0 \ -Requires: perl(Exporter) \ -Requires: perl(strict) \ -Requires: perl(warnings) \ -Provides: perl(Term::ANSIColor) = 4.06 \ -%{nil} -%global gendep_perl_Term_Cap \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Provides: perl(Term::Cap) = 1.17 \ -%{nil} -%global gendep_perl_Test \ -Requires: perl(:VERSION) >= 5.4.0 \ -Requires: perl(Carp) \ -Requires: perl(Exporter) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Provides: perl(Test) = 1.30 \ -%{nil} -%global gendep_perl_Test_Harness \ -Requires: perl(:VERSION) >= 5.6.0 \ -Requires: perl(App::Prove) \ -Requires: perl(App::Prove::State) \ -Requires: perl(App::Prove::State::Result) \ -Requires: perl(App::Prove::State::Result::Test) \ -Requires: perl(Benchmark) \ -Requires: perl(Carp) \ -Requires: perl(Config) \ -Requires: perl(Exporter) \ -Requires: perl(File::Basename) \ -Requires: perl(File::Find) \ -Requires: perl(File::Path) \ -Requires: perl(File::Spec) \ -Requires: perl(Getopt::Long) \ -Requires: perl(IO::Handle) \ -Requires: perl(IO::Select) \ -Requires: perl(POSIX) \ -Requires: perl(TAP::Base) \ -Requires: perl(TAP::Formatter::Base) \ -Requires: perl(TAP::Formatter::Console::Session) \ -Requires: perl(TAP::Formatter::File::Session) \ -Requires: perl(TAP::Formatter::Session) \ -Requires: perl(TAP::Harness) \ -Requires: perl(TAP::Harness::Env) \ -Requires: perl(TAP::Object) \ -Requires: perl(TAP::Parser::Aggregator) \ -Requires: perl(TAP::Parser::Grammar) \ -Requires: perl(TAP::Parser::Iterator) \ -Requires: perl(TAP::Parser::Iterator::Array) \ -Requires: perl(TAP::Parser::Iterator::Process) \ -Requires: perl(TAP::Parser::Iterator::Stream) \ -Requires: perl(TAP::Parser::IteratorFactory) \ -Requires: perl(TAP::Parser::Result) \ -Requires: perl(TAP::Parser::Result::Bailout) \ -Requires: perl(TAP::Parser::Result::Comment) \ -Requires: perl(TAP::Parser::Result::Plan) \ -Requires: perl(TAP::Parser::Result::Pragma) \ -Requires: perl(TAP::Parser::Result::Test) \ -Requires: perl(TAP::Parser::Result::Unknown) \ -Requires: perl(TAP::Parser::Result::Version) \ -Requires: perl(TAP::Parser::Result::YAML) \ -Requires: perl(TAP::Parser::ResultFactory) \ -Requires: perl(TAP::Parser::Scheduler::Job) \ -Requires: perl(TAP::Parser::Scheduler::Spinner) \ -Requires: perl(TAP::Parser::Source) \ -Requires: perl(TAP::Parser::SourceHandler) \ -Requires: perl(TAP::Parser::SourceHandler::Executable) \ -Requires: perl(TAP::Parser::SourceHandler::File) \ -Requires: perl(TAP::Parser::SourceHandler::Handle) \ -Requires: perl(TAP::Parser::SourceHandler::Perl) \ -Requires: perl(TAP::Parser::SourceHandler::RawTAP) \ -Requires: perl(TAP::Parser::YAMLish::Reader) \ -Requires: perl(TAP::Parser::YAMLish::Writer) \ -Requires: perl(Text::ParseWords) \ -Requires: perl(base) \ -Requires: perl(constant) \ -Requires: perl(strict) \ -Requires: perl(warnings) \ -Provides: perl(App::Prove) = 3.38 \ -Provides: perl(App::Prove::State) = 3.38 \ -Provides: perl(App::Prove::State::Result) = 3.38 \ -Provides: perl(App::Prove::State::Result::Test) = 3.38 \ -Provides: perl(TAP::Base) = 3.38 \ -Provides: perl(TAP::Formatter::Base) = 3.38 \ -Provides: perl(TAP::Formatter::Color) = 3.38 \ -Provides: perl(TAP::Formatter::Console) = 3.38 \ -Provides: perl(TAP::Formatter::Console::ParallelSession) = 3.38 \ -Provides: perl(TAP::Formatter::Console::Session) = 3.38 \ -Provides: perl(TAP::Formatter::File) = 3.38 \ -Provides: perl(TAP::Formatter::File::Session) = 3.38 \ -Provides: perl(TAP::Formatter::Session) = 3.38 \ -Provides: perl(TAP::Harness) = 3.38 \ -Provides: perl(TAP::Harness::Env) = 3.38 \ -Provides: perl(TAP::Object) = 3.38 \ -Provides: perl(TAP::Parser) = 3.38 \ -Provides: perl(TAP::Parser::Aggregator) = 3.38 \ -Provides: perl(TAP::Parser::Grammar) = 3.38 \ -Provides: perl(TAP::Parser::Iterator) = 3.38 \ -Provides: perl(TAP::Parser::Iterator::Array) = 3.38 \ -Provides: perl(TAP::Parser::Iterator::Process) = 3.38 \ -Provides: perl(TAP::Parser::Iterator::Stream) = 3.38 \ -Provides: perl(TAP::Parser::IteratorFactory) = 3.38 \ -Provides: perl(TAP::Parser::Multiplexer) = 3.38 \ -Provides: perl(TAP::Parser::Result) = 3.38 \ -Provides: perl(TAP::Parser::Result::Bailout) = 3.38 \ -Provides: perl(TAP::Parser::Result::Comment) = 3.38 \ -Provides: perl(TAP::Parser::Result::Plan) = 3.38 \ -Provides: perl(TAP::Parser::Result::Pragma) = 3.38 \ -Provides: perl(TAP::Parser::Result::Test) = 3.38 \ -Provides: perl(TAP::Parser::Result::Unknown) = 3.38 \ -Provides: perl(TAP::Parser::Result::Version) = 3.38 \ -Provides: perl(TAP::Parser::Result::YAML) = 3.38 \ -Provides: perl(TAP::Parser::ResultFactory) = 3.38 \ -Provides: perl(TAP::Parser::Scheduler) = 3.38 \ -Provides: perl(TAP::Parser::Scheduler::Job) = 3.38 \ -Provides: perl(TAP::Parser::Scheduler::Spinner) = 3.38 \ -Provides: perl(TAP::Parser::Source) = 3.38 \ -Provides: perl(TAP::Parser::SourceHandler) = 3.38 \ -Provides: perl(TAP::Parser::SourceHandler::Executable) = 3.38 \ -Provides: perl(TAP::Parser::SourceHandler::File) = 3.38 \ -Provides: perl(TAP::Parser::SourceHandler::Handle) = 3.38 \ -Provides: perl(TAP::Parser::SourceHandler::Perl) = 3.38 \ -Provides: perl(TAP::Parser::SourceHandler::RawTAP) = 3.38 \ -Provides: perl(TAP::Parser::YAMLish::Reader) = 3.38 \ -Provides: perl(TAP::Parser::YAMLish::Writer) = 3.38 \ -Provides: perl(Test::Harness) = 3.38 \ -%{nil} -%global gendep_perl_Test_Simple \ -Requires: perl(:VERSION) >= 5.5.0 \ -Requires: perl(:VERSION) >= 5.6.0 \ -Requires: perl(Carp) \ -Requires: perl(Config) \ -Requires: perl(Exporter) \ -Requires: perl(File::Spec) \ -Requires: perl(File::Temp) \ -Requires: perl(IO::Handle) \ -Requires: perl(POSIX) \ -Requires: perl(PerlIO) \ -Requires: perl(Scalar::Util) \ -Requires: perl(Storable) \ -Requires: perl(Symbol) \ -Requires: perl(Test2::API) \ -Requires: perl(Test2::API::Context) \ -Requires: perl(Test2::API::Instance) \ -Requires: perl(Test2::API::Stack) \ -Requires: perl(Test2::Event::Bail) \ -Requires: perl(Test2::Event::Diag) \ -Requires: perl(Test2::Event::Exception) \ -Requires: perl(Test2::Event::Note) \ -Requires: perl(Test2::Event::Ok) \ -Requires: perl(Test2::Event::Plan) \ -Requires: perl(Test2::Event::Skip) \ -Requires: perl(Test2::Event::Subtest) \ -Requires: perl(Test2::Event::Waiting) \ -Requires: perl(Test2::Hub) \ -Requires: perl(Test2::Hub::Interceptor) \ -Requires: perl(Test2::Hub::Interceptor::Terminator) \ -Requires: perl(Test2::Hub::Subtest) \ -Requires: perl(Test2::Util) \ -Requires: perl(Test2::Util::ExternalMeta) \ -Requires: perl(Test2::Util::HashBase) \ -Requires: perl(Test2::Util::Trace) \ -Requires: perl(Test::Builder) \ -Requires: perl(Test::Builder::Formatter) \ -Requires: perl(Test::Builder::Module) \ -Requires: perl(Test::Builder::Tester) \ -Requires: perl(Test::Builder::TodoDiag) \ -Requires: perl(Test::More) \ -Requires: perl(Test::Tester::Capture) \ -Requires: perl(Test::Tester::CaptureRunner) \ -Requires: perl(Test::Tester::Delegate) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Requires: perl(warnings) \ -Provides: perl(Test2) = 1.302073 \ -Provides: perl(Test2::API) = 1.302073 \ -Provides: perl(Test2::API::Breakage) = 1.302073 \ -Provides: perl(Test2::API::Context) = 1.302073 \ -Provides: perl(Test2::API::Instance) = 1.302073 \ -Provides: perl(Test2::API::Stack) = 1.302073 \ -Provides: perl(Test2::Event) = 1.302073 \ -Provides: perl(Test2::Event::Bail) = 1.302073 \ -Provides: perl(Test2::Event::Diag) = 1.302073 \ -Provides: perl(Test2::Event::Encoding) = 1.302073 \ -Provides: perl(Test2::Event::Exception) = 1.302073 \ -Provides: perl(Test2::Event::Generic) = 1.302073 \ -Provides: perl(Test2::Event::Info) = 1.302073 \ -Provides: perl(Test2::Event::Note) = 1.302073 \ -Provides: perl(Test2::Event::Ok) = 1.302073 \ -Provides: perl(Test2::Event::Plan) = 1.302073 \ -Provides: perl(Test2::Event::Skip) = 1.302073 \ -Provides: perl(Test2::Event::Subtest) = 1.302073 \ -Provides: perl(Test2::Event::TAP::Version) = 1.302073 \ -Provides: perl(Test2::Event::Waiting) = 1.302073 \ -Provides: perl(Test2::Formatter) = 1.302073 \ -Provides: perl(Test2::Formatter::TAP) = 1.302073 \ -Provides: perl(Test2::Hub) = 1.302073 \ -Provides: perl(Test2::Hub::Interceptor) = 1.302073 \ -Provides: perl(Test2::Hub::Interceptor::Terminator) = 1.302073 \ -Provides: perl(Test2::Hub::Subtest) = 1.302073 \ -Provides: perl(Test2::IPC) = 1.302073 \ -Provides: perl(Test2::IPC::Driver) = 1.302073 \ -Provides: perl(Test2::IPC::Driver::Files) = 1.302073 \ -Provides: perl(Test2::Tools::Tiny) = 1.302073 \ -Provides: perl(Test2::Util) = 1.302073 \ -Provides: perl(Test2::Util::ExternalMeta) = 1.302073 \ -Provides: perl(Test2::Util::HashBase) = 0.002 \ -Provides: perl(Test2::Util::Trace) = 1.302073 \ -Provides: perl(Test::Builder) = 1.302073 \ -Provides: perl(Test::Builder::Formatter) = 1.302073 \ -Provides: perl(Test::Builder::IO::Scalar) = 2.113 \ -Provides: perl(Test::Builder::Module) = 1.302073 \ -Provides: perl(Test::Builder::Tester) = 1.302073 \ -Provides: perl(Test::Builder::Tester::Color) = 1.302073 \ -Provides: perl(Test::Builder::Tester::Tie) \ -Provides: perl(Test::Builder::TodoDiag) = 1.302073 \ -Provides: perl(Test::More) = 1.302073 \ -Provides: perl(Test::Simple) = 1.302073 \ -Provides: perl(Test::Tester) = 1.302073 \ -Provides: perl(Test::Tester::Capture) = 1.302073 \ -Provides: perl(Test::Tester::CaptureRunner) = 1.302073 \ -Provides: perl(Test::Tester::Delegate) = 1.302073 \ -Provides: perl(Test::use::ok) = 1.302073 \ -Provides: perl(ok) = 1.302073 \ -%{nil} -%global gendep_perl_Text_Balanced \ -Requires: perl(:VERSION) >= 5.5.0 \ -Requires: perl(Carp) \ -Requires: perl(Exporter) \ -Requires: perl(SelfLoader) \ -Requires: perl(overload) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Provides: perl(Text::Balanced) = 2.03 \ -Provides: perl(Text::Balanced::ErrorMsg) \ -Provides: perl(Text::Balanced::Extractor) \ -%{nil} -%global gendep_perl_Text_ParseWords \ -Requires: perl(:VERSION) >= 5.6.0 \ -Requires: perl(Exporter) \ -Requires: perl(strict) \ -Provides: perl(Text::ParseWords) = 3.30 \ -%{nil} -%global gendep_perl_Text_Tabs_Wrap \ -Requires: perl(:VERSION) >= 5.10.0 \ -Requires: perl(Exporter) \ -Requires: perl(Text::Tabs) \ -Requires: perl(re) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Requires: perl(warnings::register) \ -Provides: perl(Text::Tabs) = 2013.0523 \ -Provides: perl(Text::Wrap) = 2013.0523 \ -%{nil} -%global gendep_perl_Thread_Queue \ -Requires: perl(Scalar::Util) >= 1.10 \ -Requires: perl(strict) \ -Requires: perl(threads::shared) >= 1.21 \ -Requires: perl(warnings) \ -Provides: perl(Thread::Queue) = 3.12 \ -%{nil} -%global gendep_perl_Time_HiRes \ -Requires: perl(DynaLoader) \ -Requires: perl(Exporter) \ -Requires: perl(strict) \ -Provides: perl(Time::HiRes) = 1.9741 \ -%{nil} -%global gendep_perl_Time_HiRes_debuginfo \ -%{nil} -%global gendep_perl_Time_Local \ -Requires: perl(Carp) \ -Requires: perl(Exporter) \ -Requires: perl(constant) \ -Requires: perl(parent) \ -Requires: perl(strict) \ -Provides: perl(Time::Local) = 1.25 \ -%{nil} -%global gendep_perl_Time_Piece \ -Requires: perl(Carp) \ -Requires: perl(DynaLoader) \ -Requires: perl(Exporter) >= 5.57 \ -Requires: perl(Time::Local) \ -Requires: perl(Time::Seconds) \ -Requires: perl(constant) \ -Requires: perl(integer) \ -Requires: perl(overload) \ -Requires: perl(strict) \ -Provides: perl(Time::Piece) = 1.31 \ -Provides: perl(Time::Seconds) = 1.31 \ -%{nil} -%global gendep_perl_Time_Piece_debuginfo \ -%{nil} -%global gendep_perl_Unicode_Collate \ -Requires: perl(:VERSION) >= 5.6.0 \ -Requires: perl(Carp) \ -Requires: perl(DynaLoader) \ -Requires: perl(File::Spec) \ -Requires: perl(Unicode::Collate) \ -Requires: perl(base) \ -Requires: perl(constant) \ -Requires: perl(strict) \ -Requires: perl(warnings) \ -Provides: perl(Unicode::Collate) = 1.19 \ -Provides: perl(Unicode::Collate::CJK::Big5) = 1.19 \ -Provides: perl(Unicode::Collate::CJK::GB2312) = 1.19 \ -Provides: perl(Unicode::Collate::CJK::JISX0208) = 1.19 \ -Provides: perl(Unicode::Collate::CJK::Korean) = 1.19 \ -Provides: perl(Unicode::Collate::CJK::Pinyin) = 1.19 \ -Provides: perl(Unicode::Collate::CJK::Stroke) = 1.19 \ -Provides: perl(Unicode::Collate::CJK::Zhuyin) = 1.19 \ -Provides: perl(Unicode::Collate::Locale) = 1.19 \ -%{nil} -%global gendep_perl_Unicode_Collate_debuginfo \ -%{nil} -%global gendep_perl_Unicode_Normalize \ -Requires: perl(:VERSION) >= 5.6.0 \ -Requires: perl(Carp) \ -Requires: perl(DynaLoader) \ -Requires: perl(Exporter) \ -Requires: perl(strict) \ -Requires: perl(warnings) \ -Provides: perl(Unicode::Normalize) = 1.25 \ -%{nil} -%global gendep_perl_Unicode_Normalize_debuginfo \ -%{nil} -%global gendep_perl_autodie \ -Requires: perl(:VERSION) >= 5.8.0 \ -Requires: perl(Carp) \ -Requires: perl(Config) \ -Requires: perl(Exporter) >= 5.57 \ -Requires: perl(Fatal) \ -Requires: perl(Scalar::Util) \ -Requires: perl(Tie::RefHash) \ -Requires: perl(autodie::Scope::Guard) \ -Requires: perl(autodie::Scope::GuardStack) \ -Requires: perl(autodie::Util) \ -Requires: perl(autodie::exception) \ -Requires: perl(constant) \ -Requires: perl(lib) \ -Requires: perl(overload) \ -Requires: perl(parent) \ -Requires: perl(strict) \ -Requires: perl(warnings) \ -Provides: perl(Fatal) = 2.29 \ -Provides: perl(autodie) = 2.29 \ -Provides: perl(autodie::Scope::Guard) = 2.29 \ -Provides: perl(autodie::Scope::GuardStack) = 2.29 \ -Provides: perl(autodie::Util) = 2.29 \ -Provides: perl(autodie::exception) = 2.29 \ -Provides: perl(autodie::exception::system) = 2.29 \ -Provides: perl(autodie::hints) = 2.29 \ -Provides: perl(autodie::skip) = 2.29 \ -%{nil} -%global gendep_perl_bignum \ -Requires: perl(:VERSION) >= 5.6.0 \ -Requires: perl(Exporter) \ -Requires: perl(Math::BigFloat) \ -Requires: perl(Math::BigInt) \ -Requires: perl(bigint) \ -Requires: perl(constant) \ -Requires: perl(overload) \ -Requires: perl(strict) \ -Requires: perl(warnings) \ -Provides: perl(Math::BigFloat::Trace) = 0.47 \ -Provides: perl(Math::BigInt::Trace) = 0.47 \ -Provides: perl(bigint) = 0.47 \ -Provides: perl(bignum) = 0.47 \ -Provides: perl(bigrat) = 0.47 \ -%{nil} -%global gendep_perl_constant \ -Requires: perl(:VERSION) >= 5.8.0 \ -Requires: perl(strict) \ -Requires: perl(warnings::register) \ -Provides: perl(constant) = 1.33 \ -%{nil} -%global gendep_perl_debuginfo \ -%{nil} -%global gendep_perl_debugsource \ -%{nil} -%global gendep_perl_devel \ -Requires: perl(Config) \ -Requires: perl(ExtUtils::Constant) \ -Requires: perl(ExtUtils::Installed) \ -Requires: perl(File::Compare) \ -Requires: perl(File::Path) \ -Requires: perl(File::Spec) \ -Requires: perl(Getopt::Long) \ -Requires: perl(Text::Wrap) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Requires: perl(warnings) \ -%{nil} -%global gendep_perl_encoding \ -Requires: perl(Encode) \ -Requires: perl(constant) \ -Requires: perl(strict) \ -Requires: perl(warnings) \ -Provides: perl(encoding) = 2.19 \ -%{nil} -%global gendep_perl_experimental \ -Requires: perl(Carp) \ -Requires: perl(feature) \ -Requires: perl(strict) \ -Requires: perl(version) \ -Requires: perl(warnings) \ -Provides: perl(experimental) = 0.016 \ -%{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 \ -Requires: perl(:VERSION) >= 5.7.0 \ -Requires: perl(:VERSION) >= 5.7.3 \ -Requires: perl(:VERSION) >= 5.8.0 \ -Requires: perl(:VERSION) >= 5.9.1 \ -Requires: perl(:VERSION) >= 5.9.4 \ -Requires: perl(B) \ -Requires: perl(B::Concise) \ -Requires: perl(B::Op_private) \ -Requires: perl(B::Terse) \ -Requires: perl(Carp) \ -Requires: perl(Class::Struct) \ -Requires: perl(Config) \ -Requires: perl(Cwd) \ -Requires: perl(Exporter) \ -Requires: perl(ExtUtils::Constant::Base) \ -Requires: perl(ExtUtils::Constant::Utils) \ -Requires: perl(ExtUtils::Constant::XS) \ -Requires: perl(Fcntl) \ -Requires: perl(File::Basename) \ -Requires: perl(File::Path) \ -Requires: perl(File::Spec) \ -Requires: perl(File::Spec::Functions) \ -Requires: perl(I18N::LangTags) \ -Requires: perl(IO::File) \ -Requires: perl(IPC::Open3) \ -Requires: perl(Opcode) >= 1.01 \ -Requires: perl(POSIX) \ -Requires: perl(Scalar::Util) >= 1.10 \ -Requires: perl(Symbol) \ -Requires: perl(Text::Tabs) \ -Requires: perl(Text::Wrap) \ -Requires: perl(Tie::Handle) \ -Requires: perl(Tie::Hash) \ -Requires: perl(Tie::StdHandle) \ -Requires: perl(Time::tm) \ -Requires: perl(Unicode::Normalize) \ -Requires: perl(XSLoader) \ -Requires: perl(_charnames) \ -Requires: perl(bytes) \ -Requires: perl(charnames) \ -Requires: perl(constant) \ -Requires: perl(feature) \ -Requires: perl(if) \ -Requires: perl(integer) \ -Requires: perl(overload) \ -Requires: perl(parent) \ -Requires: perl(re) \ -Requires: perl(strict) \ -Requires: perl(subs) \ -Requires: perl(threads) \ -Requires: perl(threads::shared) \ -Requires: perl(unicore::Name) \ -Requires: perl(utf8) \ -Requires: perl(vars) \ -Requires: perl(warnings) \ -Requires: perl(warnings::register) \ -Provides: perl(AnyDBM_File) = 1.01 \ -Provides: perl(AutoLoader) = 5.74 \ -Provides: perl(AutoSplit) = 1.06 \ -Provides: perl(B) = 1.68 \ -Provides: perl(B::Concise) = 0.999 \ -Provides: perl(B::Deparse) = 1.40 \ -Provides: perl(B::OBJECT) \ -Provides: perl(B::Op_private) = 5.026002 \ -Provides: perl(B::Showlex) = 1.05 \ -Provides: perl(B::Terse) = 1.07 \ -Provides: perl(B::Xref) = 1.06 \ -Provides: perl(Benchmark) = 1.22 \ -Provides: perl(Class::Struct) = 0.65 \ -Provides: perl(Class::Struct::Tie_ISA) \ -Provides: perl(Config) = 5.026002 \ -Provides: perl(Config::Extensions) = 0.01 \ -Provides: perl(DB) = 1.08 \ -Provides: perl(DBM_Filter) = 0.06 \ -Provides: perl(DBM_Filter::compress) = 0.03 \ -Provides: perl(DBM_Filter::encode) = 0.03 \ -Provides: perl(DBM_Filter::int32) = 0.03 \ -Provides: perl(DBM_Filter::null) = 0.03 \ -Provides: perl(DBM_Filter::utf8) = 0.03 \ -Provides: perl(DirHandle) = 1.04 \ -Provides: perl(Dumpvalue) = 1.18 \ -Provides: perl(DynaLoader) = 1.42 \ -Provides: perl(EVERY::LAST) \ -Provides: perl(English) = 1.10 \ -Provides: perl(ExtUtils::Constant) = 0.23 \ -Provides: perl(ExtUtils::Constant::Base) = 0.05 \ -Provides: perl(ExtUtils::Constant::ProxySubs) = 0.08 \ -Provides: perl(ExtUtils::Constant::Utils) = 0.03 \ -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.32 \ -Provides: perl(File::DosGlob) = 1.12 \ -Provides: perl(File::Find) = 1.34 \ -Provides: perl(File::Glob) = 1.28 \ -Provides: perl(File::stat) = 1.07 \ -Provides: perl(FileCache) = 1.09 \ -Provides: perl(FileHandle) = 2.03 \ -Provides: perl(FindBin) = 1.51 \ -Provides: perl(GDBM_File) = 1.15 \ -Provides: perl(Getopt::Std) = 1.12 \ -Provides: perl(Hash::Util) = 0.22 \ -Provides: perl(Hash::Util::FieldHash) = 1.19 \ -Provides: perl(I18N::Collate) = 1.02 \ -Provides: perl(I18N::LangTags) = 0.42 \ -Provides: perl(I18N::LangTags::Detect) = 1.06 \ -Provides: perl(I18N::LangTags::List) = 0.39 \ -Provides: perl(I18N::Langinfo) = 0.13 \ -Provides: perl(IPC::Open2) = 1.04 \ -Provides: perl(IPC::Open3) = 1.20 \ -Provides: perl(NDBM_File) = 1.14 \ -Provides: perl(NEXT) = 0.67 \ -Provides: perl(NEXT::ACTUAL) \ -Provides: perl(NEXT::ACTUAL::DISTINCT) \ -Provides: perl(NEXT::ACTUAL::UNSEEN) \ -Provides: perl(NEXT::DISTINCT) \ -Provides: perl(NEXT::DISTINCT::ACTUAL) \ -Provides: perl(NEXT::UNSEEN) \ -Provides: perl(NEXT::UNSEEN::ACTUAL) \ -Provides: perl(Net::hostent) = 1.01 \ -Provides: perl(Net::netent) = 1.00 \ -Provides: perl(Net::protoent) = 1.00 \ -Provides: perl(Net::servent) = 1.01 \ -Provides: perl(O) = 1.01 \ -Provides: perl(ODBM_File) = 1.14 \ -Provides: perl(Opcode) = 1.39 \ -Provides: perl(POSIX) = 1.76 \ -Provides: perl(POSIX::SigAction) \ -Provides: perl(POSIX::SigRt) \ -Provides: perl(POSIX::SigSet) \ -Provides: perl(PerlIO) = 1.10 \ -Provides: perl(PerlIO::encoding) = 0.25 \ -Provides: perl(PerlIO::mmap) = 0.016 \ -Provides: perl(PerlIO::scalar) = 0.26 \ -Provides: perl(PerlIO::via) = 0.17 \ -Provides: perl(Pod::Functions) = 1.11 \ -Provides: perl(SDBM_File) = 1.14 \ -Provides: perl(Safe) = 2.40 \ -Provides: perl(Search::Dict) = 1.07 \ -Provides: perl(SelectSaver) = 1.02 \ -Provides: perl(Symbol) = 1.08 \ -Provides: perl(Sys::Hostname) = 1.20 \ -Provides: perl(Term::Complete) = 1.403 \ -Provides: perl(Term::ReadLine) = 1.17 \ -Provides: perl(Term::ReadLine::Stub) \ -Provides: perl(Term::ReadLine::TermCap) \ -Provides: perl(Term::ReadLine::Tk) \ -Provides: perl(Text::Abbrev) = 1.02 \ -Provides: perl(Thread) = 3.04 \ -Provides: perl(Thread::Semaphore) = 2.13 \ -Provides: perl(Tie::Array) = 1.06 \ -Provides: perl(Tie::ExtraHash) \ -Provides: perl(Tie::File) = 1.02 \ -Provides: perl(Tie::File::Cache) \ -Provides: perl(Tie::File::Heap) \ -Provides: perl(Tie::Handle) = 4.2 \ -Provides: perl(Tie::Hash) \ -Provides: perl(Tie::Hash) = 1.05 \ -Provides: perl(Tie::Hash::NamedCapture) = 0.10 \ -Provides: perl(Tie::Memoize) = 1.1 \ -Provides: perl(Tie::RefHash) = 1.39 \ -Provides: perl(Tie::RefHash::Nestable) \ -Provides: perl(Tie::Scalar) = 1.04 \ -Provides: perl(Tie::StdArray) \ -Provides: perl(Tie::StdHandle) = 4.4 \ -Provides: perl(Tie::StdHash) \ -Provides: perl(Tie::StdScalar) \ -Provides: perl(Tie::SubstrHash) = 1.00 \ -Provides: perl(Time::gmtime) = 1.03 \ -Provides: perl(Time::localtime) = 1.02 \ -Provides: perl(Time::tm) = 1.00 \ -Provides: perl(UNIVERSAL) = 1.13 \ -Provides: perl(Unicode::UCD) = 0.69 \ -Provides: perl(User::grent) = 1.01 \ -Provides: perl(User::pwent) = 1.00 \ -Provides: perl(_charnames) = 1.45 \ -Provides: perl(arybase) = 0.12 \ -Provides: perl(attributes) = 0.29 \ -Provides: perl(autouse) = 1.11 \ -Provides: perl(base) = 2.26 \ -Provides: perl(blib) = 1.06 \ -Provides: perl(bytes) = 1.05 \ -Provides: perl(bytes_heavy.pl) \ -Provides: perl(charnames) = 1.45 \ -Provides: perl(deprecate) = 0.03 \ -Provides: perl(diagnostics) = 1.36 \ -Provides: perl(dumpvar.pl) \ -Provides: perl(encoding::warnings) = 0.13 \ -Provides: perl(feature) = 1.47 \ -Provides: perl(fields) = 2.23 \ -Provides: perl(filetest) = 1.03 \ -Provides: perl(if) = 0.0606 \ -Provides: perl(less) = 0.03 \ -Provides: perl(lib) = 0.64 \ -Provides: perl(locale) = 1.09 \ -Provides: perl(mro) = 1.20 \ -Provides: perl(ops) = 1.02 \ -Provides: perl(overload) = 1.28 \ -Provides: perl(overload::numbers) \ -Provides: perl(overloading) = 0.02 \ -Provides: perl(perl5db.pl) \ -Provides: perl(sigtrap) = 1.08 \ -Provides: perl(sort) = 2.02 \ -Provides: perl(subs) = 1.02 \ -Provides: perl(vars) = 1.03 \ -Provides: perl(vmsish) = 1.04 \ -Provides: perl(warnings::register) = 1.04 \ -%{nil} -%global gendep_perl_interpreter_debuginfo \ -%{nil} -%global gendep_perl_libnet \ -Requires: perl(:VERSION) >= 5.8.1 \ -Requires: perl(Carp) \ -Requires: perl(Errno) \ -Requires: perl(Exporter) \ -Requires: perl(Fcntl) \ -Requires: perl(FileHandle) \ -Requires: perl(IO::Select) \ -Requires: perl(IO::Socket) \ -Requires: perl(Net::Cmd) \ -Requires: perl(Net::Config) \ -Requires: perl(Net::FTP::I) \ -Requires: perl(Net::FTP::dataconn) \ -Requires: perl(Socket) \ -Requires: perl(Symbol) \ -Requires: perl(Time::Local) \ -Requires: perl(constant) \ -Requires: perl(strict) \ -Requires: perl(warnings) \ -Provides: perl(Net::Cmd) = 3.10 \ -Provides: perl(Net::Config) = 3.10 \ -Provides: perl(Net::Domain) = 3.10 \ -Provides: perl(Net::FTP) = 3.10 \ -Provides: perl(Net::FTP::A) = 3.10 \ -Provides: perl(Net::FTP::E) = 3.10 \ -Provides: perl(Net::FTP::I) = 3.10 \ -Provides: perl(Net::FTP::L) = 3.10 \ -Provides: perl(Net::FTP::_SSL_SingleSessionCache) \ -Provides: perl(Net::FTP::dataconn) = 3.10 \ -Provides: perl(Net::NNTP) = 3.10 \ -Provides: perl(Net::NNTP::_SSL) \ -Provides: perl(Net::Netrc) = 3.10 \ -Provides: perl(Net::POP3) = 3.10 \ -Provides: perl(Net::POP3::_SSL) \ -Provides: perl(Net::SMTP) = 3.10 \ -Provides: perl(Net::SMTP::_SSL) \ -Provides: perl(Net::Time) = 3.10 \ -%{nil} -%global gendep_perl_libnetcfg \ -Requires: perl(ExtUtils::MakeMaker) \ -Requires: perl(File::Spec) \ -Requires: perl(Getopt::Std) \ -Requires: perl(IO::File) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -%{nil} -%global gendep_perl_libs \ -Requires: perl(integer) \ -Requires: perl(strict) \ -Requires: perl(warnings) \ -Provides: perl(:MODULE_COMPAT_5.26.0) \ -Provides: perl(:MODULE_COMPAT_5.26.1) \ -Provides: perl(:MODULE_COMPAT_5.26.2) \ -Provides: perl(:VERSION) = 5.26.2 \ -Provides: perl(:WITH_64BIT) \ -Provides: perl(:WITH_ITHREADS) \ -Provides: perl(:WITH_LARGEFILES) \ -Provides: perl(:WITH_PERLIO) \ -Provides: perl(:WITH_THREADS) \ -Provides: perl(XSLoader) = 0.27 \ -Provides: perl(integer) = 1.01 \ -Provides: perl(re) = 0.34 \ -Provides: perl(strict) = 1.11 \ -Provides: perl(unicore::Name) \ -Provides: perl(utf8) = 1.19 \ -Provides: perl(utf8_heavy.pl) \ -Provides: perl(warnings) = 1.37 \ -%{nil} -%global gendep_perl_libs_debuginfo \ -%{nil} -%global gendep_perl_macros \ -%{nil} -%global gendep_perl_open \ -Requires: perl(:VERSION) >= 5.8.1 \ -Requires: perl(warnings) \ -Provides: perl(open) = 1.11 \ -%{nil} -%global gendep_perl_parent \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Provides: perl(parent) = 0.236 \ -%{nil} -%global gendep_perl_perlfaq \ -Requires: perl(strict) \ -Requires: perl(warnings) \ -Provides: perl(perlfaq) = 5.021011 \ -%{nil} -%global gendep_perl_podlators \ -Requires: perl(:VERSION) >= 5.6.0 \ -Requires: perl(Carp) \ -Requires: perl(Encode) \ -Requires: perl(Exporter) \ -Requires: perl(Getopt::Long) \ -Requires: perl(POSIX) \ -Requires: perl(Pod::Man) \ -Requires: perl(Pod::Simple) \ -Requires: perl(Pod::Text) \ -Requires: perl(Pod::Usage) \ -Requires: perl(Term::ANSIColor) \ -Requires: perl(Term::Cap) \ -Requires: perl(strict) \ -Requires: perl(subs) \ -Requires: perl(vars) \ -Requires: perl(warnings) \ -Provides: perl(Pod::Man) = 4.09 \ -Provides: perl(Pod::ParseLink) = 4.09 \ -Provides: perl(Pod::Text) = 4.09 \ -Provides: perl(Pod::Text::Color) = 4.09 \ -Provides: perl(Pod::Text::Overstrike) = 4.09 \ -Provides: perl(Pod::Text::Termcap) = 4.09 \ -%{nil} -%global gendep_perl_tests \ -%{nil} -%global gendep_perl_threads \ -Requires: perl(:VERSION) >= 5.8.0 \ -Requires: perl(Config) \ -Requires: perl(XSLoader) \ -Requires: perl(overload) \ -Requires: perl(strict) \ -Requires: perl(warnings) \ -Provides: perl(threads) = 2.15 \ -%{nil} -%global gendep_perl_threads_debuginfo \ -%{nil} -%global gendep_perl_threads_shared \ -Requires: perl(:VERSION) >= 5.8.0 \ -Requires: perl(Scalar::Util) \ -Requires: perl(strict) \ -Requires: perl(warnings) \ -Provides: perl(threads::shared) = 1.56 \ -%{nil} -%global gendep_perl_threads_shared_debuginfo \ -%{nil} -%global gendep_perl_utils \ -Requires: perl(:VERSION) >= 5.9.1 \ -Requires: perl(Carp) \ -Requires: perl(Config) \ -Requires: perl(File::Basename) \ -Requires: perl(File::Path) \ -Requires: perl(File::Spec) \ -Requires: perl(Getopt::Std) \ -Requires: perl(Text::Tabs) \ -Requires: perl(re) \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Requires: perl(warnings) \ -%{nil} -%global gendep_perl_version \ -Requires: perl(:VERSION) >= 5.6.2 \ -Requires: perl(strict) \ -Requires: perl(vars) \ -Requires: perl(version::regex) \ -Requires: perl(warnings::register) \ -Provides: perl(version) = 0.9917 \ -Provides: perl(version::regex) = 0.9917 \ -%{nil} diff --git a/SOURCES/perl-5.14.1-offtest.patch b/SOURCES/perl-5.14.1-offtest.patch deleted file mode 100644 index 45294c8..0000000 --- a/SOURCES/perl-5.14.1-offtest.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff -up perl-5.14.1/cpan/File-Temp/t/fork.t.off perl-5.14.1/cpan/File-Temp/t/fork.t ---- perl-5.14.1/cpan/File-Temp/t/fork.t.off 2011-04-13 13:36:34.000000000 +0200 -+++ perl-5.14.1/cpan/File-Temp/t/fork.t 2011-06-20 10:29:31.536282611 +0200 -@@ -12,12 +12,8 @@ BEGIN { - $Config::Config{useithreads} and - $Config::Config{ccflags} =~ /-DPERL_IMPLICIT_SYS/ - ); -- if ( $can_fork ) { -- print "1..8\n"; -- } else { -- print "1..0 # Skip No fork available\n"; -+ print "1..0 # Skip Koji doesn't work with Perl fork tests\n"; - exit; -- } - } - - use File::Temp; diff --git a/SOURCES/perl-5.18.1-Document-Math-BigInt-CalcEmu-requires-Math-BigInt.patch b/SOURCES/perl-5.18.1-Document-Math-BigInt-CalcEmu-requires-Math-BigInt.patch deleted file mode 100644 index bed0adc..0000000 --- a/SOURCES/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 -@@ -290,6 +290,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/SOURCES/perl-5.26.0-Time-HiRes-Fix-unreliable-t-usleep.t-and-t-utime.t.patch b/SOURCES/perl-5.26.0-Time-HiRes-Fix-unreliable-t-usleep.t-and-t-utime.t.patch deleted file mode 100644 index 206aeea..0000000 --- a/SOURCES/perl-5.26.0-Time-HiRes-Fix-unreliable-t-usleep.t-and-t-utime.t.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 8985b12868f07d9ef501580d600e49fe8f230eb4 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= -Date: Tue, 22 Aug 2017 09:49:42 +0200 -Subject: [PATCH] Time-HiRes: Fix unreliable t/usleep.t and t/utime.t -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Ported from Time-HiRes-1.9746. - -The tests randomly failed on loaded machines because a CPU scheduler -could add unpredictable delays. - -CPAN RT#122819 - -Signed-off-by: Petr Písař ---- - dist/Time-HiRes/t/usleep.t | 4 ++-- - dist/Time-HiRes/t/utime.t | 9 +++++---- - 2 files changed, 7 insertions(+), 6 deletions(-) - -diff --git a/dist/Time-HiRes/t/usleep.t b/dist/Time-HiRes/t/usleep.t -index 9322458..bb66cbe 100644 ---- a/dist/Time-HiRes/t/usleep.t -+++ b/dist/Time-HiRes/t/usleep.t -@@ -32,7 +32,7 @@ SKIP: { - Time::HiRes::usleep(500_000); - my $f2 = Time::HiRes::time(); - my $d = $f2 - $f; -- ok $d > 0.4 && $d < 0.9 or print("# slept $d secs $f to $f2\n"); -+ ok $d > 0.49 or print("# slept $d secs $f to $f2\n"); - } - - SKIP: { -@@ -40,7 +40,7 @@ SKIP: { - my $r = [ Time::HiRes::gettimeofday() ]; - Time::HiRes::sleep( 0.5 ); - my $f = Time::HiRes::tv_interval $r; -- ok $f > 0.4 && $f < 0.9 or print("# slept $f instead of 0.5 secs.\n"); -+ ok $f > 0.49 or print("# slept $f instead of 0.5 secs.\n"); - } - - SKIP: { -diff --git a/dist/Time-HiRes/t/utime.t b/dist/Time-HiRes/t/utime.t -index 22fd48e..c5c7e55 100644 ---- a/dist/Time-HiRes/t/utime.t -+++ b/dist/Time-HiRes/t/utime.t -@@ -106,17 +106,18 @@ print "# utime undef sets time to now\n"; - my ($fh2, $filename2) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 ); - - my $now = Time::HiRes::time; -+ sleep(1); - is Time::HiRes::utime(undef, undef, $filename1, $fh2), 2, "Two files changed"; - - { - my ($got_atime, $got_mtime) = ( Time::HiRes::stat($fh1) )[8, 9]; -- cmp_ok abs( $got_atime - $now), '<', 0.1, "File 1 atime set correctly"; -- cmp_ok abs( $got_mtime - $now), '<', 0.1, "File 1 mtime set correctly"; -+ cmp_ok $got_atime, '>=', $now, "File 1 atime set correctly"; -+ cmp_ok $got_mtime, '>=', $now, "File 1 mtime set correctly"; - } - { - my ($got_atime, $got_mtime) = ( Time::HiRes::stat($filename2) )[8, 9]; -- cmp_ok abs( $got_atime - $now), '<', 0.1, "File 2 atime set correctly"; -- cmp_ok abs( $got_mtime - $now), '<', 0.1, "File 2 mtime set correctly"; -+ cmp_ok $got_atime, '>=', $now, "File 2 atime set correctly"; -+ cmp_ok $got_mtime, '>=', $now, "File 2 mtime set correctly"; - } - }; - --- -2.9.5 - diff --git a/SOURCES/perl-5.26.0-perl-131263-clear-the-UTF8-flag-on-a-glob-if-it-isn-.patch b/SOURCES/perl-5.26.0-perl-131263-clear-the-UTF8-flag-on-a-glob-if-it-isn-.patch deleted file mode 100644 index 0ba657a..0000000 --- a/SOURCES/perl-5.26.0-perl-131263-clear-the-UTF8-flag-on-a-glob-if-it-isn-.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 7b3e03bd309fcc48a135123a60678ae2596b1c38 Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Wed, 7 Jun 2017 15:00:26 +1000 -Subject: [PATCH] clear the UTF8 flag on a glob if it isn't UTF8 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Ported to 5.26.0: - -commit 1097da16b21fe0a2257dba9937e55c0cca18f7e1 -Author: Tony Cook -Date: Wed Jun 7 15:00:26 2017 +1000 - - [perl #131263] clear the UTF8 flag on a glob if it isn't UTF8 - - Previously sv_2pv_flags() would set the UTF8 flag on a glob if it - had a UTF8 name, but wouldn't clear tha flag if it didn't. - - This meant a name change, eg. if assigned another glob, from a UTF8 - name to a non-UTF8 name would leave the flag set. - -Signed-off-by: Petr Písař ---- - sv.c | 2 ++ - t/op/gv.t | 10 +++++++++- - 2 files changed, 11 insertions(+), 1 deletion(-) - -diff --git a/sv.c b/sv.c -index 9f3e28e..ae3dc95 100644 ---- a/sv.c -+++ b/sv.c -@@ -3179,6 +3179,8 @@ Perl_sv_2pv_flags(pTHX_ SV *const sv, STRLEN *const lp, const I32 flags) - assert(SvPOK(buffer)); - if (SvUTF8(buffer)) - SvUTF8_on(sv); -+ else -+ SvUTF8_off(sv); - if (lp) - *lp = SvCUR(buffer); - return SvPVX(buffer); -diff --git a/t/op/gv.t b/t/op/gv.t -index 4fe6b00..670ccf6 100644 ---- a/t/op/gv.t -+++ b/t/op/gv.t -@@ -12,7 +12,7 @@ BEGIN { - - use warnings; - --plan(tests => 280); -+plan(tests => 282); - - # type coercion on assignment - $foo = 'foo'; -@@ -1170,6 +1170,14 @@ SKIP: { - is ($? & 127, 0,"[perl #128597] No crash when gp_free calls ckWARN_d"); - } - -+{ -+ # [perl #131263] -+ *sym = "\N{U+0080}"; -+ ok(*sym eq "*main::\N{U+0080}", "utf8 flag properly set"); -+ *sym = "\xC3\x80"; -+ ok(*sym eq "*main::\xC3\x80", "utf8 flag properly cleared"); -+} -+ - # test gv_try_downgrade() - # If a GV can be stored in a stash in a compact, non-GV form, then - # whenever ops are freed which reference the GV, an attempt is made to --- -2.9.4 - diff --git a/SOURCES/perl-5.26.0-perl-131588-be-a-little-more-careful-in-arybase-_tie.patch b/SOURCES/perl-5.26.0-perl-131588-be-a-little-more-careful-in-arybase-_tie.patch deleted file mode 100644 index 3749874..0000000 --- a/SOURCES/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 -@@ -438,10 +438,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/SOURCES/perl-5.26.0-t-op-hash.t-fixup-intermittently-failing-test.patch b/SOURCES/perl-5.26.0-t-op-hash.t-fixup-intermittently-failing-test.patch deleted file mode 100644 index 9463079..0000000 --- a/SOURCES/perl-5.26.0-t-op-hash.t-fixup-intermittently-failing-test.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 37268580c0cfbf190ff9aa7859a604713cb366ee Mon Sep 17 00:00:00 2001 -From: Yves Orton -Date: Tue, 27 Jun 2017 16:36:57 +0200 -Subject: [PATCH] t/op/hash.t: fixup intermittently failing test -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Port to 5.26.0: - -commit b2ac59d1d0fda74d6612701d8316fe8dfb6a1b90 -Author: Yves Orton -Date: Tue Jun 27 16:36:57 2017 +0200 - - t/op/hash.t: fixup intermittently failing test - -Signed-off-by: Petr Písař ---- - t/op/hash.t | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/t/op/hash.t b/t/op/hash.t -index a0e79c7..b941c57 100644 ---- a/t/op/hash.t -+++ b/t/op/hash.t -@@ -206,7 +206,7 @@ sub torture_hash { - my $keys = pop @groups; - ++$h->{$_} foreach @$keys; - my (undef, $total) = validate_hash("$desc " . keys %$h, $h); -- is($total, $total0, "bucket count is constant when rebuilding"); -+ ok($total == $total0 || $total == ($total0*2), "bucket count is expected size when rebuilding"); - is(scalar %$h, pop @groups, "scalar keys is identical when rebuilding"); - ++$h1->{$_} foreach @$keys; - validate_hash("$desc copy " . keys %$h1, $h1); --- -2.9.4 - diff --git a/SOURCES/perl-5.26.1-Fix-deparsing-of-transliterations-with-unprintable-c.patch b/SOURCES/perl-5.26.1-Fix-deparsing-of-transliterations-with-unprintable-c.patch deleted file mode 100644 index f8c700e..0000000 --- a/SOURCES/perl-5.26.1-Fix-deparsing-of-transliterations-with-unprintable-c.patch +++ /dev/null @@ -1,48 +0,0 @@ -From abd17348111a99642da217c45d836f2df5713594 Mon Sep 17 00:00:00 2001 -From: John Lightsey -Date: Tue, 31 Oct 2017 18:12:26 -0500 -Subject: [PATCH] Fix deparsing of transliterations with unprintable - characters. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -RT #132405 - -Signed-off-by: Nicolas R -Petr Písař: Port to 5.26.1. -Signed-off-by: Petr Písař ---- - lib/B/Deparse.pm | 2 +- - lib/B/Deparse.t | 5 +++++ - 2 files changed, 6 insertions(+), 1 deletion(-) - -diff --git a/lib/B/Deparse.pm b/lib/B/Deparse.pm -index 3166415..cc74552 100644 ---- a/lib/B/Deparse.pm -+++ b/lib/B/Deparse.pm -@@ -5200,7 +5200,7 @@ sub pchr { # ASCII - } elsif ($n == ord "\r") { - return '\\r'; - } elsif ($n >= ord("\cA") and $n <= ord("\cZ")) { -- return '\\c' . unctrl{chr $n}; -+ return '\\c' . $unctrl{chr $n}; - } else { - # return '\x' . sprintf("%02x", $n); - return '\\' . sprintf("%03o", $n); -diff --git a/lib/B/Deparse.t b/lib/B/Deparse.t -index 7eeb4f8..eae9c49 100644 ---- a/lib/B/Deparse.t -+++ b/lib/B/Deparse.t -@@ -2610,3 +2610,8 @@ sub ($a, $=) { - $a; - } - ; -+#### -+# tr with unprintable characters -+my $str; -+$str = 'foo'; -+$str =~ tr/\cA//; --- -2.13.6 - diff --git a/SOURCES/perl-5.26.1-fix-do-dir-returning-no.patch b/SOURCES/perl-5.26.1-fix-do-dir-returning-no.patch deleted file mode 100644 index aa44d7d..0000000 --- a/SOURCES/perl-5.26.1-fix-do-dir-returning-no.patch +++ /dev/null @@ -1,111 +0,0 @@ -From 3dfcac940930a8aa6779f5debea6ea6357372419 Mon Sep 17 00:00:00 2001 -From: Daniel Dragan -Date: Sun, 16 Aug 2015 04:30:23 -0400 -Subject: [PATCH] fix do dir returning no $! -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -do()ing a directory was returning false/empty string in $!, which isn't -an error, yet documentation says $! should have the error code in it. -Fix this by returning EISDIR for dirs, and EINVAL for block devices. -[perl #125774] - -Remove "errno = 0" and comment added in b2da7ead68, since now there is no -scenario where errno is uninitialized, since the dir and block device -failure branches now set errno, where previously they didn't. - -Petr Písař: Ported to 5.26.1. - -Signed-off-by: Petr Písař ---- - pp_ctl.c | 25 +++++++++++++++++-------- - t/op/do.t | 14 +++++++++++++- - 2 files changed, 30 insertions(+), 9 deletions(-) - -diff --git a/pp_ctl.c b/pp_ctl.c -index e24d7b6..f136f91 100644 ---- a/pp_ctl.c -+++ b/pp_ctl.c -@@ -3534,15 +3534,22 @@ S_check_type_and_open(pTHX_ SV *name) - errno EACCES, so only do a stat to separate a dir from a real EACCES - caused by user perms */ - #ifndef WIN32 -- /* we use the value of errno later to see how stat() or open() failed. -- * We don't want it set if the stat succeeded but we still failed, -- * such as if the name exists, but is a directory */ -- errno = 0; -- - st_rc = PerlLIO_stat(p, &st); - -- if (st_rc < 0 || S_ISDIR(st.st_mode) || S_ISBLK(st.st_mode)) { -+ if (st_rc < 0) - return NULL; -+ else { -+ int eno; -+ if(S_ISBLK(st.st_mode)) { -+ eno = EINVAL; -+ goto not_file; -+ } -+ else if(S_ISDIR(st.st_mode)) { -+ eno = EISDIR; -+ not_file: -+ errno = eno; -+ return NULL; -+ } - } - #endif - -@@ -3554,8 +3561,10 @@ S_check_type_and_open(pTHX_ SV *name) - int eno; - st_rc = PerlLIO_stat(p, &st); - if (st_rc >= 0) { -- if(S_ISDIR(st.st_mode) || S_ISBLK(st.st_mode)) -- eno = 0; -+ if(S_ISDIR(st.st_mode)) -+ eno = EISDIR; -+ else if(S_ISBLK(st.st_mode)) -+ eno = EINVAL; - else - eno = EACCES; - errno = eno; -diff --git a/t/op/do.t b/t/op/do.t -index 78d8800..1c54f0b 100644 ---- a/t/op/do.t -+++ b/t/op/do.t -@@ -7,6 +7,7 @@ BEGIN { - } - use strict; - no warnings 'void'; -+use Errno qw(ENOENT EISDIR); - - my $called; - my $result = do{ ++$called; 'value';}; -@@ -247,7 +248,7 @@ SKIP: { - my $saved_errno = $!; - ok(!$rv, "do returns false on io errror"); - ok(!$saved_error, "\$\@ not set on io error"); -- ok($saved_errno, "\$! set on io error"); -+ ok($saved_errno == ENOENT, "\$! is ENOENT for nonexistent file"); - } - - # do subname should not be do "subname" -@@ -305,4 +306,15 @@ SKIP: { - } - - -+# do file $!s must be correct -+{ -+ local @INC = ('.'); #want EISDIR not ENOENT -+ my $rv = do 'op'; # /t/op dir -+ my $saved_error = $@; -+ my $saved_errno = $!+0; -+ ok(!$rv, "do dir returns false"); -+ ok(!$saved_error, "\$\@ is false on do dir"); -+ ok($saved_errno == EISDIR, "\$! is EISDIR on do dir"); -+} -+ - done_testing(); --- -2.13.6 - diff --git a/SOURCES/perl-5.26.1-fix-parsing-of-braced-subscript-after-parens.patch b/SOURCES/perl-5.26.1-fix-parsing-of-braced-subscript-after-parens.patch deleted file mode 100644 index 55f0bcd..0000000 --- a/SOURCES/perl-5.26.1-fix-parsing-of-braced-subscript-after-parens.patch +++ /dev/null @@ -1,1075 +0,0 @@ -From 52ef21e43af97a7ed71a9bb7621a3c058196cfc2 Mon Sep 17 00:00:00 2001 -From: Zefram -Date: Tue, 16 Jan 2018 08:04:08 +0000 -Subject: [PATCH] fix parsing of braced subscript after parens -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Where an arrow is omitted between subscripts, if a parenthesised -subscript is followed by a braced one, PL_expect was getting set to -XBLOCK due to code intended for "foreach (...) {...}". This broke -bareword autoquotation, and the parsing of operators following the -braced subscript. Alter PL_expect from XBLOCK to XOPERATOR following -a parenthesised subscript. Fixes [perl #8045]. - -Petr Písař: Ported to 5.26.1. - -Signed-off-by: Petr Písař ---- - perly.act | 250 +++++++++++++++++++++++++++------------------------- - perly.h | 10 ++- - perly.tab | 30 +++---- - perly.y | 20 ++++- - t/op/postfixderef.t | 25 +++++- - 5 files changed, 192 insertions(+), 143 deletions(-) - -diff --git a/perly.act b/perly.act -index 73c44e5..4f74883 100644 ---- a/perly.act -+++ b/perly.act -@@ -1194,65 +1194,77 @@ case 2: - case 141: - #line 931 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, -- newCVREF(0, scalar((ps[-3].val.opval)))); } -+ newCVREF(0, scalar((ps[-3].val.opval)))); -+ if (parser->expect == XBLOCK) -+ parser->expect = XOPERATOR; -+ } - - break; - - case 142: --#line 934 "perly.y" /* yacc.c:1646 */ -+#line 937 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, - op_append_elem(OP_LIST, (ps[-1].val.opval), -- newCVREF(0, scalar((ps[-4].val.opval))))); } -+ newCVREF(0, scalar((ps[-4].val.opval))))); -+ if (parser->expect == XBLOCK) -+ parser->expect = XOPERATOR; -+ } - - break; - - case 143: --#line 939 "perly.y" /* yacc.c:1646 */ -+#line 945 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, - op_append_elem(OP_LIST, (ps[-1].val.opval), -- newCVREF(0, scalar((ps[-3].val.opval))))); } -+ newCVREF(0, scalar((ps[-3].val.opval))))); -+ if (parser->expect == XBLOCK) -+ parser->expect = XOPERATOR; -+ } - - break; - - case 144: --#line 943 "perly.y" /* yacc.c:1646 */ -+#line 952 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, -- newCVREF(0, scalar((ps[-2].val.opval)))); } -+ newCVREF(0, scalar((ps[-2].val.opval)))); -+ if (parser->expect == XBLOCK) -+ parser->expect = XOPERATOR; -+ } - - break; - - case 145: --#line 946 "perly.y" /* yacc.c:1646 */ -+#line 958 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-4].val.opval)); } - - break; - - case 146: --#line 948 "perly.y" /* yacc.c:1646 */ -+#line 960 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-3].val.opval)); } - - break; - - case 147: --#line 950 "perly.y" /* yacc.c:1646 */ -+#line 962 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), NULL); } - - break; - - case 148: --#line 955 "perly.y" /* yacc.c:1646 */ -+#line 967 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[-2].val.opval), (ps[-1].val.ival), (ps[0].val.opval)); } - - break; - - case 149: --#line 957 "perly.y" /* yacc.c:1646 */ -+#line 969 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } - - break; - - case 150: --#line 959 "perly.y" /* yacc.c:1646 */ -+#line 971 "perly.y" /* yacc.c:1646 */ - { if ((ps[-1].val.ival) != OP_REPEAT) - scalar((ps[-2].val.opval)); - (yyval.opval) = newBINOP((ps[-1].val.ival), 0, (ps[-2].val.opval), scalar((ps[0].val.opval))); -@@ -1261,111 +1273,111 @@ case 2: - break; - - case 151: --#line 964 "perly.y" /* yacc.c:1646 */ -+#line 976 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } - - break; - - case 152: --#line 966 "perly.y" /* yacc.c:1646 */ -+#line 978 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } - - break; - - case 153: --#line 968 "perly.y" /* yacc.c:1646 */ -+#line 980 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } - - break; - - case 154: --#line 970 "perly.y" /* yacc.c:1646 */ -+#line 982 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } - - break; - - case 155: --#line 972 "perly.y" /* yacc.c:1646 */ -+#line 984 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } - - break; - - case 156: --#line 974 "perly.y" /* yacc.c:1646 */ -+#line 986 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } - - break; - - case 157: --#line 976 "perly.y" /* yacc.c:1646 */ -+#line 988 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newRANGE((ps[-1].val.ival), scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); } - - break; - - case 158: --#line 978 "perly.y" /* yacc.c:1646 */ -+#line 990 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); } - - break; - - case 159: --#line 980 "perly.y" /* yacc.c:1646 */ -+#line 992 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[-2].val.opval), (ps[0].val.opval)); } - - break; - - case 160: --#line 982 "perly.y" /* yacc.c:1646 */ -+#line 994 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[-2].val.opval), (ps[0].val.opval)); } - - break; - - case 161: --#line 984 "perly.y" /* yacc.c:1646 */ -+#line 996 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = bind_match((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); } - - break; - - case 162: --#line 989 "perly.y" /* yacc.c:1646 */ -+#line 1001 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[0].val.opval))); } - - break; - - case 163: --#line 991 "perly.y" /* yacc.c:1646 */ -+#line 1003 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = (ps[0].val.opval); } - - break; - - case 164: --#line 994 "perly.y" /* yacc.c:1646 */ -+#line 1006 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); } - - break; - - case 165: --#line 996 "perly.y" /* yacc.c:1646 */ -+#line 1008 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, scalar((ps[0].val.opval))); } - - break; - - case 166: --#line 998 "perly.y" /* yacc.c:1646 */ -+#line 1010 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newUNOP(OP_POSTINC, 0, - op_lvalue(scalar((ps[-1].val.opval)), OP_POSTINC)); } - - break; - - case 167: --#line 1001 "perly.y" /* yacc.c:1646 */ -+#line 1013 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newUNOP(OP_POSTDEC, 0, - op_lvalue(scalar((ps[-1].val.opval)), OP_POSTDEC));} - - break; - - case 168: --#line 1004 "perly.y" /* yacc.c:1646 */ -+#line 1016 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = op_convert_list(OP_JOIN, 0, - op_append_elem( - OP_LIST, -@@ -1380,52 +1392,52 @@ case 2: - break; - - case 169: --#line 1015 "perly.y" /* yacc.c:1646 */ -+#line 1027 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newUNOP(OP_PREINC, 0, - op_lvalue(scalar((ps[0].val.opval)), OP_PREINC)); } - - break; - - case 170: --#line 1018 "perly.y" /* yacc.c:1646 */ -+#line 1030 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newUNOP(OP_PREDEC, 0, - op_lvalue(scalar((ps[0].val.opval)), OP_PREDEC)); } - - break; - - case 171: --#line 1025 "perly.y" /* yacc.c:1646 */ -+#line 1037 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newANONLIST((ps[-1].val.opval)); } - - break; - - case 172: --#line 1027 "perly.y" /* yacc.c:1646 */ -+#line 1039 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newANONLIST(NULL);} - - break; - - case 173: --#line 1029 "perly.y" /* yacc.c:1646 */ -+#line 1041 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newANONHASH((ps[-2].val.opval)); } - - break; - - case 174: --#line 1031 "perly.y" /* yacc.c:1646 */ -+#line 1043 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newANONHASH(NULL); } - - break; - - case 175: --#line 1033 "perly.y" /* yacc.c:1646 */ -+#line 1045 "perly.y" /* yacc.c:1646 */ - { SvREFCNT_inc_simple_void(PL_compcv); - (yyval.opval) = newANONATTRSUB((ps[-3].val.ival), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval)); } - - break; - - case 176: --#line 1036 "perly.y" /* yacc.c:1646 */ -+#line 1048 "perly.y" /* yacc.c:1646 */ - { - OP *body; - if (parser->copline > (line_t)(ps[-2].val.ival)) -@@ -1439,103 +1451,103 @@ case 2: - break; - - case 177: --#line 1050 "perly.y" /* yacc.c:1646 */ -+#line 1062 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = dofile((ps[0].val.opval), (ps[-1].val.ival));} - - break; - - case 178: --#line 1052 "perly.y" /* yacc.c:1646 */ -+#line 1064 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[0].val.opval)));} - - break; - - case 183: --#line 1060 "perly.y" /* yacc.c:1646 */ -+#line 1072 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newCONDOP(0, (ps[-4].val.opval), (ps[-2].val.opval), (ps[0].val.opval)); } - - break; - - case 184: --#line 1062 "perly.y" /* yacc.c:1646 */ -+#line 1074 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newUNOP(OP_REFGEN, 0, (ps[0].val.opval)); } - - break; - - case 185: --#line 1064 "perly.y" /* yacc.c:1646 */ -+#line 1076 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newUNOP(OP_REFGEN, 0, localize((ps[0].val.opval),1)); } - - break; - - case 186: --#line 1066 "perly.y" /* yacc.c:1646 */ -+#line 1078 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = (ps[0].val.opval); } - - break; - - case 187: --#line 1068 "perly.y" /* yacc.c:1646 */ -+#line 1080 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = localize((ps[0].val.opval),0); } - - break; - - case 188: --#line 1070 "perly.y" /* yacc.c:1646 */ -+#line 1082 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = sawparens((ps[-1].val.opval)); } - - break; - - case 189: --#line 1072 "perly.y" /* yacc.c:1646 */ -+#line 1084 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = (ps[0].val.opval); } - - break; - - case 190: --#line 1074 "perly.y" /* yacc.c:1646 */ -+#line 1086 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = sawparens(newNULLLIST()); } - - break; - - case 191: --#line 1076 "perly.y" /* yacc.c:1646 */ -+#line 1088 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = (ps[0].val.opval); } - - break; - - case 192: --#line 1078 "perly.y" /* yacc.c:1646 */ -+#line 1090 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = (ps[0].val.opval); } - - break; - - case 193: --#line 1080 "perly.y" /* yacc.c:1646 */ -+#line 1092 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = (ps[0].val.opval); } - - break; - - case 194: --#line 1082 "perly.y" /* yacc.c:1646 */ -+#line 1094 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = (ps[0].val.opval); } - - break; - - case 195: --#line 1084 "perly.y" /* yacc.c:1646 */ -+#line 1096 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[0].val.opval), OP_AV2ARYLEN));} - - break; - - case 196: --#line 1086 "perly.y" /* yacc.c:1646 */ -+#line 1098 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = (ps[0].val.opval); } - - break; - - case 197: --#line 1088 "perly.y" /* yacc.c:1646 */ -+#line 1100 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = op_prepend_elem(OP_ASLICE, - newOP(OP_PUSHMARK, 0), - newLISTOP(OP_ASLICE, 0, -@@ -1549,7 +1561,7 @@ case 2: - break; - - case 198: --#line 1098 "perly.y" /* yacc.c:1646 */ -+#line 1110 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = op_prepend_elem(OP_KVASLICE, - newOP(OP_PUSHMARK, 0), - newLISTOP(OP_KVASLICE, 0, -@@ -1563,7 +1575,7 @@ case 2: - break; - - case 199: --#line 1108 "perly.y" /* yacc.c:1646 */ -+#line 1120 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = op_prepend_elem(OP_HSLICE, - newOP(OP_PUSHMARK, 0), - newLISTOP(OP_HSLICE, 0, -@@ -1577,7 +1589,7 @@ case 2: - break; - - case 200: --#line 1118 "perly.y" /* yacc.c:1646 */ -+#line 1130 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = op_prepend_elem(OP_KVHSLICE, - newOP(OP_PUSHMARK, 0), - newLISTOP(OP_KVHSLICE, 0, -@@ -1591,26 +1603,26 @@ case 2: - break; - - case 201: --#line 1128 "perly.y" /* yacc.c:1646 */ -+#line 1140 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = (ps[0].val.opval); } - - break; - - case 202: --#line 1130 "perly.y" /* yacc.c:1646 */ -+#line 1142 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[0].val.opval))); } - - break; - - case 203: --#line 1132 "perly.y" /* yacc.c:1646 */ -+#line 1144 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[-2].val.opval))); - } - - break; - - case 204: --#line 1135 "perly.y" /* yacc.c:1646 */ -+#line 1147 "perly.y" /* yacc.c:1646 */ - { - (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, - op_append_elem(OP_LIST, (ps[-1].val.opval), scalar((ps[-3].val.opval)))); -@@ -1619,7 +1631,7 @@ case 2: - break; - - case 205: --#line 1140 "perly.y" /* yacc.c:1646 */ -+#line 1152 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, - op_append_elem(OP_LIST, (ps[0].val.opval), scalar((ps[-1].val.opval)))); - } -@@ -1627,130 +1639,130 @@ case 2: - break; - - case 206: --#line 1144 "perly.y" /* yacc.c:1646 */ -+#line 1156 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newSVREF((ps[-3].val.opval)); } - - break; - - case 207: --#line 1146 "perly.y" /* yacc.c:1646 */ -+#line 1158 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newAVREF((ps[-3].val.opval)); } - - break; - - case 208: --#line 1148 "perly.y" /* yacc.c:1646 */ -+#line 1160 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newHVREF((ps[-3].val.opval)); } - - break; - - case 209: --#line 1150 "perly.y" /* yacc.c:1646 */ -+#line 1162 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, - scalar(newCVREF((ps[-1].val.ival),(ps[-3].val.opval)))); } - - break; - - case 210: --#line 1153 "perly.y" /* yacc.c:1646 */ -+#line 1165 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newGVREF(0,(ps[-3].val.opval)); } - - break; - - case 211: --#line 1155 "perly.y" /* yacc.c:1646 */ -+#line 1167 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newOP((ps[0].val.ival), OPf_SPECIAL); - PL_hints |= HINT_BLOCK_SCOPE; } - - break; - - case 212: --#line 1158 "perly.y" /* yacc.c:1646 */ -+#line 1170 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newLOOPEX((ps[-1].val.ival),(ps[0].val.opval)); } - - break; - - case 213: --#line 1160 "perly.y" /* yacc.c:1646 */ -+#line 1172 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); } - - break; - - case 214: --#line 1162 "perly.y" /* yacc.c:1646 */ -+#line 1174 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newOP((ps[0].val.ival), 0); } - - break; - - case 215: --#line 1164 "perly.y" /* yacc.c:1646 */ -+#line 1176 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); } - - break; - - case 216: --#line 1166 "perly.y" /* yacc.c:1646 */ -+#line 1178 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); } - - break; - - case 217: --#line 1168 "perly.y" /* yacc.c:1646 */ -+#line 1180 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newOP(OP_REQUIRE, (ps[0].val.ival) ? OPf_SPECIAL : 0); } - - break; - - case 218: --#line 1170 "perly.y" /* yacc.c:1646 */ -+#line 1182 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[-1].val.ival) ? OPf_SPECIAL : 0, (ps[0].val.opval)); } - - break; - - case 219: --#line 1172 "perly.y" /* yacc.c:1646 */ -+#line 1184 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); } - - break; - - case 220: --#line 1174 "perly.y" /* yacc.c:1646 */ -+#line 1186 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, - op_append_elem(OP_LIST, (ps[0].val.opval), scalar((ps[-1].val.opval)))); } - - break; - - case 221: --#line 1177 "perly.y" /* yacc.c:1646 */ -+#line 1189 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newOP((ps[0].val.ival), 0); } - - break; - - case 222: --#line 1179 "perly.y" /* yacc.c:1646 */ -+#line 1191 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newOP((ps[-2].val.ival), 0);} - - break; - - case 223: --#line 1181 "perly.y" /* yacc.c:1646 */ -+#line 1193 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = (ps[0].val.opval); } - - break; - - case 224: --#line 1183 "perly.y" /* yacc.c:1646 */ -+#line 1195 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = (ps[-2].val.opval); } - - break; - - case 225: --#line 1185 "perly.y" /* yacc.c:1646 */ -+#line 1197 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); } - - break; - - case 226: --#line 1187 "perly.y" /* yacc.c:1646 */ -+#line 1199 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = ((ps[-2].val.ival) == OP_NOT) - ? newUNOP((ps[-2].val.ival), 0, newSVOP(OP_CONST, 0, newSViv(0))) - : newOP((ps[-2].val.ival), OPf_SPECIAL); } -@@ -1758,13 +1770,13 @@ case 2: - break; - - case 227: --#line 1191 "perly.y" /* yacc.c:1646 */ -+#line 1203 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newUNOP((ps[-3].val.ival), 0, (ps[-1].val.opval)); } - - break; - - case 228: --#line 1193 "perly.y" /* yacc.c:1646 */ -+#line 1205 "perly.y" /* yacc.c:1646 */ - { - if ( (ps[0].val.opval)->op_type != OP_TRANS - && (ps[0].val.opval)->op_type != OP_TRANSR -@@ -1779,13 +1791,13 @@ case 2: - break; - - case 229: --#line 1204 "perly.y" /* yacc.c:1646 */ -+#line 1216 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = pmruntime((ps[-5].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), 1, (ps[-4].val.ival)); } - - break; - - case 232: --#line 1208 "perly.y" /* yacc.c:1646 */ -+#line 1220 "perly.y" /* yacc.c:1646 */ - { - (yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0), - newSVOP(OP_CONST, 0, newSVpvs("Unimplemented"))); -@@ -1794,109 +1806,109 @@ case 2: - break; - - case 234: --#line 1217 "perly.y" /* yacc.c:1646 */ -+#line 1229 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = my_attrs((ps[-1].val.opval),(ps[0].val.opval)); } - - break; - - case 235: --#line 1219 "perly.y" /* yacc.c:1646 */ -+#line 1231 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = localize((ps[0].val.opval),1); } - - break; - - case 236: --#line 1221 "perly.y" /* yacc.c:1646 */ -+#line 1233 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newUNOP(OP_REFGEN, 0, my_attrs((ps[-1].val.opval),(ps[0].val.opval))); } - - break; - - case 237: --#line 1226 "perly.y" /* yacc.c:1646 */ -+#line 1238 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = sawparens((ps[-1].val.opval)); } - - break; - - case 238: --#line 1228 "perly.y" /* yacc.c:1646 */ -+#line 1240 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = sawparens(newNULLLIST()); } - - break; - - case 239: --#line 1231 "perly.y" /* yacc.c:1646 */ -+#line 1243 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = (ps[0].val.opval); } - - break; - - case 240: --#line 1233 "perly.y" /* yacc.c:1646 */ -+#line 1245 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = (ps[0].val.opval); } - - break; - - case 241: --#line 1235 "perly.y" /* yacc.c:1646 */ -+#line 1247 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = (ps[0].val.opval); } - - break; - - case 242: --#line 1240 "perly.y" /* yacc.c:1646 */ -+#line 1252 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = NULL; } - - break; - - case 243: --#line 1242 "perly.y" /* yacc.c:1646 */ -+#line 1254 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = (ps[0].val.opval); } - - break; - - case 244: --#line 1246 "perly.y" /* yacc.c:1646 */ -+#line 1258 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = NULL; } - - break; - - case 245: --#line 1248 "perly.y" /* yacc.c:1646 */ -+#line 1260 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = (ps[0].val.opval); } - - break; - - case 246: --#line 1252 "perly.y" /* yacc.c:1646 */ -+#line 1264 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = NULL; } - - break; - - case 247: --#line 1254 "perly.y" /* yacc.c:1646 */ -+#line 1266 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = (ps[0].val.opval); } - - break; - - case 248: --#line 1260 "perly.y" /* yacc.c:1646 */ -+#line 1272 "perly.y" /* yacc.c:1646 */ - { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); } - - break; - - case 256: --#line 1277 "perly.y" /* yacc.c:1646 */ -+#line 1289 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newCVREF((ps[-1].val.ival),(ps[0].val.opval)); } - - break; - - case 257: --#line 1281 "perly.y" /* yacc.c:1646 */ -+#line 1293 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newSVREF((ps[0].val.opval)); } - - break; - - case 258: --#line 1285 "perly.y" /* yacc.c:1646 */ -+#line 1297 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newAVREF((ps[0].val.opval)); - if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival); - } -@@ -1904,7 +1916,7 @@ case 2: - break; - - case 259: --#line 1291 "perly.y" /* yacc.c:1646 */ -+#line 1303 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newHVREF((ps[0].val.opval)); - if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival); - } -@@ -1912,61 +1924,61 @@ case 2: - break; - - case 260: --#line 1297 "perly.y" /* yacc.c:1646 */ -+#line 1309 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newAVREF((ps[0].val.opval)); } - - break; - - case 261: --#line 1299 "perly.y" /* yacc.c:1646 */ -+#line 1311 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newAVREF((ps[-3].val.opval)); } - - break; - - case 262: --#line 1303 "perly.y" /* yacc.c:1646 */ -+#line 1315 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newGVREF(0,(ps[0].val.opval)); } - - break; - - case 264: --#line 1308 "perly.y" /* yacc.c:1646 */ -+#line 1320 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newAVREF((ps[-2].val.opval)); } - - break; - - case 266: --#line 1313 "perly.y" /* yacc.c:1646 */ -+#line 1325 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newHVREF((ps[-2].val.opval)); } - - break; - - case 268: --#line 1318 "perly.y" /* yacc.c:1646 */ -+#line 1330 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = newGVREF(0,(ps[-2].val.opval)); } - - break; - - case 269: --#line 1323 "perly.y" /* yacc.c:1646 */ -+#line 1335 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = scalar((ps[0].val.opval)); } - - break; - - case 270: --#line 1325 "perly.y" /* yacc.c:1646 */ -+#line 1337 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = scalar((ps[0].val.opval)); } - - break; - - case 271: --#line 1327 "perly.y" /* yacc.c:1646 */ -+#line 1339 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = op_scope((ps[0].val.opval)); } - - break; - - case 272: --#line 1330 "perly.y" /* yacc.c:1646 */ -+#line 1342 "perly.y" /* yacc.c:1646 */ - { (yyval.opval) = (ps[0].val.opval); } - - break; -@@ -1977,6 +1989,6 @@ case 2: - - - /* Generated from: -- * a8b5527eacb1205d15c8c01acb4a8f99b494e5b453ddd68a2a2e7fca4be3302a perly.y -+ * c44aaa81abd3fc5c53b5aee014f9e6e11ef70a4c8470b767618f5938627ef0e7 perly.y - * 153cba5d215c1a083a0459c43f4d55c45fd0a7093c197d7247a456dcde21ea53 regen_perly.pl - * ex: set ro: */ -diff --git a/perly.h b/perly.h -index a7e9a43..256d797 100644 ---- a/perly.h -+++ b/perly.h -@@ -7,11 +7,11 @@ - #define PERL_BISON_VERSION 30000 - - #ifdef PERL_CORE --/* A Bison parser, made by GNU Bison 3.0.2. */ -+/* A Bison parser, made by GNU Bison 3.0.4. */ - - /* Bison interface for Yacc-like parsers in C - -- Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. -+ Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by -@@ -160,7 +160,7 @@ S_is_opval_token(int type) { - #endif /* PERL_IN_TOKE_C */ - #endif /* PERL_CORE */ - #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED --typedef union YYSTYPE YYSTYPE; -+ - union YYSTYPE - { - -@@ -171,6 +171,8 @@ union YYSTYPE - GV *gvval; - - }; -+ -+typedef union YYSTYPE YYSTYPE; - # define YYSTYPE_IS_TRIVIAL 1 - # define YYSTYPE_IS_DECLARED 1 - #endif -@@ -181,6 +183,6 @@ int yyparse (void); - - - /* Generated from: -- * a8b5527eacb1205d15c8c01acb4a8f99b494e5b453ddd68a2a2e7fca4be3302a perly.y -+ * c44aaa81abd3fc5c53b5aee014f9e6e11ef70a4c8470b767618f5938627ef0e7 perly.y - * 153cba5d215c1a083a0459c43f4d55c45fd0a7093c197d7247a456dcde21ea53 regen_perly.pl - * ex: set ro: */ -diff --git a/perly.tab b/perly.tab -index e4065de..fe19874 100644 ---- a/perly.tab -+++ b/perly.tab -@@ -83,20 +83,20 @@ static const yytype_uint16 yyrline[] = - 769, 774, 773, 825, 826, 830, 832, 834, 836, 840, - 842, 847, 851, 855, 859, 865, 870, 876, 882, 884, - 887, 886, 897, 898, 902, 906, 909, 914, 919, 922, -- 926, 930, 933, 938, 942, 945, 947, 949, 954, 956, -- 958, 963, 965, 967, 969, 971, 973, 975, 977, 979, -- 981, 983, 988, 990, 993, 995, 997, 1000, 1003, 1014, -- 1017, 1024, 1026, 1028, 1030, 1032, 1035, 1049, 1051, 1055, -- 1056, 1057, 1058, 1059, 1061, 1063, 1065, 1067, 1069, 1071, -- 1073, 1075, 1077, 1079, 1081, 1083, 1085, 1087, 1097, 1107, -- 1117, 1127, 1129, 1131, 1134, 1139, 1143, 1145, 1147, 1149, -- 1152, 1154, 1157, 1159, 1161, 1163, 1165, 1167, 1169, 1171, -- 1173, 1176, 1178, 1180, 1182, 1184, 1186, 1190, 1193, 1192, -- 1205, 1206, 1207, 1212, 1216, 1218, 1220, 1225, 1227, 1230, -- 1232, 1234, 1239, 1241, 1246, 1247, 1252, 1253, 1259, 1263, -- 1264, 1265, 1268, 1269, 1272, 1273, 1276, 1280, 1284, 1290, -- 1296, 1298, 1302, 1306, 1307, 1311, 1312, 1316, 1317, 1322, -- 1324, 1326, 1329 -+ 926, 930, 936, 944, 951, 957, 959, 961, 966, 968, -+ 970, 975, 977, 979, 981, 983, 985, 987, 989, 991, -+ 993, 995, 1000, 1002, 1005, 1007, 1009, 1012, 1015, 1026, -+ 1029, 1036, 1038, 1040, 1042, 1044, 1047, 1061, 1063, 1067, -+ 1068, 1069, 1070, 1071, 1073, 1075, 1077, 1079, 1081, 1083, -+ 1085, 1087, 1089, 1091, 1093, 1095, 1097, 1099, 1109, 1119, -+ 1129, 1139, 1141, 1143, 1146, 1151, 1155, 1157, 1159, 1161, -+ 1164, 1166, 1169, 1171, 1173, 1175, 1177, 1179, 1181, 1183, -+ 1185, 1188, 1190, 1192, 1194, 1196, 1198, 1202, 1205, 1204, -+ 1217, 1218, 1219, 1224, 1228, 1230, 1232, 1237, 1239, 1242, -+ 1244, 1246, 1251, 1253, 1258, 1259, 1264, 1265, 1271, 1275, -+ 1276, 1277, 1280, 1281, 1284, 1285, 1288, 1292, 1296, 1302, -+ 1308, 1310, 1314, 1318, 1319, 1323, 1324, 1328, 1329, 1334, -+ 1336, 1338, 1341 - }; - #endif - -@@ -1109,6 +1109,6 @@ static const toketypes yy_type_tab[] = - }; - - /* Generated from: -- * a8b5527eacb1205d15c8c01acb4a8f99b494e5b453ddd68a2a2e7fca4be3302a perly.y -+ * c44aaa81abd3fc5c53b5aee014f9e6e11ef70a4c8470b767618f5938627ef0e7 perly.y - * 153cba5d215c1a083a0459c43f4d55c45fd0a7093c197d7247a456dcde21ea53 regen_perly.pl - * ex: set ro: */ -diff --git a/perly.y b/perly.y -index 7d57dea..14d48d6 100644 ---- a/perly.y -+++ b/perly.y -@@ -929,19 +929,31 @@ subscripted: gelem '{' expr ';' '}' /* *main::{something} */ - jmaybe($3)); } - | term ARROW '(' ')' /* $subref->() */ - { $$ = newUNOP(OP_ENTERSUB, OPf_STACKED, -- newCVREF(0, scalar($1))); } -+ newCVREF(0, scalar($1))); -+ if (parser->expect == XBLOCK) -+ parser->expect = XOPERATOR; -+ } - | term ARROW '(' expr ')' /* $subref->(@args) */ - { $$ = newUNOP(OP_ENTERSUB, OPf_STACKED, - op_append_elem(OP_LIST, $4, -- newCVREF(0, scalar($1)))); } -+ newCVREF(0, scalar($1)))); -+ if (parser->expect == XBLOCK) -+ parser->expect = XOPERATOR; -+ } - - | subscripted '(' expr ')' /* $foo->{bar}->(@args) */ - { $$ = newUNOP(OP_ENTERSUB, OPf_STACKED, - op_append_elem(OP_LIST, $3, -- newCVREF(0, scalar($1)))); } -+ newCVREF(0, scalar($1)))); -+ if (parser->expect == XBLOCK) -+ parser->expect = XOPERATOR; -+ } - | subscripted '(' ')' /* $foo->{bar}->() */ - { $$ = newUNOP(OP_ENTERSUB, OPf_STACKED, -- newCVREF(0, scalar($1))); } -+ newCVREF(0, scalar($1))); -+ if (parser->expect == XBLOCK) -+ parser->expect = XOPERATOR; -+ } - | '(' expr ')' '[' expr ']' /* list slice */ - { $$ = newSLICEOP(0, $5, $2); } - | QWLIST '[' expr ']' /* list literal slice */ -diff --git a/t/op/postfixderef.t b/t/op/postfixderef.t -index ba69f06..c2983cf 100644 ---- a/t/op/postfixderef.t -+++ b/t/op/postfixderef.t -@@ -16,7 +16,7 @@ BEGIN { - - use strict qw(refs subs); - --plan(116); -+plan(130); - - { - no strict 'refs'; -@@ -365,3 +365,26 @@ is "$_->@{foo}", "foo->7 8 9", '->@{ does not interpolate without feature'; - is "foo$ref->$*bar", "foo plus overload plus bar", - '"foo $s->$* bar" does concat overloading'; - } -+ -+# parsing of {} subscript as subscript rather than block -+{ -+ sub ppp { "qqq" } -+ my $h = { ppp => "pp", qqq => "qq", rrr => 7 }; -+ is ${$h}{ppp}, "pp"; -+ is ${$h}{"rrr"} - 2, 5; -+ my $ar = [$h]; -+ is $ar->[0]->{ppp}, "pp"; -+ is $ar->[0]->{"rrr"} - 2, 5; -+ is $ar->[0]{ppp}, "pp"; -+ is $ar->[0]{"rrr"} - 2, 5; -+ my $hr = {h=>$h}; -+ is $hr->{"h"}->{ppp}, "pp"; -+ is $hr->{"h"}->{"rrr"} - 2, 5; -+ is $hr->{"h"}{ppp}, "pp"; -+ is $hr->{"h"}{"rrr"} - 2, 5; -+ my $cr = sub { $h }; -+ is $cr->()->{ppp}, "pp"; -+ is $cr->()->{"rrr"} - 2, 5; -+ is $cr->(){ppp}, "pp"; -+ is $cr->(){"rrr"} - 2, 5; -+} --- -2.13.6 - diff --git a/SOURCES/perl-5.26.1-guard_old_libcrypt_fix.patch b/SOURCES/perl-5.26.1-guard_old_libcrypt_fix.patch deleted file mode 100644 index 2d34cfe..0000000 --- a/SOURCES/perl-5.26.1-guard_old_libcrypt_fix.patch +++ /dev/null @@ -1,24 +0,0 @@ -commit 13e70b397dcb0d1bf4a869b670f041c1d7b730d0 -Author: Björn Esser -Date: Sat Jan 20 20:22:53 2018 +0100 - - pp: Guard fix for really old bug in glibc libcrypt - -diff --git a/pp.c b/pp.c -index d50ad7ddbf..6510c7b15c 100644 ---- a/pp.c -+++ b/pp.c -@@ -3650,8 +3650,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } diff --git a/SOURCES/perl-5.26.1-perl-131746-avoid-undefined-behaviour-in-Copy-etc.patch b/SOURCES/perl-5.26.1-perl-131746-avoid-undefined-behaviour-in-Copy-etc.patch deleted file mode 100644 index d6471a8..0000000 --- a/SOURCES/perl-5.26.1-perl-131746-avoid-undefined-behaviour-in-Copy-etc.patch +++ /dev/null @@ -1,107 +0,0 @@ -From 7a962424149cc60f3a187d0213a12689dd5e806b Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Mon, 14 Aug 2017 11:52:39 +1000 -Subject: [PATCH] (perl #131746) avoid undefined behaviour in Copy() etc -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -These functions depend on C library functions which have undefined -behaviour when passed NULL pointers, even when passed a zero 'n' value. - -Some compilers use this information, ie. assume the pointers are -non-NULL when optimizing any following code, so we do need to -prevent such unguarded calls. - -My initial thought was to add conditionals to each macro to skip the -call to the library function when n is zero, but this adds a cost to -every use of these macros, even when the n value is always true. - -So instead I added asserts() which will give us a much more visible -indicator of such broken code and revealed the pp_caller and Glob.xs -issues also patched here. - -Petr Písař: Ported to 5.26.1 from -f14cf3632059d421de83cf901c7e849adc1fcd03. - -Signed-off-by: Petr Písař ---- - ext/File-Glob/Glob.xs | 2 +- - handy.h | 14 +++++++------- - pp_ctl.c | 3 ++- - pp_hot.c | 3 ++- - 4 files changed, 12 insertions(+), 10 deletions(-) - -diff --git a/ext/File-Glob/Glob.xs b/ext/File-Glob/Glob.xs -index e0a3681..9779d54 100644 ---- a/ext/File-Glob/Glob.xs -+++ b/ext/File-Glob/Glob.xs -@@ -121,7 +121,7 @@ iterate(pTHX_ bool(*globber)(pTHX_ AV *entries, const char *pat, STRLEN len, boo - - /* chuck it all out, quick or slow */ - if (gimme == G_ARRAY) { -- if (!on_stack) { -+ if (!on_stack && AvFILLp(entries) + 1) { - EXTEND(SP, AvFILLp(entries)+1); - Copy(AvARRAY(entries), SP+1, AvFILLp(entries)+1, SV *); - SP += AvFILLp(entries)+1; -diff --git a/handy.h b/handy.h -index 80f9cf4..88b5b55 100644 ---- a/handy.h -+++ b/handy.h -@@ -2409,17 +2409,17 @@ void Perl_mem_log_del_sv(const SV *sv, const char *filename, const int linenumbe - #define Safefree(d) safefree(MEM_LOG_FREE((Malloc_t)(d))) - #endif - --#define Move(s,d,n,t) (MEM_WRAP_CHECK_(n,t) (void)memmove((char*)(d),(const char*)(s), (n) * sizeof(t))) --#define Copy(s,d,n,t) (MEM_WRAP_CHECK_(n,t) (void)memcpy((char*)(d),(const char*)(s), (n) * sizeof(t))) --#define Zero(d,n,t) (MEM_WRAP_CHECK_(n,t) (void)memzero((char*)(d), (n) * sizeof(t))) -+#define Move(s,d,n,t) (MEM_WRAP_CHECK_(n,t) assert(d), assert(s), (void)memmove((char*)(d),(const char*)(s), (n) * sizeof(t))) -+#define Copy(s,d,n,t) (MEM_WRAP_CHECK_(n,t) assert(d), assert(s), (void)memcpy((char*)(d),(const char*)(s), (n) * sizeof(t))) -+#define Zero(d,n,t) (MEM_WRAP_CHECK_(n,t) assert(d), (void)memzero((char*)(d), (n) * sizeof(t))) - --#define MoveD(s,d,n,t) (MEM_WRAP_CHECK_(n,t) memmove((char*)(d),(const char*)(s), (n) * sizeof(t))) --#define CopyD(s,d,n,t) (MEM_WRAP_CHECK_(n,t) memcpy((char*)(d),(const char*)(s), (n) * sizeof(t))) -+#define MoveD(s,d,n,t) (MEM_WRAP_CHECK_(n,t) assert(d), assert(s), memmove((char*)(d),(const char*)(s), (n) * sizeof(t))) -+#define CopyD(s,d,n,t) (MEM_WRAP_CHECK_(n,t) assert(d), assert(s), memcpy((char*)(d),(const char*)(s), (n) * sizeof(t))) - #ifdef HAS_MEMSET --#define ZeroD(d,n,t) (MEM_WRAP_CHECK_(n,t) memzero((char*)(d), (n) * sizeof(t))) -+#define ZeroD(d,n,t) (MEM_WRAP_CHECK_(n,t) assert(d), memzero((char*)(d), (n) * sizeof(t))) - #else - /* Using bzero(), which returns void. */ --#define ZeroD(d,n,t) (MEM_WRAP_CHECK_(n,t) memzero((char*)(d), (n) * sizeof(t)),d) -+#define ZeroD(d,n,t) (MEM_WRAP_CHECK_(n,t) assert(d), memzero((char*)(d), (n) * sizeof(t)),d) - #endif - - #define PoisonWith(d,n,t,b) (MEM_WRAP_CHECK_(n,t) (void)memset((char*)(d), (U8)(b), (n) * sizeof(t))) -diff --git a/pp_ctl.c b/pp_ctl.c -index 15c193b..f1c57bc 100644 ---- a/pp_ctl.c -+++ b/pp_ctl.c -@@ -1971,7 +1971,8 @@ PP(pp_caller) - - if (AvMAX(PL_dbargs) < AvFILLp(ary) + off) - av_extend(PL_dbargs, AvFILLp(ary) + off); -- Copy(AvALLOC(ary), AvARRAY(PL_dbargs), AvFILLp(ary) + 1 + off, SV*); -+ if (AvFILLp(ary) + 1 + off) -+ Copy(AvALLOC(ary), AvARRAY(PL_dbargs), AvFILLp(ary) + 1 + off, SV*); - AvFILLp(PL_dbargs) = AvFILLp(ary) + off; - } - mPUSHi(CopHINTS_get(cx->blk_oldcop)); -diff --git a/pp_hot.c b/pp_hot.c -index 5899413..66b79ea 100644 ---- a/pp_hot.c -+++ b/pp_hot.c -@@ -4138,7 +4138,8 @@ PP(pp_entersub) - AvARRAY(av) = ary; - } - -- Copy(MARK+1,AvARRAY(av),items,SV*); -+ if (items) -+ Copy(MARK+1,AvARRAY(av),items,SV*); - AvFILLp(av) = items - 1; - } - if (UNLIKELY((cx->blk_u16 & OPpENTERSUB_LVAL_MASK) == OPpLVAL_INTRO && --- -2.13.6 - diff --git a/SOURCES/perl-5.26.1-perl-131895-fail-stat-on-names-with-0-embedded.patch b/SOURCES/perl-5.26.1-perl-131895-fail-stat-on-names-with-0-embedded.patch deleted file mode 100644 index d9aba47..0000000 --- a/SOURCES/perl-5.26.1-perl-131895-fail-stat-on-names-with-0-embedded.patch +++ /dev/null @@ -1,223 +0,0 @@ -From 4ac7295514f35016a79dbcc07500f6c9ca4729b7 Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Thu, 2 Nov 2017 20:18:56 +0000 -Subject: [PATCH] (perl #131895) fail stat on names with \0 embedded -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Also lstat() and the file test ops. - -Petr Písař: Port to 5.26.1. - -Signed-off-by: Petr Písař ---- - doio.c | 21 ++++++++++++++++----- - pp_sys.c | 29 +++++++++++++++++++++++------ - t/lib/warnings/pp_sys | 14 ++++++++++++++ - t/op/filetest.t | 10 +++++++++- - t/op/stat.t | 12 +++++++++++- - 5 files changed, 73 insertions(+), 13 deletions(-) - -diff --git a/doio.c b/doio.c -index becb19b..70d7747 100644 ---- a/doio.c -+++ b/doio.c -@@ -1466,7 +1466,7 @@ Perl_my_stat_flags(pTHX_ const U32 flags) - return PL_laststatval; - else { - SV* const sv = TOPs; -- const char *s; -+ const char *s, *d; - STRLEN len; - if ((gv = MAYBE_DEREF_GV_flags(sv,flags))) { - goto do_fstat; -@@ -1480,9 +1480,14 @@ Perl_my_stat_flags(pTHX_ const U32 flags) - s = SvPV_flags_const(sv, len, flags); - PL_statgv = NULL; - sv_setpvn(PL_statname, s, len); -- s = SvPVX_const(PL_statname); /* s now NUL-terminated */ -+ d = SvPVX_const(PL_statname); /* s now NUL-terminated */ - PL_laststype = OP_STAT; -- PL_laststatval = PerlLIO_stat(s, &PL_statcache); -+ if (!IS_SAFE_PATHNAME(s, len, OP_NAME(PL_op))) { -+ PL_laststatval = -1; -+ } -+ else { -+ PL_laststatval = PerlLIO_stat(d, &PL_statcache); -+ } - if (PL_laststatval < 0 && ckWARN(WARN_NEWLINE) && should_warn_nl(s)) { - GCC_DIAG_IGNORE(-Wformat-nonliteral); /* PL_warn_nl is constant */ - Perl_warner(aTHX_ packWARN(WARN_NEWLINE), PL_warn_nl, "stat"); -@@ -1499,6 +1504,7 @@ Perl_my_lstat_flags(pTHX_ const U32 flags) - static const char* const no_prev_lstat = "The stat preceding -l _ wasn't an lstat"; - dSP; - const char *file; -+ STRLEN len; - SV* const sv = TOPs; - bool isio = FALSE; - if (PL_op->op_flags & OPf_REF) { -@@ -1542,9 +1548,14 @@ Perl_my_lstat_flags(pTHX_ const U32 flags) - HEKfARG(GvENAME_HEK((const GV *) - (SvROK(sv) ? SvRV(sv) : sv)))); - } -- file = SvPV_flags_const_nolen(sv, flags); -+ file = SvPV_flags_const(sv, len, flags); - sv_setpv(PL_statname,file); -- PL_laststatval = PerlLIO_lstat(file,&PL_statcache); -+ if (!IS_SAFE_PATHNAME(file, len, OP_NAME(PL_op))) { -+ PL_laststatval = -1; -+ } -+ else { -+ PL_laststatval = PerlLIO_lstat(file,&PL_statcache); -+ } - if (PL_laststatval < 0 && ckWARN(WARN_NEWLINE) && should_warn_nl(file)) { - GCC_DIAG_IGNORE(-Wformat-nonliteral); /* PL_warn_nl is constant */ - Perl_warner(aTHX_ packWARN(WARN_NEWLINE), PL_warn_nl, "lstat"); -diff --git a/pp_sys.c b/pp_sys.c -index 0b60584..1b81fda 100644 ---- a/pp_sys.c -+++ b/pp_sys.c -@@ -2963,19 +2963,24 @@ PP(pp_stat) - } - else { - const char *file; -+ const char *temp; -+ STRLEN len; - if (SvROK(sv) && SvTYPE(SvRV(sv)) == SVt_PVIO) { - io = MUTABLE_IO(SvRV(sv)); - if (PL_op->op_type == OP_LSTAT) - goto do_fstat_warning_check; - goto do_fstat_have_io; - } -- - SvTAINTED_off(PL_statname); /* previous tainting irrelevant */ -- sv_setpv(PL_statname, SvPV_nomg_const_nolen(sv)); -+ temp = SvPV_nomg_const(sv, len); -+ sv_setpv(PL_statname, temp); - PL_statgv = NULL; - PL_laststype = PL_op->op_type; - file = SvPV_nolen_const(PL_statname); -- if (PL_op->op_type == OP_LSTAT) -+ if (!IS_SAFE_PATHNAME(temp, len, OP_NAME(PL_op))) { -+ PL_laststatval = -1; -+ } -+ else if (PL_op->op_type == OP_LSTAT) - PL_laststatval = PerlLIO_lstat(file, &PL_statcache); - else - PL_laststatval = PerlLIO_stat(file, &PL_statcache); -@@ -3211,8 +3216,12 @@ PP(pp_ftrread) - - if (use_access) { - #if defined(HAS_ACCESS) || defined (PERL_EFF_ACCESS) -- const char *name = SvPV_nolen(*PL_stack_sp); -- if (effective) { -+ STRLEN len; -+ const char *name = SvPV(*PL_stack_sp, len); -+ if (!IS_SAFE_PATHNAME(name, len, OP_NAME(PL_op))) { -+ result = -1; -+ } -+ else if (effective) { - # ifdef PERL_EFF_ACCESS - result = PERL_EFF_ACCESS(name, access_mode); - # else -@@ -3537,10 +3546,18 @@ PP(pp_fttext) - } - else { - const char *file; -+ const char *temp; -+ STRLEN temp_len; - int fd; - - assert(sv); -- sv_setpv(PL_statname, SvPV_nomg_const_nolen(sv)); -+ temp = SvPV_nomg_const(sv, temp_len); -+ sv_setpv(PL_statname, temp); -+ if (!IS_SAFE_PATHNAME(temp, temp_len, OP_NAME(PL_op))) { -+ PL_laststatval = -1; -+ PL_laststype = OP_STAT; -+ FT_RETURNUNDEF; -+ } - really_filename: - file = SvPVX_const(PL_statname); - PL_statgv = NULL; -diff --git a/t/lib/warnings/pp_sys b/t/lib/warnings/pp_sys -index 9c544e0..c599aa3 100644 ---- a/t/lib/warnings/pp_sys -+++ b/t/lib/warnings/pp_sys -@@ -972,3 +972,17 @@ close $fh; - unlink $file; - EXPECT - syswrite() is deprecated on :utf8 handles. This will be a fatal error in Perl 5.30 at - line 5. -+######## -+# NAME stat on name with \0 -+use warnings; -+my @x = stat("./\0-"); -+my @y = lstat("./\0-"); -+-T ".\0-"; -+-x ".\0-"; -+-l ".\0-"; -+EXPECT -+Invalid \0 character in pathname for stat: ./\0- at - line 2. -+Invalid \0 character in pathname for lstat: ./\0- at - line 3. -+Invalid \0 character in pathname for fttext: .\0- at - line 4. -+Invalid \0 character in pathname for fteexec: .\0- at - line 5. -+Invalid \0 character in pathname for ftlink: .\0- at - line 6. -diff --git a/t/op/filetest.t b/t/op/filetest.t -index 8883381..bd1d08c 100644 ---- a/t/op/filetest.t -+++ b/t/op/filetest.t -@@ -9,7 +9,7 @@ BEGIN { - set_up_inc(qw '../lib ../cpan/Perl-OSType/lib'); - } - --plan(tests => 53 + 27*14); -+plan(tests => 57 + 27*14); - - if ($^O =~ /MSWin32|cygwin|msys/ && !is_miniperl) { - require Win32; # for IsAdminUser() -@@ -393,3 +393,11 @@ SKIP: { - is $failed_stat2, $failed_stat1, - 'failed -r($gv_with_io_but_no_fp) with and w/out fatal warnings'; - } -+ -+{ -+ # [perl #131895] stat() doesn't fail on filenames containing \0 / NUL -+ ok(!-T "TEST\0-", '-T on name with \0'); -+ ok(!-B "TEST\0-", '-B on name with \0'); -+ ok(!-f "TEST\0-", '-f on name with \0'); -+ ok(!-r "TEST\0-", '-r on name with \0'); -+} -diff --git a/t/op/stat.t b/t/op/stat.t -index 323c498..dbbe6ec 100644 ---- a/t/op/stat.t -+++ b/t/op/stat.t -@@ -25,7 +25,7 @@ if ($^O eq 'MSWin32') { - ${^WIN32_SLOPPY_STAT} = 0; - } - --plan tests => 118; -+plan tests => 120; - - my $Perl = which_perl(); - -@@ -653,6 +653,16 @@ SKIP: - 'stat on an array of valid paths should return ENOENT'; - } - -+# [perl #131895] stat() doesn't fail on filenames containing \0 / NUL -+ok !stat("TEST\0-"), 'stat on filename with \0'; -+SKIP: { -+ my $link = "TEST.symlink.$$"; -+ my $can_symlink = eval { symlink "TEST", $link }; -+ skip "cannot symlink", 1 unless $can_symlink; -+ ok !lstat("$link\0-"), 'lstat on filename with \0'; -+ unlink $link; -+} -+ - END { - chmod 0666, $tmpfile; - unlink_all $tmpfile; --- -2.13.6 - diff --git a/SOURCES/perl-5.26.1-perl-132245-don-t-try-to-process-a-char-range-with-n.patch b/SOURCES/perl-5.26.1-perl-132245-don-t-try-to-process-a-char-range-with-n.patch deleted file mode 100644 index 2bde428..0000000 --- a/SOURCES/perl-5.26.1-perl-132245-don-t-try-to-process-a-char-range-with-n.patch +++ /dev/null @@ -1,54 +0,0 @@ -From dc5c68130b7c8b727e9e792506183c255fc2bc70 Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Thu, 19 Oct 2017 10:46:04 +1100 -Subject: [PATCH] (perl #132245) don't try to process a char range with no - preceding char -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -A range like \N{}-0 eventually results in compilation failing, but -before that, get_and_check_backslash_N_name() attempts to treat -the memory before the empty output of \N{} as a character. - -Petr Písař: Ported to 5.26.1. - -Signed-off-by: Petr Písař ---- - t/lib/warnings/toke | 5 +++++ - toke.c | 6 +++--- - 2 files changed, 8 insertions(+), 3 deletions(-) - -diff --git a/t/lib/warnings/toke b/t/lib/warnings/toke -index fc51d9f..398ee22 100644 ---- a/t/lib/warnings/toke -+++ b/t/lib/warnings/toke -@@ -1651,3 +1651,8 @@ Execution of - aborted due to compilation errors. - use utf8; - qw∘foo ∞ ♥ bar∘ - EXPECT -+######## -+# NAME tr/// range with empty \N{} at the start -+tr//\N{}-0/; -+EXPECT -+Unknown charname '' is deprecated. Its use will be fatal in Perl 5.28 at - line 1. -diff --git a/toke.c b/toke.c -index 6f84d2d..6ee7a68 100644 ---- a/toke.c -+++ b/toke.c -@@ -2958,9 +2958,9 @@ S_scan_const(pTHX_ char *start) - - /* Here, we don't think we're in a range. If the new character - * is not a hyphen; or if it is a hyphen, but it's too close to -- * either edge to indicate a range, then it's a regular -- * character. */ -- if (*s != '-' || s >= send - 1 || s == start) { -+ * either edge to indicate a range, or if we haven't output any -+ * characters yet then it's a regular character. */ -+ if (*s != '-' || s >= send - 1 || s == start || d == SvPVX(sv)) { - - /* A regular character. Process like any other, but first - * clear any flags */ --- -2.13.6 - diff --git a/SOURCES/perl-5.26.1-set-when-statting-a-closed-filehandle.patch b/SOURCES/perl-5.26.1-set-when-statting-a-closed-filehandle.patch deleted file mode 100644 index 832aee8..0000000 --- a/SOURCES/perl-5.26.1-set-when-statting-a-closed-filehandle.patch +++ /dev/null @@ -1,211 +0,0 @@ -From 8c7182b26a43f14cd8afbfbe4448cbbd691c3609 Mon Sep 17 00:00:00 2001 -From: Zefram -Date: Wed, 15 Nov 2017 08:11:37 +0000 -Subject: [PATCH] set $! when statting a closed filehandle -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -When a stat fails because it's on a closed or otherwise invalid -filehandle, $! was often not being set, depending on the operation -and the nature of the invalidity. Consistently set it to EBADF. -Fixes [perl #108288]. - -Petr Písař: Ported to 5.26.1. - -Signed-off-by: Petr Písař ---- - MANIFEST | 1 + - doio.c | 10 +++++++++- - pp_sys.c | 22 ++++++++++++--------- - t/op/stat_errors.t | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 4 files changed, 80 insertions(+), 10 deletions(-) - create mode 100644 t/op/stat_errors.t - -diff --git a/MANIFEST b/MANIFEST -index fcbf5cc..996759e 100644 ---- a/MANIFEST -+++ b/MANIFEST -@@ -5670,6 +5670,7 @@ t/op/srand.t See if srand works - t/op/sselect.t See if 4 argument select works - t/op/stash.t See if %:: stashes work - t/op/stat.t See if stat works -+t/op/stat_errors.t See if stat and file tests handle threshold errors - t/op/state.t See if state variables work - t/op/study.t See if study works - t/op/studytied.t See if study works with tied scalars -diff --git a/doio.c b/doio.c -index 70d7747..71dc6e4 100644 ---- a/doio.c -+++ b/doio.c -@@ -1437,8 +1437,11 @@ Perl_my_stat_flags(pTHX_ const U32 flags) - if (PL_op->op_flags & OPf_REF) { - gv = cGVOP_gv; - do_fstat: -- if (gv == PL_defgv) -+ if (gv == PL_defgv) { -+ if (PL_laststatval < 0) -+ SETERRNO(EBADF,RMS_IFI); - return PL_laststatval; -+ } - io = GvIO(gv); - do_fstat_have_io: - PL_laststype = OP_STAT; -@@ -1449,6 +1452,7 @@ Perl_my_stat_flags(pTHX_ const U32 flags) - int fd = PerlIO_fileno(IoIFP(io)); - if (fd < 0) { - /* E.g. PerlIO::scalar has no real fd. */ -+ SETERRNO(EBADF,RMS_IFI); - return (PL_laststatval = -1); - } else { - return (PL_laststatval = PerlLIO_fstat(fd, &PL_statcache)); -@@ -1459,6 +1463,7 @@ Perl_my_stat_flags(pTHX_ const U32 flags) - } - PL_laststatval = -1; - report_evil_fh(gv); -+ SETERRNO(EBADF,RMS_IFI); - return -1; - } - else if ((PL_op->op_private & (OPpFT_STACKED|OPpFT_AFTER_t)) -@@ -1511,6 +1516,8 @@ Perl_my_lstat_flags(pTHX_ const U32 flags) - if (cGVOP_gv == PL_defgv) { - if (PL_laststype != OP_LSTAT) - Perl_croak(aTHX_ "%s", no_prev_lstat); -+ if (PL_laststatval < 0) -+ SETERRNO(EBADF,RMS_IFI); - return PL_laststatval; - } - PL_laststatval = -1; -@@ -1520,6 +1527,7 @@ Perl_my_lstat_flags(pTHX_ const U32 flags) - "Use of -l on filehandle %" HEKf, - HEKfARG(GvENAME_HEK(cGVOP_gv))); - } -+ SETERRNO(EBADF,RMS_IFI); - return -1; - } - if ((PL_op->op_private & (OPpFT_STACKED|OPpFT_AFTER_t)) -diff --git a/pp_sys.c b/pp_sys.c -index fefbea3..87961f1 100644 ---- a/pp_sys.c -+++ b/pp_sys.c -@@ -2925,10 +2925,11 @@ PP(pp_stat) - Perl_croak(aTHX_ "The stat preceding lstat() wasn't an lstat"); - } - -- if (gv != PL_defgv) { -- bool havefp; -+ if (gv == PL_defgv) { -+ if (PL_laststatval < 0) -+ SETERRNO(EBADF,RMS_IFI); -+ } else { - do_fstat_have_io: -- havefp = FALSE; - PL_laststype = OP_STAT; - PL_statgv = gv ? gv : (GV *)io; - SvPVCLEAR(PL_statname); -@@ -2939,22 +2940,25 @@ PP(pp_stat) - if (IoIFP(io)) { - int fd = PerlIO_fileno(IoIFP(io)); - if (fd < 0) { -+ report_evil_fh(gv); - PL_laststatval = -1; - SETERRNO(EBADF,RMS_IFI); - } else { - PL_laststatval = PerlLIO_fstat(fd, &PL_statcache); -- havefp = TRUE; - } - } else if (IoDIRP(io)) { - PL_laststatval = - PerlLIO_fstat(my_dirfd(IoDIRP(io)), &PL_statcache); -- havefp = TRUE; - } else { -+ report_evil_fh(gv); - PL_laststatval = -1; -+ SETERRNO(EBADF,RMS_IFI); - } -- } -- else PL_laststatval = -1; -- if (PL_laststatval < 0 && !havefp) report_evil_fh(gv); -+ } else { -+ report_evil_fh(gv); -+ PL_laststatval = -1; -+ SETERRNO(EBADF,RMS_IFI); -+ } - } - - if (PL_laststatval < 0) { -@@ -3451,7 +3455,7 @@ PP(pp_fttty) - else if (name && isDIGIT(*name) && grok_atoUV(name, &uv, NULL) && uv <= PERL_INT_MAX) - fd = (int)uv; - else -- FT_RETURNUNDEF; -+ fd = -1; - if (fd < 0) { - SETERRNO(EBADF,RMS_IFI); - FT_RETURNUNDEF; -diff --git a/t/op/stat_errors.t b/t/op/stat_errors.t -new file mode 100644 -index 0000000..e043c61 ---- /dev/null -+++ b/t/op/stat_errors.t -@@ -0,0 +1,57 @@ -+#!./perl -+ -+BEGIN { -+ chdir 't' if -d 't'; -+ require './test.pl'; -+ set_up_inc('../lib'); -+} -+ -+plan(tests => 2*11*29); -+ -+use Errno qw(EBADF ENOENT); -+ -+open(SCALARFILE, "<", \"wibble") or die $!; -+open(CLOSEDFILE, "<", "./test.pl") or die $!; -+close(CLOSEDFILE) or die $!; -+opendir(CLOSEDDIR, "../lib") or die $!; -+closedir(CLOSEDDIR) or die $!; -+ -+foreach my $op ( -+ qw(stat lstat), -+ (map { "-$_" } qw(r w x o R W X O e z s f d l p S b c t u g k T B M A C)), -+) { -+ foreach my $arg ( -+ (map { ($_, "\\*$_") } -+ qw(NEVEROPENED SCALARFILE CLOSEDFILE CLOSEDDIR _)), -+ "\"tmpnotexist\"", -+ ) { -+ my $argdesc = $arg; -+ if ($arg eq "_") { -+ my @z = lstat "tmpnotexist"; -+ $argdesc .= " with prior stat fail"; -+ } -+ SKIP: { -+ if ($op eq "-l" && $arg =~ /\A\\/) { -+ # The op weirdly stringifies the globref and uses it as -+ # a filename, rather than treating it as a file handle. -+ # That might be a bug, but while that behaviour exists it -+ # needs to be exempted from these tests. -+ skip "-l on globref", 2; -+ } -+ if ($op eq "-t" && $arg eq "\"tmpnotexist\"") { -+ # The op doesn't operate on filenames. -+ skip "-t on filename", 2; -+ } -+ $! = 0; -+ my $res = eval "$op $arg"; -+ my $err = $!; -+ is $res, $op =~ /\A-/ ? undef : !!0, "result of $op $arg"; -+ is 0+$err, -+ $arg eq "\"tmpnotexist\"" || -+ ($op =~ /\A-[TB]\z/ && $arg =~ /_\z/) ? ENOENT : EBADF, -+ "error from $op $arg"; -+ } -+ } -+} -+ -+1; --- -2.13.6 - diff --git a/SOURCES/perl-5.26.2-PATCH-perl-133185-Infinite-loop-in-qr.patch b/SOURCES/perl-5.26.2-PATCH-perl-133185-Infinite-loop-in-qr.patch deleted file mode 100644 index 427553e..0000000 --- a/SOURCES/perl-5.26.2-PATCH-perl-133185-Infinite-loop-in-qr.patch +++ /dev/null @@ -1,105 +0,0 @@ -From dc1f8f6b581a8e4efbb782398ab3e7c3a52b062f Mon Sep 17 00:00:00 2001 -From: Karl Williamson -Date: Tue, 8 May 2018 12:13:18 -0600 -Subject: [PATCH] PATCH: [perl #133185] Infinite loop in qr// -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This loop was inadvertently introduced as part of patches to fix -(perl #132227 CVE-2018-6797] heap-buffer-overflow". The commit in 5.27 -responsible was f8fb8615ddc5a80e3bbd4386a8914497f921b62d. - -To be vulnerable, the pattern must start out as /d (hence no use 5.012 -or higher), and then there must be something that implicitly forces /u -(which the \pp does in the test case added by this patch), and then -(?aa), and then the code point \xDF. (German Sharp S). The /i must be -in effect by the time the DF is encountered, but it needn't come in the -(?aa) which the test does. - -The problem is that the conditional that is testing that we switched -away from /d rules is assuming that this happened during the -construction of the current EXACTFish node. The comments I wrote -indicate this assumption. But this example shows that the switch can -come before this node started getting constructed, and so it loops. - -The patch explicitly saves the state at the beginning of this node's -construction, and only retries if it changed during that construction. -Therefore the next time through, it will see that it hasn't changed -since the previous time, and won't loop. - -Petr Písař: Ported to 5.26.2 from: - -commit 0b9cb33b146b3eb55634853f883a880771dd1413 -Author: Karl Williamson -Date: Tue May 8 12:13:18 2018 -0600 - - PATCH: [perl #133185] Infinite loop in qr// - -Signed-off-by: Petr Písař ---- - regcomp.c | 10 +++++++++- - t/re/speed.t | 5 ++++- - 2 files changed, 13 insertions(+), 2 deletions(-) - -diff --git a/regcomp.c b/regcomp.c -index 845e660..18fa465 100644 ---- a/regcomp.c -+++ b/regcomp.c -@@ -13100,6 +13100,10 @@ S_regatom(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth) - bool maybe_exactfu = PASS2 - && (node_type == EXACTF || node_type == EXACTFL); - -+ /* To see if RExC_uni_semantics changes during parsing of the node. -+ * */ -+ bool uni_semantics_at_node_start; -+ - /* If a folding node contains only code points that don't - * participate in folds, it can be changed into an EXACT node, - * which allows the optimizer more things to look for */ -@@ -13147,6 +13151,8 @@ S_regatom(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth) - || UTF8_IS_INVARIANT(UCHARAT(RExC_parse)) - || UTF8_IS_START(UCHARAT(RExC_parse))); - -+ uni_semantics_at_node_start = RExC_uni_semantics; -+ - /* Here, we have a literal character. Find the maximal string of - * them in the input that we can fit into a single EXACTish node. - * We quit at the first non-literal or when the node gets full */ -@@ -13550,7 +13556,9 @@ S_regatom(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth) - * didn't think it needed to reparse. But this - * sharp s now does indicate the need for - * reparsing. */ -- if (RExC_uni_semantics) { -+ if ( uni_semantics_at_node_start -+ != RExC_uni_semantics) -+ { - p = oldp; - goto loopdone; - } -diff --git a/t/re/speed.t b/t/re/speed.t -index 4a4830f..9a57de1 100644 ---- a/t/re/speed.t -+++ b/t/re/speed.t -@@ -24,7 +24,7 @@ BEGIN { - skip_all('no re module') unless defined &DynaLoader::boot_DynaLoader; - skip_all_without_unicode_tables(); - --plan tests => 58; #** update watchdog timeouts proportionally when adding tests -+plan tests => 59; #** update watchdog timeouts proportionally when adding tests - - use strict; - use warnings; -@@ -156,6 +156,9 @@ PROG - ok( $elapsed <= 1, "should not COW on long string with substr and m//g"); - } - -+ # [perl #133185] Infinite loop -+ like("!\xdf", eval 'qr/\pp(?aai)\xdf/', -+ 'Compiling qr/\pp(?aai)\xdf/ doesn\'t loop'); - - } # End of sub run_tests - --- -2.14.3 - diff --git a/SOURCES/perl-5.26.2-RC1-Parse-caret-vars-with-subscripts-the-same-as-normal-.patch b/SOURCES/perl-5.26.2-RC1-Parse-caret-vars-with-subscripts-the-same-as-normal-.patch deleted file mode 100644 index a7caf64..0000000 --- a/SOURCES/perl-5.26.2-RC1-Parse-caret-vars-with-subscripts-the-same-as-normal-.patch +++ /dev/null @@ -1,143 +0,0 @@ -From 07ebe9c4fb1028d17e61caabe8c15abd0cd48983 Mon Sep 17 00:00:00 2001 -From: Yves Orton -Date: Thu, 29 Jun 2017 11:31:14 +0200 -Subject: [PATCH] Parse caret vars with subscripts the same as normal vars - inside of ${..} escaping -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This behavior is discussed in perl #131664, which complains that -"${^CAPTURE}[0]" does not work as expected. Abigail explains the -behavior is by design and Eirik Berg Hanssen expands on that explanation -pointing out that what /should/ work, "${^CAPTURE[0]}" does not, -which Sawyer then ruled was a bug. - -So this patch makes "${^CAPTURE[0]}" (and "${^CAPTURE [0]}" [hi -abigial]) work the same as they would if the var was called @foo. - -Petr Písař: Ported to 5.26.2-RC1. - -Signed-off-by: Petr Písař ---- - t/base/lex.t | 28 +++++++++++++++++++++++++++- - toke.c | 46 +++++++++++++++++++++++++--------------------- - 2 files changed, 52 insertions(+), 22 deletions(-) - -diff --git a/t/base/lex.t b/t/base/lex.t -index 99fd3bb..ae17bbd 100644 ---- a/t/base/lex.t -+++ b/t/base/lex.t -@@ -1,6 +1,6 @@ - #!./perl - --print "1..112\n"; -+print "1..119\n"; - - $x = 'x'; - -@@ -154,6 +154,32 @@ my $test = 31; - print "not " unless index ($@, 'Can\'t use global $^XYZ in "my"') > -1; - print "ok $test\n"; $test++; - # print "($@)\n" if $@; -+# -+ ${^TEST}= "splat"; -+ @{^TEST}= ("foo", "bar"); -+ %{^TEST}= ("foo" => "FOO", "bar" => "BAR" ); -+ -+ print "not " if "${^TEST}" ne "splat"; -+ print "ok $test\n"; $test++; -+ -+ print "not " if "${^TEST}[0]" ne "splat[0]"; -+ print "ok $test\n"; $test++; -+ -+ print "not " if "${^TEST[0]}" ne "foo"; -+ print "ok $test\n"; $test++; -+ -+ print "not " if "${ ^TEST [1] }" ne "bar"; -+ print "ok $test\n"; $test++; -+ -+ print "not " if "${^TEST}{foo}" ne "splat{foo}"; -+ print "ok $test\n"; $test++; -+ -+ print "not " if "${^TEST{foo}}" ne "FOO"; -+ print "ok $test\n"; $test++; -+ -+ print "not " if "${ ^TEST {bar} }" ne "BAR"; -+ print "ok $test\n"; $test++; -+ - - # Now let's make sure that caret variables are all forced into the main package. - package Someother; -diff --git a/toke.c b/toke.c -index ee9c464..aff785b 100644 ---- a/toke.c -+++ b/toke.c -@@ -9416,19 +9416,36 @@ S_scan_ident(pTHX_ char *s, char *dest, STRLEN destlen, I32 ck_uni) - bool skip; - char *s2; - /* If we were processing {...} notation then... */ -- if (isIDFIRST_lazy_if_safe(d, e, is_utf8)) { -- /* if it starts as a valid identifier, assume that it is one. -- (the later check for } being at the expected point will trap -- cases where this doesn't pan out.) */ -- d += is_utf8 ? UTF8SKIP(d) : 1; -- parse_ident(&s, &d, e, 1, is_utf8, TRUE); -- *d = '\0'; -+ if (isIDFIRST_lazy_if_safe(d, e, is_utf8) -+ || (!isPRINT(*d) /* isCNTRL(d), plus all non-ASCII */ -+ && isWORDCHAR(*s)) -+ ) { -+ /* note we have to check for a normal identifier first, -+ * as it handles utf8 symbols, and only after that has -+ * been ruled out can we look at the caret words */ -+ if (isIDFIRST_lazy_if_safe(d, e, is_utf8) ) { -+ /* if it starts as a valid identifier, assume that it is one. -+ (the later check for } being at the expected point will trap -+ cases where this doesn't pan out.) */ -+ d += is_utf8 ? UTF8SKIP(d) : 1; -+ parse_ident(&s, &d, e, 1, is_utf8, TRUE); -+ *d = '\0'; -+ } -+ else { /* caret word: ${^Foo} ${^CAPTURE[0]} */ -+ d++; -+ while (isWORDCHAR(*s) && d < e) { -+ *d++ = *s++; -+ } -+ if (d >= e) -+ Perl_croak(aTHX_ "%s", ident_too_long); -+ *d = '\0'; -+ } - tmp_copline = CopLINE(PL_curcop); - if (s < PL_bufend && isSPACE(*s)) { - s = skipspace(s); - } - if ((*s == '[' || (*s == '{' && strNE(dest, "sub")))) { -- /* ${foo[0]} and ${foo{bar}} notation. */ -+ /* ${foo[0]} and ${foo{bar}} and ${^CAPTURE[0]} notation. */ - if (ckWARN(WARN_AMBIGUOUS) && keyword(dest, d - dest, 0)) { - const char * const brack = - (const char *) -@@ -9447,19 +9464,6 @@ S_scan_ident(pTHX_ char *s, char *dest, STRLEN destlen, I32 ck_uni) - return s; - } - } -- /* Handle extended ${^Foo} variables -- * 1999-02-27 mjd-perl-patch@plover.com */ -- else if (! isPRINT(*d) /* isCNTRL(d), plus all non-ASCII */ -- && isWORDCHAR(*s)) -- { -- d++; -- while (isWORDCHAR(*s) && d < e) { -- *d++ = *s++; -- } -- if (d >= e) -- Perl_croak(aTHX_ "%s", ident_too_long); -- *d = '\0'; -- } - - if ( !tmp_copline ) - tmp_copline = CopLINE(PL_curcop); --- -2.14.3 - diff --git a/SOURCES/perl-5.26.2-RC1-add-an-additional-test-for-whitespace-tolerance-in-c.patch b/SOURCES/perl-5.26.2-RC1-add-an-additional-test-for-whitespace-tolerance-in-c.patch deleted file mode 100644 index 3f7d885..0000000 --- a/SOURCES/perl-5.26.2-RC1-add-an-additional-test-for-whitespace-tolerance-in-c.patch +++ /dev/null @@ -1,45 +0,0 @@ -From edea384e57453b0a62de58445eed1fded18c1cca Mon Sep 17 00:00:00 2001 -From: Yves Orton -Date: Thu, 29 Jun 2017 13:20:49 +0200 -Subject: [PATCH] add an additional test for whitespace tolerance in caret - word-vars -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Petr Písař: Ported to 5.26.2-RC1. - -Signed-off-by: Petr Písař ---- - t/base/lex.t | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -diff --git a/t/base/lex.t b/t/base/lex.t -index ae17bbd..414aa1f 100644 ---- a/t/base/lex.t -+++ b/t/base/lex.t -@@ -1,6 +1,6 @@ - #!./perl - --print "1..119\n"; -+print "1..120\n"; - - $x = 'x'; - -@@ -158,9 +158,12 @@ my $test = 31; - ${^TEST}= "splat"; - @{^TEST}= ("foo", "bar"); - %{^TEST}= ("foo" => "FOO", "bar" => "BAR" ); -- -+ - print "not " if "${^TEST}" ne "splat"; - print "ok $test\n"; $test++; -+ -+ print "not " if "${ ^TEST }" ne "splat"; -+ print "ok $test\n"; $test++; - - print "not " if "${^TEST}[0]" ne "splat[0]"; - print "ok $test\n"; $test++; --- -2.14.3 - diff --git a/SOURCES/perl-5.26.2-RC1-perform-system-arg-processing-before-fork.patch b/SOURCES/perl-5.26.2-RC1-perform-system-arg-processing-before-fork.patch deleted file mode 100644 index d331679..0000000 --- a/SOURCES/perl-5.26.2-RC1-perform-system-arg-processing-before-fork.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 3e6e57e89f298f450cbe14c61609f08fc01bf233 Mon Sep 17 00:00:00 2001 -From: Zefram -Date: Sat, 16 Dec 2017 05:33:20 +0000 -Subject: [PATCH] perform system() arg processing before fork -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -A lot of things can happen when stringifying an argument list: side -effects, warnings, exceptions. In the case of system(), these effects -should happen in the context of the parent process. The stringification -can also depend on which process it happens in, as in the case of -$$, and in that case it should also happen in the parent process. -Therefore reduce the argument scalars to strings first thing in pp_system. -Fixes [perl #121105]. - -Petr Písař: Ported to 5.26.2-RC1 from -64def2aeaeb63f92dadc6dfa33486c1d7b311963. - -Signed-off-by: Petr Písař ---- - pp_sys.c | 16 ++++++++++------ - t/op/exec.t | 15 ++++++++++++++- - 2 files changed, 24 insertions(+), 7 deletions(-) - -diff --git a/pp_sys.c b/pp_sys.c -index 87961f1..07e552a 100644 ---- a/pp_sys.c -+++ b/pp_sys.c -@@ -4375,14 +4375,18 @@ PP(pp_system) - int result; - # endif - -+ while (++MARK <= SP) { -+ SV *origsv = *MARK; -+ STRLEN len; -+ char *pv; -+ pv = SvPV(origsv, len); -+ *MARK = newSVpvn_flags(pv, len, -+ (SvFLAGS(origsv) & SVf_UTF8) | SVs_TEMP); -+ } -+ MARK = ORIGMARK; -+ - if (TAINTING_get) { - TAINT_ENV(); -- while (++MARK <= SP) { -- (void)SvPV_nolen_const(*MARK); /* stringify for taint check */ -- if (TAINT_get) -- break; -- } -- MARK = ORIGMARK; - TAINT_PROPER("system"); - } - PERL_FLUSHALL_FOR_CHILD; -diff --git a/t/op/exec.t b/t/op/exec.t -index 237388b..e29de82 100644 ---- a/t/op/exec.t -+++ b/t/op/exec.t -@@ -36,7 +36,7 @@ $ENV{LANGUAGE} = 'C'; # Ditto in GNU. - my $Is_VMS = $^O eq 'VMS'; - my $Is_Win32 = $^O eq 'MSWin32'; - --plan(tests => 34); -+plan(tests => 37); - - my $Perl = which_perl(); - -@@ -177,6 +177,19 @@ TODO: { - "exec failure doesn't terminate process"); - } - -+package CountRead { -+ sub TIESCALAR { bless({ n => 0 }, $_[0]) } -+ sub FETCH { ++$_[0]->{n} } -+} -+my $cr; -+tie $cr, "CountRead"; -+is system($^X, "-e", "exit(\$ARGV[0] eq '1' ? 0 : 1)", $cr), 0, -+ "system args have magic processed exactly once"; -+is tied($cr)->{n}, 1, "system args have magic processed before fork"; -+ -+is system($^X, "-e", "exit(\$ARGV[0] eq \$ARGV[1] ? 0 : 1)", "$$", $$), 0, -+ "system args have magic processed before fork"; -+ - my $test = curr_test(); - exec $Perl, '-le', qq{${quote}print 'ok $test - exec PROG, LIST'${quote}}; - fail("This should never be reached if the exec() worked"); --- -2.14.3 - diff --git a/SOURCES/perl-5.26.2-perl.h-Add-parens-around-macro-arguments.patch b/SOURCES/perl-5.26.2-perl.h-Add-parens-around-macro-arguments.patch deleted file mode 100644 index 06d7be8..0000000 --- a/SOURCES/perl-5.26.2-perl.h-Add-parens-around-macro-arguments.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 7714b11d11da2bfd0dc11638e9dd6836b6a32e90 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. - -Petr Písař: Ported to 5.26.2 from upstream ff58ca57f844 commit. - -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 1c613bc..d278c2a 100644 ---- a/perl.h -+++ b/perl.h -@@ -5980,7 +5980,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/SOURCES/perl-5.26.3-CVE-2020-10543.patch b/SOURCES/perl-5.26.3-CVE-2020-10543.patch deleted file mode 100644 index fb19a3e..0000000 --- a/SOURCES/perl-5.26.3-CVE-2020-10543.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 208dea486fa24081cbc0cf05fa5a15c802e2bc68 Mon Sep 17 00:00:00 2001 -From: John Lightsey -Date: Wed, 20 Nov 2019 20:02:45 -0600 -Subject: [PATCH v528 1/3] regcomp.c: Prevent integer overflow from nested - regex quantifiers. - -(CVE-2020-10543) On 32bit systems the size calculations for nested regular -expression quantifiers could overflow causing heap memory corruption. - -Fixes: Perl/perl5-security#125 ---- - regcomp.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/regcomp.c b/regcomp.c -index e1da15a77c..dd18add1db 100644 ---- a/regcomp.c -+++ b/regcomp.c -@@ -5102,6 +5139,12 @@ S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp, - (void)ReREFCNT_inc(RExC_rx_sv); - } - -+ if ( ( minnext > 0 && mincount >= SSize_t_MAX / minnext ) -+ || min >= SSize_t_MAX - minnext * mincount ) -+ { -+ FAIL("Regexp out of space"); -+ } -+ - min += minnext * mincount; - is_inf_internal |= deltanext == SSize_t_MAX - || (maxcount == REG_INFTY && minnext + deltanext > 0); --- -2.20.1 - diff --git a/SOURCES/perl-5.26.3-CVE-2020-10878.patch b/SOURCES/perl-5.26.3-CVE-2020-10878.patch deleted file mode 100644 index 4aa97a3..0000000 --- a/SOURCES/perl-5.26.3-CVE-2020-10878.patch +++ /dev/null @@ -1,148 +0,0 @@ -From a3a7598c8ec6efb0eb9c0b786d80c4d2a3751b70 Mon Sep 17 00:00:00 2001 -From: Hugo van der Sanden -Date: Tue, 18 Feb 2020 13:51:16 +0000 -Subject: [PATCH v528 2/3] study_chunk: extract rck_elide_nothing - -(CVE-2020-10878) ---- - embed.fnc | 1 + - embed.h | 1 + - proto.h | 3 +++ - regcomp.c | 70 ++++++++++++++++++++++++++++++++++--------------------- - 4 files changed, 48 insertions(+), 27 deletions(-) - -diff --git a/embed.fnc b/embed.fnc -index e762fe1eec..cf89277163 100644 ---- a/embed.fnc -+++ b/embed.fnc -@@ -2398,6 +2398,7 @@ Es |SSize_t|study_chunk |NN RExC_state_t *pRExC_state \ - |I32 stopparen|U32 recursed_depth \ - |NULLOK regnode_ssc *and_withp \ - |U32 flags|U32 depth|bool was_mutate_ok -+Es |void |rck_elide_nothing|NN regnode *node - EsRn |U32 |add_data |NN RExC_state_t* const pRExC_state \ - |NN const char* const s|const U32 n - rs |void |re_croak2 |bool utf8|NN const char* pat1|NN const char* pat2|... -diff --git a/embed.h b/embed.h -index a5416a1148..886551ce5c 100644 ---- a/embed.h -+++ b/embed.h -@@ -1046,6 +1046,7 @@ - #define output_or_return_posix_warnings(a,b,c) S_output_or_return_posix_warnings(aTHX_ a,b,c) - #define parse_lparen_question_flags(a) S_parse_lparen_question_flags(aTHX_ a) - #define populate_ANYOF_from_invlist(a,b) S_populate_ANYOF_from_invlist(aTHX_ a,b) -+#define rck_elide_nothing(a) S_rck_elide_nothing(aTHX_ a) - #define reg(a,b,c,d) S_reg(aTHX_ a,b,c,d) - #define reg2Lanode(a,b,c,d) S_reg2Lanode(aTHX_ a,b,c,d) - #define reg_node(a,b) S_reg_node(aTHX_ a,b) -diff --git a/proto.h b/proto.h -index 66bb29b132..d3f8802c1d 100644 ---- a/proto.h -+++ b/proto.h -@@ -5150,6 +5150,9 @@ STATIC void S_parse_lparen_question_flags(pTHX_ RExC_state_t *pRExC_state); - STATIC void S_populate_ANYOF_from_invlist(pTHX_ regnode *node, SV** invlist_ptr); - #define PERL_ARGS_ASSERT_POPULATE_ANYOF_FROM_INVLIST \ - assert(node); assert(invlist_ptr) -+STATIC void S_rck_elide_nothing(pTHX_ regnode *node); -+#define PERL_ARGS_ASSERT_RCK_ELIDE_NOTHING \ -+ assert(node) - PERL_STATIC_NO_RET void S_re_croak2(pTHX_ bool utf8, const char* pat1, const char* pat2, ...) - __attribute__noreturn__; - #define PERL_ARGS_ASSERT_RE_CROAK2 \ -diff --git a/regcomp.c b/regcomp.c -index dd18add1db..0a9c6a8085 100644 ---- a/regcomp.c -+++ b/regcomp.c -@@ -4094,6 +4094,43 @@ S_unwind_scan_frames(pTHX_ const void *p) - } while (f); - } - -+/* Follow the next-chain of the current node and optimize away -+ all the NOTHINGs from it. -+ */ -+STATIC void -+S_rck_elide_nothing(pTHX_ regnode *node) -+{ -+ dVAR; -+ -+ PERL_ARGS_ASSERT_RCK_ELIDE_NOTHING; -+ -+ if (OP(node) != CURLYX) { -+ const int max = (reg_off_by_arg[OP(node)] -+ ? I32_MAX -+ /* I32 may be smaller than U16 on CRAYs! */ -+ : (I32_MAX < U16_MAX ? I32_MAX : U16_MAX)); -+ int off = (reg_off_by_arg[OP(node)] ? ARG(node) : NEXT_OFF(node)); -+ int noff; -+ regnode *n = node; -+ -+ /* Skip NOTHING and LONGJMP. */ -+ while ( -+ (n = regnext(n)) -+ && ( -+ (PL_regkind[OP(n)] == NOTHING && (noff = NEXT_OFF(n))) -+ || ((OP(n) == LONGJMP) && (noff = ARG(n))) -+ ) -+ && off + noff < max -+ ) { -+ off += noff; -+ } -+ if (reg_off_by_arg[OP(node)]) -+ ARG(node) = off; -+ else -+ NEXT_OFF(node) = off; -+ } -+ return; -+} - - STATIC SSize_t - S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp, -@@ -4197,28 +4234,10 @@ S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp, - if (mutate_ok) - JOIN_EXACT(scan,&min_subtract, &unfolded_multi_char, 0); - -- /* Follow the next-chain of the current node and optimize -- away all the NOTHINGs from it. */ -- if (OP(scan) != CURLYX) { -- const int max = (reg_off_by_arg[OP(scan)] -- ? I32_MAX -- /* I32 may be smaller than U16 on CRAYs! */ -- : (I32_MAX < U16_MAX ? I32_MAX : U16_MAX)); -- int off = (reg_off_by_arg[OP(scan)] ? ARG(scan) : NEXT_OFF(scan)); -- int noff; -- regnode *n = scan; -- -- /* Skip NOTHING and LONGJMP. */ -- while ((n = regnext(n)) -- && ((PL_regkind[OP(n)] == NOTHING && (noff = NEXT_OFF(n))) -- || ((OP(n) == LONGJMP) && (noff = ARG(n)))) -- && off + noff < max) -- off += noff; -- if (reg_off_by_arg[OP(scan)]) -- ARG(scan) = off; -- else -- NEXT_OFF(scan) = off; -- } -+ /* Follow the next-chain of the current node and optimize -+ away all the NOTHINGs from it. -+ */ -+ rck_elide_nothing(scan); - - /* The principal pseudo-switch. Cannot be a switch, since we - look into several different things. */ -@@ -5348,11 +5367,7 @@ Perl_re_printf( aTHX_ "LHS=%" UVuf " RHS=%" UVuf "\n", - if (data && (fl & SF_HAS_EVAL)) - data->flags |= SF_HAS_EVAL; - optimize_curly_tail: -- if (OP(oscan) != CURLYX) { -- while (PL_regkind[OP(next = regnext(oscan))] == NOTHING -- && NEXT_OFF(next)) -- NEXT_OFF(oscan) += NEXT_OFF(next); -- } -+ rck_elide_nothing(oscan); - continue; - - default: --- -2.20.1 - diff --git a/SOURCES/perl-5.26.3-CVE-2020-12723.patch b/SOURCES/perl-5.26.3-CVE-2020-12723.patch deleted file mode 100644 index a98c81f..0000000 --- a/SOURCES/perl-5.26.3-CVE-2020-12723.patch +++ /dev/null @@ -1,279 +0,0 @@ -From c031e3ec7c713077659f5f7dc6638d926c69d7b2 Mon Sep 17 00:00:00 2001 -From: Hugo van der Sanden -Date: Sat, 11 Apr 2020 14:10:24 +0100 -Subject: [PATCH v528 3/3] study_chunk: avoid mutating regexp program within - GOSUB - -gh16947 and gh17743: studying GOSUB may restudy in an inner call -(via a mix of recursion and enframing) something that an outer call -is in the middle of looking at. Let the outer frame deal with it. - -(CVE-2020-12723) ---- - embed.fnc | 2 +- - embed.h | 2 +- - proto.h | 2 +- - regcomp.c | 48 ++++++++++++++++++++++++++++++++---------------- - t/re/pat.t | 26 +++++++++++++++++++++++++- - 5 files changed, 60 insertions(+), 20 deletions(-) - -diff --git a/embed.fnc b/embed.fnc -index cf89277163..4b1ba28277 100644 ---- a/embed.fnc -+++ b/embed.fnc -@@ -2397,7 +2397,7 @@ Es |SSize_t|study_chunk |NN RExC_state_t *pRExC_state \ - |NULLOK struct scan_data_t *data \ - |I32 stopparen|U32 recursed_depth \ - |NULLOK regnode_ssc *and_withp \ -- |U32 flags|U32 depth -+ |U32 flags|U32 depth|bool was_mutate_ok - EsRn |U32 |add_data |NN RExC_state_t* const pRExC_state \ - |NN const char* const s|const U32 n - rs |void |re_croak2 |bool utf8|NN const char* pat1|NN const char* pat2|... -diff --git a/embed.h b/embed.h -index 886551ce5c..50fcabc140 100644 ---- a/embed.h -+++ b/embed.h -@@ -1075,7 +1075,7 @@ - #define ssc_is_cp_posixl_init S_ssc_is_cp_posixl_init - #define ssc_or(a,b,c) S_ssc_or(aTHX_ a,b,c) - #define ssc_union(a,b,c) S_ssc_union(aTHX_ a,b,c) --#define study_chunk(a,b,c,d,e,f,g,h,i,j,k) S_study_chunk(aTHX_ a,b,c,d,e,f,g,h,i,j,k) -+#define study_chunk(a,b,c,d,e,f,g,h,i,j,k,l) S_study_chunk(aTHX_ a,b,c,d,e,f,g,h,i,j,k,l) - # endif - # if defined(PERL_IN_REGCOMP_C) || defined (PERL_IN_DUMP_C) - #define _invlist_dump(a,b,c,d) Perl__invlist_dump(aTHX_ a,b,c,d) -diff --git a/proto.h b/proto.h -index d3f8802c1d..e276f69bd1 100644 ---- a/proto.h -+++ b/proto.h -@@ -5258,7 +5258,7 @@ PERL_STATIC_INLINE void S_ssc_union(pTHX_ regnode_ssc *ssc, SV* const invlist, c - #define PERL_ARGS_ASSERT_SSC_UNION \ - assert(ssc); assert(invlist) - #endif --STATIC SSize_t S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp, SSize_t *minlenp, SSize_t *deltap, regnode *last, struct scan_data_t *data, I32 stopparen, U32 recursed_depth, regnode_ssc *and_withp, U32 flags, U32 depth); -+STATIC SSize_t S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp, SSize_t *minlenp, SSize_t *deltap, regnode *last, struct scan_data_t *data, I32 stopparen, U32 recursed_depth, regnode_ssc *and_withp, U32 flags, U32 depth, bool was_mutate_ok); - #define PERL_ARGS_ASSERT_STUDY_CHUNK \ - assert(pRExC_state); assert(scanp); assert(minlenp); assert(deltap); assert(last) - #endif -diff --git a/regcomp.c b/regcomp.c -index 0a9c6a8085..e66032a16a 100644 ---- a/regcomp.c -+++ b/regcomp.c -@@ -110,6 +110,7 @@ typedef struct scan_frame { - regnode *next_regnode; /* next node to process when last is reached */ - U32 prev_recursed_depth; - I32 stopparen; /* what stopparen do we use */ -+ bool in_gosub; /* this or an outer frame is for GOSUB */ - U32 is_top_frame; /* what flags do we use? */ - - struct scan_frame *this_prev_frame; /* this previous frame */ -@@ -4102,7 +4103,7 @@ S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp, - I32 stopparen, - U32 recursed_depth, - regnode_ssc *and_withp, -- U32 flags, U32 depth) -+ U32 flags, U32 depth, bool was_mutate_ok) - /* scanp: Start here (read-write). */ - /* deltap: Write maxlen-minlen here. */ - /* last: Stop before this one. */ -@@ -4179,6 +4180,10 @@ S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp, - node length to get a real minimum (because - the folded version may be shorter) */ - bool unfolded_multi_char = FALSE; -+ /* avoid mutating ops if we are anywhere within the recursed or -+ * enframed handling for a GOSUB: the outermost level will handle it. -+ */ -+ bool mutate_ok = was_mutate_ok && !(frame && frame->in_gosub); - /* Peephole optimizer: */ - DEBUG_STUDYDATA("Peep:", data, depth); - DEBUG_PEEP("Peep", scan, depth); -@@ -4189,7 +4194,8 @@ S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp, - * parsing code, as each (?:..) is handled by a different invocation of - * reg() -- Yves - */ -- JOIN_EXACT(scan,&min_subtract, &unfolded_multi_char, 0); -+ if (mutate_ok) -+ JOIN_EXACT(scan,&min_subtract, &unfolded_multi_char, 0); - - /* Follow the next-chain of the current node and optimize - away all the NOTHINGs from it. */ -@@ -4238,7 +4244,7 @@ S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp, - * NOTE we dont use the return here! */ - (void)study_chunk(pRExC_state, &scan, &minlen, - &deltanext, next, &data_fake, stopparen, -- recursed_depth, NULL, f, depth+1); -+ recursed_depth, NULL, f, depth+1, mutate_ok); - - scan = next; - } else -@@ -4305,7 +4311,8 @@ S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp, - /* we suppose the run is continuous, last=next...*/ - minnext = study_chunk(pRExC_state, &scan, minlenp, - &deltanext, next, &data_fake, stopparen, -- recursed_depth, NULL, f,depth+1); -+ recursed_depth, NULL, f, depth+1, -+ mutate_ok); - - if (min1 > minnext) - min1 = minnext; -@@ -4372,9 +4379,10 @@ S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp, - } - } - -- if (PERL_ENABLE_TRIE_OPTIMISATION && -- OP( startbranch ) == BRANCH ) -- { -+ if (PERL_ENABLE_TRIE_OPTIMISATION -+ && OP(startbranch) == BRANCH -+ && mutate_ok -+ ) { - /* demq. - - Assuming this was/is a branch we are dealing with: 'scan' -@@ -4825,6 +4833,9 @@ S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp, - newframe->stopparen = stopparen; - newframe->prev_recursed_depth = recursed_depth; - newframe->this_prev_frame= frame; -+ newframe->in_gosub = ( -+ (frame && frame->in_gosub) || OP(scan) == GOSUB -+ ); - - DEBUG_STUDYDATA("frame-new:",data,depth); - DEBUG_PEEP("fnew", scan, depth); -@@ -5043,7 +5054,7 @@ S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp, - (mincount == 0 - ? (f & ~SCF_DO_SUBSTR) - : f) -- ,depth+1); -+ , depth+1, mutate_ok); - - if (flags & SCF_DO_STCLASS) - data->start_class = oclass; -@@ -5105,7 +5116,9 @@ S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp, - if ( OP(oscan) == CURLYX && data - && data->flags & SF_IN_PAR - && !(data->flags & SF_HAS_EVAL) -- && !deltanext && minnext == 1 ) { -+ && !deltanext && minnext == 1 -+ && mutate_ok -+ ) { - /* Try to optimize to CURLYN. */ - regnode *nxt = NEXTOPER(oscan) + EXTRA_STEP_2ARGS; - regnode * const nxt1 = nxt; -@@ -5151,10 +5164,10 @@ S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp, - && !(data->flags & SF_HAS_EVAL) - && !deltanext /* atom is fixed width */ - && minnext != 0 /* CURLYM can't handle zero width */ -- - /* Nor characters whose fold at run-time may be - * multi-character */ - && ! (RExC_seen & REG_UNFOLDED_MULTI_SEEN) -+ && mutate_ok - ) { - /* XXXX How to optimize if data == 0? */ - /* Optimize to a simpler form. */ -@@ -5201,7 +5214,8 @@ S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp, - #endif - /* Optimize again: */ - study_chunk(pRExC_state, &nxt1, minlenp, &deltanext, nxt, -- NULL, stopparen, recursed_depth, NULL, 0,depth+1); -+ NULL, stopparen, recursed_depth, NULL, 0, -+ depth+1, mutate_ok); - } - else - oscan->flags = 0; -@@ -5592,7 +5606,8 @@ Perl_re_printf( aTHX_ "LHS=%" UVuf " RHS=%" UVuf "\n", - nscan = NEXTOPER(NEXTOPER(scan)); - minnext = study_chunk(pRExC_state, &nscan, minlenp, &deltanext, - last, &data_fake, stopparen, -- recursed_depth, NULL, f, depth+1); -+ recursed_depth, NULL, f, depth+1, -+ mutate_ok); - if (scan->flags) { - if (deltanext) { - FAIL("Variable length lookbehind not implemented"); -@@ -5681,7 +5696,7 @@ Perl_re_printf( aTHX_ "LHS=%" UVuf " RHS=%" UVuf "\n", - *minnextp = study_chunk(pRExC_state, &nscan, minnextp, - &deltanext, last, &data_fake, - stopparen, recursed_depth, NULL, -- f,depth+1); -+ f, depth+1, mutate_ok); - if (scan->flags) { - if (deltanext) { - FAIL("Variable length lookbehind not implemented"); -@@ -5841,7 +5856,8 @@ Perl_re_printf( aTHX_ "LHS=%" UVuf " RHS=%" UVuf "\n", - branches even though they arent otherwise used. */ - minnext = study_chunk(pRExC_state, &scan, minlenp, - &deltanext, (regnode *)nextbranch, &data_fake, -- stopparen, recursed_depth, NULL, f,depth+1); -+ stopparen, recursed_depth, NULL, f, depth+1, -+ mutate_ok); - } - if (nextbranch && PL_regkind[OP(nextbranch)]==BRANCH) - nextbranch= regnext((regnode*)nextbranch); -@@ -7524,7 +7540,7 @@ Perl_re_op_compile(pTHX_ SV ** const patternp, int pat_count, - &data, -1, 0, NULL, - SCF_DO_SUBSTR | SCF_WHILEM_VISITED_POS | stclass_flag - | (restudied ? SCF_TRIE_DOING_RESTUDY : 0), -- 0); -+ 0, TRUE); - - - CHECK_RESTUDY_GOTO_butfirst(LEAVE_with_name("study_chunk")); -@@ -7670,7 +7686,7 @@ Perl_re_op_compile(pTHX_ SV ** const patternp, int pat_count, - SCF_DO_STCLASS_AND|SCF_WHILEM_VISITED_POS|(restudied - ? SCF_TRIE_DOING_RESTUDY - : 0), -- 0); -+ 0, TRUE); - - CHECK_RESTUDY_GOTO_butfirst(NOOP); - -diff --git a/t/re/pat.t b/t/re/pat.t -index 1d98fe77d7..1488259b02 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 => 840; # Update this when adding/deleting tests. -+plan tests => 844; # Update this when adding/deleting tests. - - run_tests() unless caller; - -@@ -1929,6 +1929,30 @@ EOP - fresh_perl_is('"AA" =~ m/AA{1,0}/','',{},"handle OPFAIL insert properly"); - } - -+ # gh16947: test regexp corruption (GOSUB) -+ { -+ fresh_perl_is(q{ -+ 'xy' =~ /x(?0)|x(?|y|y)/ && print 'ok' -+ }, 'ok', {}, 'gh16947: test regexp corruption (GOSUB)'); -+ } -+ # gh16947: test fix doesn't break SUSPEND -+ { -+ fresh_perl_is(q{ 'sx' =~ m{ss++}i; print 'ok' }, -+ 'ok', {}, "gh16947: test fix doesn't break SUSPEND"); -+ } -+ -+ # gh17743: more regexp corruption via GOSUB -+ { -+ fresh_perl_is(q{ -+ "0" =~ /((0(?0)|000(?|0000|0000)(?0))|)/; print "ok" -+ }, 'ok', {}, 'gh17743: test regexp corruption (1)'); -+ -+ fresh_perl_is(q{ -+ "000000000000" =~ /(0(())(0((?0)())|000(?|\x{ef}\x{bf}\x{bd}|\x{ef}\x{bf}\x{bd}))|)/; -+ print "ok" -+ }, 'ok', {}, 'gh17743: test regexp corruption (2)'); -+ } -+ - } # End of sub run_tests - - 1; --- -2.20.1 - diff --git a/SOURCES/perl-5.26.3-Net-Ping-Fix-_resolv-return-value.patch b/SOURCES/perl-5.26.3-Net-Ping-Fix-_resolv-return-value.patch deleted file mode 100644 index af52662..0000000 --- a/SOURCES/perl-5.26.3-Net-Ping-Fix-_resolv-return-value.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 47d2c70bde8c0bdc67e85578133338fc63c33f13 Mon Sep 17 00:00:00 2001 -From: Jitka Plesnikova -Date: Thu, 17 Jun 2021 11:41:48 +0200 -Subject: [PATCH 2/2] Fix _resolv return value - -in case of the new warnings. -Thanks to @nlv02636 - -Backported fromn Net-Ping 2.68 ---- - dist/Net-Ping/lib/Net/Ping.pm | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/dist/Net-Ping/lib/Net/Ping.pm b/dist/Net-Ping/lib/Net/Ping.pm -index 9e2497c..87087fc 100644 ---- a/dist/Net-Ping/lib/Net/Ping.pm -+++ b/dist/Net-Ping/lib/Net/Ping.pm -@@ -1794,6 +1794,7 @@ sub _resolv { - # Clean up port - if (defined($h{port}) && (($h{port} !~ /^\d{1,5}$/) || ($h{port} < 1) || ($h{port} > 65535))) { - croak("Invalid port `$h{port}' in `$name'"); -+ return undef; - } - # END - host:port - -@@ -1850,18 +1851,21 @@ sub _resolv { - } else { - (undef, $h{addr_in}, undef, undef) = Socket::unpack_sockaddr_in6 $getaddr[0]->{addr}; - } -- return \%h -+ return \%h; - } else { - carp("getnameinfo($getaddr[0]->{addr}) failed - $err"); -+ return undef; - } - } else { - warn(sprintf("getaddrinfo($h{host},,%s) failed - $err", - $family == AF_INET ? "AF_INET" : "AF_INET6")); -+ return undef; - } - # old way - } else { - if ($family == $AF_INET6) { - croak("Socket >= 1.94 required for IPv6 - found Socket $Socket::VERSION"); -+ return undef; - } - - my @gethost = gethostbyname($h{host}); -@@ -1872,8 +1876,10 @@ sub _resolv { - return \%h - } else { - carp("gethostbyname($h{host}) failed - $^E"); -+ return undef; - } - } -+ return undef; - } - - sub _pack_sockaddr_in($$) { --- -2.31.1 - diff --git a/SOURCES/perl-5.26.3-Net-Ping-carp-not-croak-on-most-name-lookup-failures.patch b/SOURCES/perl-5.26.3-Net-Ping-carp-not-croak-on-most-name-lookup-failures.patch deleted file mode 100644 index 0a9f98b..0000000 --- a/SOURCES/perl-5.26.3-Net-Ping-carp-not-croak-on-most-name-lookup-failures.patch +++ /dev/null @@ -1,99 +0,0 @@ -From 5a3f94a3f0e21d8e685ede4e851a318578a2151f Mon Sep 17 00:00:00 2001 -From: Jitka Plesnikova -Date: Thu, 17 Jun 2021 11:12:30 +0200 -Subject: [PATCH 1/2] carp, not croak on most name lookup failures - -See RT #124830, a regression. -Return undef instead. - -Backported from Net-Ping 2.67 ---- - dist/Net-Ping/lib/Net/Ping.pm | 24 ++++++++++++------------ - 1 file changed, 12 insertions(+), 12 deletions(-) - -diff --git a/dist/Net-Ping/lib/Net/Ping.pm b/dist/Net-Ping/lib/Net/Ping.pm -index 13cbe81..9e2497c 100644 ---- a/dist/Net-Ping/lib/Net/Ping.pm -+++ b/dist/Net-Ping/lib/Net/Ping.pm -@@ -144,7 +144,7 @@ sub new - if ($self->{'host'}) { - my $host = $self->{'host'}; - my $ip = _resolv($host) -- or croak("could not resolve host $host"); -+ or carp("could not resolve host $host"); - $self->{host} = $ip; - $self->{family} = $ip->{family}; - } -@@ -152,7 +152,7 @@ sub new - if ($self->{bind}) { - my $addr = $self->{bind}; - my $ip = _resolv($addr) -- or croak("could not resolve local addr $addr"); -+ or carp("could not resolve local addr $addr"); - $self->{local_addr} = $ip; - } else { - $self->{local_addr} = undef; # Don't bind by default -@@ -323,7 +323,7 @@ sub bind - ($self->{proto} eq "udp" || $self->{proto} eq "icmp"); - - $ip = $self->_resolv($local_addr); -- croak("nonexistent local address $local_addr") unless defined($ip); -+ carp("nonexistent local address $local_addr") unless defined($ip); - $self->{local_addr} = $ip; - - if (($self->{proto} ne "udp") && -@@ -1129,13 +1129,14 @@ sub open - $self->{family_local} = $self->{family}; - } - -- $ip = $self->_resolv($host); - $timeout = $self->{timeout} unless $timeout; -+ $ip = $self->_resolv($host); - -- if($self->{proto} eq "stream") { -- if(defined($self->{fh}->fileno())) { -+ if ($self->{proto} eq "stream") { -+ if (defined($self->{fh}->fileno())) { - croak("socket is already open"); - } else { -+ return () unless $ip; - $self->tcp_connect($ip, $timeout); - } - } -@@ -1851,12 +1852,11 @@ sub _resolv { - } - return \%h - } else { -- croak("getnameinfo($getaddr[0]->{addr}) failed - $err"); -+ carp("getnameinfo($getaddr[0]->{addr}) failed - $err"); - } - } else { -- my $error = sprintf "getaddrinfo($h{host},,%s) failed - $err", -- ($family == AF_INET) ? "AF_INET" : "AF_INET6"; -- croak("$error"); -+ warn(sprintf("getaddrinfo($h{host},,%s) failed - $err", -+ $family == AF_INET ? "AF_INET" : "AF_INET6")); - } - # old way - } else { -@@ -1871,7 +1871,7 @@ sub _resolv { - $h{family} = AF_INET; - return \%h - } else { -- croak("gethostbyname($h{host}) failed - $^E"); -+ carp("gethostbyname($h{host}) failed - $^E"); - } - } - } -@@ -1913,7 +1913,7 @@ sub _inet_ntoa { - if (defined($address)) { - $ret = $address; - } else { -- croak("getnameinfo($addr) failed - $err"); -+ carp("getnameinfo($addr) failed - $err"); - } - } else { - $ret = inet_ntoa($addr) --- -2.31.1 - diff --git a/SOURCES/perl-5.27.0-perl-129183-don-t-treat-as-an-escape-in-PATH-for-S.patch b/SOURCES/perl-5.27.0-perl-129183-don-t-treat-as-an-escape-in-PATH-for-S.patch deleted file mode 100644 index 8889451..0000000 --- a/SOURCES/perl-5.27.0-perl-129183-don-t-treat-as-an-escape-in-PATH-for-S.patch +++ /dev/null @@ -1,32 +0,0 @@ -From e80af1fd276d83858d27742ea887415e3263960b Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Wed, 12 Oct 2016 10:42:47 +1100 -Subject: [PATCH] (perl 129183) don't treat \ as an escape in PATH for -S -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Petr Písař ---- - util.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/util.c b/util.c -index 5bb0dfc..6bc2fe5 100644 ---- a/util.c -+++ b/util.c -@@ -3352,9 +3352,8 @@ Perl_find_script(pTHX_ const char *scriptname, bool dosearch, - if (len < sizeof tmpbuf) - tmpbuf[len] = '\0'; - # else -- s = delimcpy(tmpbuf, tmpbuf + sizeof tmpbuf, s, bufend, -- ':', -- &len); -+ s = delimcpy_no_escape(tmpbuf, tmpbuf + sizeof tmpbuf, s, bufend, -+ ':', &len); - # endif - if (s < bufend) - s++; --- -2.9.4 - diff --git a/SOURCES/perl-5.27.0-perl-131211-fixup-File-Glob-degenerate-matching.patch b/SOURCES/perl-5.27.0-perl-131211-fixup-File-Glob-degenerate-matching.patch deleted file mode 100644 index c52d790..0000000 --- a/SOURCES/perl-5.27.0-perl-131211-fixup-File-Glob-degenerate-matching.patch +++ /dev/null @@ -1,258 +0,0 @@ -From 0db967b2e6a4093a6a5f649190159767e5d005e0 Mon Sep 17 00:00:00 2001 -From: Yves Orton -Date: Tue, 25 Apr 2017 15:17:06 +0200 -Subject: [PATCH] [perl #131211] fixup File::Glob degenerate matching -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The old code would go quadratic with recursion and backtracking -when doing patterns like "a*a*a*a*a*a*a*x" on a file like -"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa". - -This patch changes the code to not recurse, and to not backtrack, -as per this article from Russ Cox: https://research.swtch.com/glob - -It also adds a micro-optimisation for M_ONE and M_SET under the new code. - -Thanks to Avar and Russ Cox for helping with this patch, along with -Jilles Tjoelker and the rest of the FreeBSD community. - -Signed-off-by: Petr Písař ---- - MANIFEST | 1 + - ext/File-Glob/bsd_glob.c | 64 +++++++++++++++++++++++-------- - ext/File-Glob/t/rt131211.t | 94 ++++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 144 insertions(+), 15 deletions(-) - create mode 100644 ext/File-Glob/t/rt131211.t - -diff --git a/MANIFEST b/MANIFEST -index b7b6e74..af0da6c 100644 ---- a/MANIFEST -+++ b/MANIFEST -@@ -3948,6 +3948,7 @@ ext/File-Glob/t/basic.t See if File::Glob works - ext/File-Glob/t/case.t See if File::Glob works - ext/File-Glob/t/global.t See if File::Glob works - ext/File-Glob/t/rt114984.t See if File::Glob works -+ext/File-Glob/t/rt131211.t See if File::Glob works - ext/File-Glob/t/taint.t See if File::Glob works - ext/File-Glob/t/threads.t See if File::Glob + threads works - ext/File-Glob/TODO File::Glob extension todo list -diff --git a/ext/File-Glob/bsd_glob.c b/ext/File-Glob/bsd_glob.c -index 821ef20..e96fb73 100644 ---- a/ext/File-Glob/bsd_glob.c -+++ b/ext/File-Glob/bsd_glob.c -@@ -563,8 +563,12 @@ glob0(const Char *pattern, glob_t *pglob) - break; - case BG_STAR: - pglob->gl_flags |= GLOB_MAGCHAR; -- /* collapse adjacent stars to one, -- * to avoid exponential behavior -+ /* Collapse adjacent stars to one. -+ * This is required to ensure that a pattern like -+ * "a**" matches a name like "a", as without this -+ * check when the first star matched everything it would -+ * cause the second star to return a match fail. -+ * As long ** is folded here this does not happen. - */ - if (bufnext == patbuf || bufnext[-1] != M_ALL) - *bufnext++ = M_ALL; -@@ -909,35 +913,56 @@ globextend(const Char *path, glob_t *pglob, size_t *limitp) - - - /* -- * pattern matching function for filenames. Each occurrence of the * -- * pattern causes a recursion level. -+ * pattern matching function for filenames using state machine to avoid -+ * recursion. We maintain a "nextp" and "nextn" to allow us to backtrack -+ * without additional callframes, and to do cleanly prune the backtracking -+ * state when multiple '*' (start) matches are included in the patter. -+ * -+ * Thanks to Russ Cox for the improved state machine logic to avoid quadratic -+ * matching on failure. -+ * -+ * https://research.swtch.com/glob -+ * -+ * An example would be a pattern -+ * ("a*" x 100) . "y" -+ * against a file name like -+ * ("a" x 100) . "x" -+ * - */ - static int - match(Char *name, Char *pat, Char *patend, int nocase) - { - int ok, negate_range; - Char c, k; -+ Char *nextp = NULL; -+ Char *nextn = NULL; - -+ loop: - while (pat < patend) { - c = *pat++; - switch (c & M_MASK) { - case M_ALL: - if (pat == patend) - return(1); -- do -- if (match(name, pat, patend, nocase)) -- return(1); -- while (*name++ != BG_EOS) -- ; -- return(0); -+ if (*name == BG_EOS) -+ return 0; -+ nextn = name + 1; -+ nextp = pat - 1; -+ break; - case M_ONE: -+ /* since * matches leftmost-shortest first * -+ * if we encounter the EOS then backtracking * -+ * will not help, so we can exit early here. */ - if (*name++ == BG_EOS) -- return(0); -+ return 0; - break; - case M_SET: - ok = 0; -+ /* since * matches leftmost-shortest first * -+ * if we encounter the EOS then backtracking * -+ * will not help, so we can exit early here. */ - if ((k = *name++) == BG_EOS) -- return(0); -+ return 0; - if ((negate_range = ((*pat & M_MASK) == M_NOT)) != BG_EOS) - ++pat; - while (((c = *pat++) & M_MASK) != M_END) -@@ -953,16 +978,25 @@ match(Char *name, Char *pat, Char *patend, int nocase) - } else if (nocase ? (tolower(c) == tolower(k)) : (c == k)) - ok = 1; - if (ok == negate_range) -- return(0); -+ goto fail; - break; - default: - k = *name++; - if (nocase ? (tolower(k) != tolower(c)) : (k != c)) -- return(0); -+ goto fail; - break; - } - } -- return(*name == BG_EOS); -+ if (*name == BG_EOS) -+ return 1; -+ -+ fail: -+ if (nextn) { -+ pat = nextp; -+ name = nextn; -+ goto loop; -+ } -+ return 0; - } - - /* Free allocated data belonging to a glob_t structure. */ -diff --git a/ext/File-Glob/t/rt131211.t b/ext/File-Glob/t/rt131211.t -new file mode 100644 -index 0000000..c1bcbe0 ---- /dev/null -+++ b/ext/File-Glob/t/rt131211.t -@@ -0,0 +1,94 @@ -+use strict; -+use warnings; -+use v5.16.0; -+use File::Temp 'tempdir'; -+use File::Spec::Functions; -+use Test::More; -+use Time::HiRes qw(time); -+ -+plan tests => 13; -+ -+my $path = tempdir uc cleanup => 1; -+my @files= ( -+ "x".("a" x 50)."b", # 0 -+ "abbbbbbbbbbbbc", # 1 -+ "abbbbbbbbbbbbd", # 2 -+ "aaabaaaabaaaabc", # 3 -+ "pq", # 4 -+ "r", # 5 -+ "rttiiiiiii", # 6 -+ "wewewewewewe", # 7 -+ "weeeweeeweee", # 8 -+ "weewweewweew", # 9 -+ "wewewewewewewewewewewewewewewewewq", # 10 -+ "wtttttttetttttttwr", # 11 -+); -+ -+ -+foreach (@files) { -+ open(my $f, ">", catfile $path, $_); -+} -+ -+my $elapsed_fail= 0; -+my $elapsed_match= 0; -+my @got_files; -+my @no_files; -+my $count = 0; -+ -+while (++$count < 10) { -+ $elapsed_match -= time; -+ @got_files= glob catfile $path, "x".("a*" x $count) . "b"; -+ $elapsed_match += time; -+ -+ $elapsed_fail -= time; -+ @no_files= glob catfile $path, "x".("a*" x $count) . "c"; -+ $elapsed_fail += time; -+ last if $elapsed_fail > $elapsed_match * 100; -+} -+ -+is $count,10, -+ "tried all the patterns without bailing out"; -+ -+cmp_ok $elapsed_fail/$elapsed_match,"<",2, -+ "time to fail less than twice the time to match"; -+is "@got_files", catfile($path, $files[0]), -+ "only got the expected file for xa*..b"; -+is "@no_files", "", "shouldnt have files for xa*..c"; -+ -+ -+@got_files= glob catfile $path, "a*b*b*b*bc"; -+is "@got_files", catfile($path, $files[1]), -+ "only got the expected file for a*b*b*b*bc"; -+ -+@got_files= sort glob catfile $path, "a*b*b*bc"; -+is "@got_files", catfile($path, $files[3])." ".catfile($path,$files[1]), -+ "got the expected two files for a*b*b*bc"; -+ -+@got_files= sort glob catfile $path, "p*"; -+is "@got_files", catfile($path, $files[4]), -+ "p* matches pq"; -+ -+@got_files= sort glob catfile $path, "r*???????"; -+is "@got_files", catfile($path, $files[6]), -+ "r*??????? works as expected"; -+ -+@got_files= sort glob catfile $path, "w*e*w??e"; -+is "@got_files", join(" ", sort map { catfile($path, $files[$_]) } (7,8)), -+ "w*e*w??e works as expected"; -+ -+@got_files= sort glob catfile $path, "w*e*we??"; -+is "@got_files", join(" ", sort map { catfile($path, $files[$_]) } (7,8,9,10)), -+ "w*e*we?? works as expected"; -+ -+@got_files= sort glob catfile $path, "w**e**w"; -+is "@got_files", join(" ", sort map { catfile($path, $files[$_]) } (9)), -+ "w**e**w works as expected"; -+ -+@got_files= sort glob catfile $path, "*wee*"; -+is "@got_files", join(" ", sort map { catfile($path, $files[$_]) } (8,9)), -+ "*wee* works as expected"; -+ -+@got_files= sort glob catfile $path, "we*"; -+is "@got_files", join(" ", sort map { catfile($path, $files[$_]) } (7,8,9,10)), -+ "we* works as expected"; -+ --- -2.9.4 - diff --git a/SOURCES/perl-5.27.1-File-Glob-tweak-rt131211.t-to-be-less-sensitive-on-w.patch b/SOURCES/perl-5.27.1-File-Glob-tweak-rt131211.t-to-be-less-sensitive-on-w.patch deleted file mode 100644 index 6407a06..0000000 --- a/SOURCES/perl-5.27.1-File-Glob-tweak-rt131211.t-to-be-less-sensitive-on-w.patch +++ /dev/null @@ -1,45 +0,0 @@ -From b4d257e2d408f0f1c6686dcdc112f3ebfec68f44 Mon Sep 17 00:00:00 2001 -From: Yves Orton -Date: Tue, 27 Jun 2017 10:22:23 +0200 -Subject: [PATCH] File::Glob - tweak rt131211.t to be less sensitive on wonky - boxes -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -make the test less senstive and avoid divide by zero errors, -also we skip the test if either elapsed_match or elapsed_fail is -true, as we can not rely on the timings then. For the operations -we are doing we should get a non-zero timing from Time::HiRes. - -This should mean that running this test on boxes with heavy -load, etc, will no longer result in false positives. - -Signed-off-by: Petr Písař ---- - ext/File-Glob/t/rt131211.t | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git a/ext/File-Glob/t/rt131211.t b/ext/File-Glob/t/rt131211.t -index c1bcbe0..b29cd04 100644 ---- a/ext/File-Glob/t/rt131211.t -+++ b/ext/File-Glob/t/rt131211.t -@@ -49,8 +49,13 @@ while (++$count < 10) { - is $count,10, - "tried all the patterns without bailing out"; - --cmp_ok $elapsed_fail/$elapsed_match,"<",2, -- "time to fail less than twice the time to match"; -+SKIP: { -+ skip "unstable timing", 1 unless $elapsed_match && $elapsed_fail; -+ ok $elapsed_fail <= 10 * $elapsed_match, -+ "time to fail less than 10x the time to match" -+ or diag("elapsed_match=$elapsed_match elapsed_fail=$elapsed_fail"); -+} -+ - is "@got_files", catfile($path, $files[0]), - "only got the expected file for xa*..b"; - is "@no_files", "", "shouldnt have files for xa*..c"; --- -2.9.4 - diff --git a/SOURCES/perl-5.27.1-RT-130907-Fix-the-Unicode-Bug-in-split.patch b/SOURCES/perl-5.27.1-RT-130907-Fix-the-Unicode-Bug-in-split.patch deleted file mode 100644 index d1543f0..0000000 --- a/SOURCES/perl-5.27.1-RT-130907-Fix-the-Unicode-Bug-in-split.patch +++ /dev/null @@ -1,226 +0,0 @@ -From 5aca16e032861ea3dfcc96ad417ea87e2b1552e5 Mon Sep 17 00:00:00 2001 -From: Aaron Crane -Date: Sat, 4 Mar 2017 12:50:58 +0000 -Subject: [PATCH] RT #130907: Fix the Unicode Bug in split " " -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Ported to 5.26.0: - -commit 20ae58f7a9bbf84d043d6e90f5988b6e3ca4ee3d -Author: Aaron Crane -Date: Sat Mar 4 12:50:58 2017 +0000 - - RT #130907: Fix the Unicode Bug in split " " - -Signed-off-by: Petr Písař ---- - lib/feature.pm | 5 +++-- - pod/perldelta.pod | 9 +++++++++ - pod/perlfunc.pod | 8 ++++++++ - pod/perlunicode.pod | 11 +++++++++++ - pod/perluniintro.pod | 5 +++-- - pp.c | 13 +++++++++++++ - regen/feature.pl | 5 +++-- - t/op/split.t | 20 +++++++++++++++++++- - 8 files changed, 69 insertions(+), 7 deletions(-) - -diff --git a/lib/feature.pm b/lib/feature.pm -index ed13273..93e020b 100644 ---- a/lib/feature.pm -+++ b/lib/feature.pm -@@ -175,8 +175,9 @@ C subpragma is B recommended. - - This feature is available starting with Perl 5.12; was almost fully - implemented in Perl 5.14; and extended in Perl 5.16 to cover C; --and extended further in Perl 5.26 to cover L. -+was extended further in Perl 5.26 to cover L; and was extended again in Perl 5.28 to -+cover L. - - =head2 The 'unicode_eval' and 'evalbytes' features - -#diff --git a/pod/perldelta.pod b/pod/perldelta.pod -#index 06dcd1d..d31335f 100644 -#--- a/pod/perldelta.pod -#+++ b/pod/perldelta.pod -#@@ -3206,6 +3206,15 @@ calls. -# Parsing bad POSIX charclasses no longer leaks memory. -# L<[perl #128313]|https://rt.perl.org/Public/Bug/Display.html?id=128313> -# -#+=item * -#+ -#+C now correctly handles the argument being split when in the -#+scope of the L<< C|feature/"The 'unicode_strings' feature" -#+>> feature. Previously, when a string using the single-byte internal -#+representation contained characters that are whitespace by Unicode rules but -#+not by ASCII rules, it treated those characters as part of fields rather -#+than as field separators. [perl #130907] -#+ -# =back -# -# =head1 Known Problems -diff --git a/pod/perlfunc.pod b/pod/perlfunc.pod -index b8dca6e..9abadf4 100644 ---- a/pod/perlfunc.pod -+++ b/pod/perlfunc.pod -@@ -7616,6 +7616,14 @@ special case was restricted to the use of a plain S> as the - pattern argument to split; in Perl 5.18.0 and later this special case is - triggered by any expression which evaluates to the simple string S>. - -+As of Perl 5.28, this special-cased whitespace splitting works as expected in -+the scope of L<< S>|feature/The -+'unicode_strings' feature >>. In previous versions, and outside the scope of -+that feature, it exhibits L: characters that are -+whitespace according to Unicode rules but not according to ASCII rules can be -+treated as part of fields rather than as field separators, depending on the -+string's internal encoding. -+ - If omitted, PATTERN defaults to a single space, S>, triggering - the previously described I emulation. - -diff --git a/pod/perlunicode.pod b/pod/perlunicode.pod -index 9c13c35..2e84e95 100644 ---- a/pod/perlunicode.pod -+++ b/pod/perlunicode.pod -@@ -1835,6 +1835,17 @@ outside its scope, it could produce strings whose length in characters - exceeded that of the right-hand side, where the right-hand side took up more - bytes than the correct range endpoint. - -+=item * -+ -+In L<< C's special-case whitespace splitting|perlfunc/split >>. -+ -+Starting in Perl 5.28.0, the C function with a pattern specified as -+a string containing a single space handles whitespace characters consistently -+within the scope of of C. Prior to that, or outside its scope, -+characters that are whitespace according to Unicode rules but not according to -+ASCII rules were treated as field contents rather than field separators when -+they appear in byte-encoded strings. -+ - =back - - You can see from the above that the effect of C -diff --git a/pod/perluniintro.pod b/pod/perluniintro.pod -index d35de34..595ec46 100644 ---- a/pod/perluniintro.pod -+++ b/pod/perluniintro.pod -@@ -151,11 +151,12 @@ serious Unicode work. The maintenance release 5.6.1 fixed many of the - problems of the initial Unicode implementation, but for example - regular expressions still do not work with Unicode in 5.6.1. - Perl v5.14.0 is the first release where Unicode support is --(almost) seamlessly integrable without some gotchas. (There are two -+(almost) seamlessly integrable without some gotchas. (There are a few - exceptions. Firstly, some differences in L - were fixed starting in Perl 5.16.0. Secondly, some differences in - L were fixed starting in --Perl 5.26.0.) -+Perl 5.26.0. Thirdly, some differences in L were fixed -+started in Perl 5.28.0.) - - To enable this - seamless support, you should C (which is -diff --git a/pp.c b/pp.c -index cc4cb59..d9dd005 100644 ---- a/pp.c -+++ b/pp.c -@@ -5740,6 +5740,7 @@ PP(pp_split) - STRLEN len; - const char *s = SvPV_const(sv, len); - const bool do_utf8 = DO_UTF8(sv); -+ const bool in_uni_8_bit = IN_UNI_8_BIT; - const char *strend = s + len; - PMOP *pm = cPMOPx(PL_op); - REGEXP *rx; -@@ -5826,6 +5827,10 @@ PP(pp_split) - while (s < strend && isSPACE_LC(*s)) - s++; - } -+ else if (in_uni_8_bit) { -+ while (s < strend && isSPACE_L1(*s)) -+ s++; -+ } - else { - while (s < strend && isSPACE(*s)) - s++; -@@ -5857,6 +5862,10 @@ PP(pp_split) - { - while (m < strend && !isSPACE_LC(*m)) - ++m; -+ } -+ else if (in_uni_8_bit) { -+ while (m < strend && !isSPACE_L1(*m)) -+ ++m; - } else { - while (m < strend && !isSPACE(*m)) - ++m; -@@ -5891,6 +5900,10 @@ PP(pp_split) - { - while (s < strend && isSPACE_LC(*s)) - ++s; -+ } -+ else if (in_uni_8_bit) { -+ while (s < strend && isSPACE_L1(*s)) -+ ++s; - } else { - while (s < strend && isSPACE(*s)) - ++s; -diff --git a/regen/feature.pl b/regen/feature.pl -index 579120e..8a4ce63 100755 ---- a/regen/feature.pl -+++ b/regen/feature.pl -@@ -485,8 +485,9 @@ C subpragma is B recommended. - - This feature is available starting with Perl 5.12; was almost fully - implemented in Perl 5.14; and extended in Perl 5.16 to cover C; --and extended further in Perl 5.26 to cover L. -+was extended further in Perl 5.26 to cover L; and was extended again in Perl 5.28 to -+cover L. - - =head2 The 'unicode_eval' and 'evalbytes' features - -diff --git a/t/op/split.t b/t/op/split.t -index d60bcaf..038c5d7 100644 ---- a/t/op/split.t -+++ b/t/op/split.t -@@ -7,7 +7,7 @@ BEGIN { - set_up_inc('../lib'); - } - --plan tests => 163; -+plan tests => 172; - - $FS = ':'; - -@@ -480,6 +480,24 @@ is($cnt, scalar(@ary)); - qq{split(\$cond ? qr/ / : " ", "$exp") behaves as expected over repeated similar patterns}; - } - -+SKIP: { -+ # RT #130907: unicode_strings feature doesn't work with split ' ' -+ -+ my ($sp) = grep /\s/u, map chr, reverse 128 .. 255 # prefer \xA0 over \x85 -+ or skip 'no unicode whitespace found in high-8-bit range', 9; -+ -+ for (["$sp$sp. /", "leading unicode whitespace"], -+ [".$sp$sp/", "unicode whitespace separator"], -+ [". /$sp$sp", "trailing unicode whitespace"]) { -+ my ($str, $desc) = @$_; -+ use feature "unicode_strings"; -+ my @got = split " ", $str; -+ is @got, 2, "whitespace split: $desc: field count"; -+ is $got[0], '.', "whitespace split: $desc: field 0"; -+ is $got[1], '/', "whitespace split: $desc: field 1"; -+ } -+} -+ - { - # 'RT #116086: split "\x20" does not work as documented'; - my @results; --- -2.9.4 - diff --git a/SOURCES/perl-5.27.1-perl-131679-Fix-our-sub-foo-bar-message.patch b/SOURCES/perl-5.27.1-perl-131679-Fix-our-sub-foo-bar-message.patch deleted file mode 100644 index e9b9bf4..0000000 --- a/SOURCES/perl-5.27.1-perl-131679-Fix-our-sub-foo-bar-message.patch +++ /dev/null @@ -1,51 +0,0 @@ -From b9a58d500dd75ba783abac92a56e57d41227f62b Mon Sep 17 00:00:00 2001 -From: Father Chrysostomos -Date: Sun, 2 Jul 2017 11:35:20 -0700 -Subject: [PATCH] =?UTF-8?q?[perl=20#131679]=20Fix=20=E2=80=98our=20sub=20f?= - =?UTF-8?q?oo::bar=E2=80=99=20message?= -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -It should say subroutine, not variable. - -Signed-off-by: Petr Písař ---- - t/lib/croak/toke | 6 ++++++ - toke.c | 3 ++- - 2 files changed, 8 insertions(+), 1 deletion(-) - -diff --git a/t/lib/croak/toke b/t/lib/croak/toke -index 7aa15ef..2603224 100644 ---- a/t/lib/croak/toke -+++ b/t/lib/croak/toke -@@ -133,6 +133,12 @@ state sub; - EXPECT - Missing name in "state sub" at - line 2. - ######## -+# NAME our sub pack::foo -+our sub foo::bar; -+EXPECT -+No package name allowed for subroutine &foo::bar in "our" at - line 1, near "our sub foo::bar" -+Execution of - aborted due to compilation errors. -+######## - # NAME my sub pack::foo - use feature 'lexical_subs', 'state'; - my sub foo::bar; -diff --git a/toke.c b/toke.c -index ace92e3..6aa5f26 100644 ---- a/toke.c -+++ b/toke.c -@@ -8848,7 +8848,8 @@ S_pending_ident(pTHX) - if (PL_in_my == KEY_our) { /* "our" is merely analogous to "my" */ - if (has_colon) - yyerror_pv(Perl_form(aTHX_ "No package name allowed for " -- "variable %s in \"our\"", -+ "%se %s in \"our\"", -+ *PL_tokenbuf=='&' ?"subroutin":"variabl", - PL_tokenbuf), UTF ? SVf_UTF8 : 0); - tmp = allocmy(PL_tokenbuf, tokenbuf_len, UTF ? SVf_UTF8 : 0); - } --- -2.9.4 - diff --git a/SOURCES/perl-5.27.1-t-lib-warnings-utf8-Fix-test.patch b/SOURCES/perl-5.27.1-t-lib-warnings-utf8-Fix-test.patch deleted file mode 100644 index d134a07..0000000 --- a/SOURCES/perl-5.27.1-t-lib-warnings-utf8-Fix-test.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 97e57bec1f0ba4f0c3b1dc18ee146632010e3373 Mon Sep 17 00:00:00 2001 -From: Karl Williamson -Date: Sat, 15 Jul 2017 19:36:25 -0600 -Subject: [PATCH] t/lib/warnings/utf8: Fix test -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -There is some randomness to this test added to fix [perl #131646]. -Change what passes to be a pattern that matches the correct template - -Signed-off-by: Petr Písař ---- - t/lib/warnings/utf8 | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/t/lib/warnings/utf8 b/t/lib/warnings/utf8 -index 9066308..dfc58c1 100644 ---- a/t/lib/warnings/utf8 -+++ b/t/lib/warnings/utf8 -@@ -781,4 +781,5 @@ no warnings; - use warnings 'utf8'; - for(uc 0..t){0~~pack"UXc",exp} - EXPECT --Malformed UTF-8 character: \xc2\x00 (unexpected non-continuation byte 0x00, immediately after start byte 0xc2; need 2 bytes, got 1) in smart match at - line 9. -+OPTIONS regex -+Malformed UTF-8 character: \\x([[:xdigit:]]{2})\\x([[:xdigit:]]{2}) \(unexpected non-continuation byte 0x\2, immediately after start byte 0x\1; need 2 bytes, got 1\) in smart match at - line 9. --- -2.9.4 - diff --git a/SOURCES/perl-5.27.1-utf8n_to_uvchr-Don-t-display-too-many-bytes-in-msg.patch b/SOURCES/perl-5.27.1-utf8n_to_uvchr-Don-t-display-too-many-bytes-in-msg.patch deleted file mode 100644 index 1b7bd8b..0000000 --- a/SOURCES/perl-5.27.1-utf8n_to_uvchr-Don-t-display-too-many-bytes-in-msg.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 05b9033b464ce8dd2c9b33238f9aa14755d7a91a Mon Sep 17 00:00:00 2001 -From: Karl Williamson -Date: Sat, 17 Jun 2017 17:56:10 -0600 -Subject: [PATCH] utf8n_to_uvchr(): Don't display too many bytes in msg -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -When raising a message about malformed UTF-8, we shouldn't display bytes -from the next character, unless those bytes were expected to have been -part of the current one. Tests for this will be added in future commits -in ext/XS-APItest/t/utf8_warn_base.pl - -Signed-off-by: Petr Písař ---- - utf8.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/utf8.c b/utf8.c -index ee5405f..e55a6f1 100644 ---- a/utf8.c -+++ b/utf8.c -@@ -1428,7 +1428,7 @@ Perl_utf8n_to_uvchr_error(pTHX_ const U8 *s, - if (pack_warn) { - message = Perl_form(aTHX_ "%s: %s (overflows)", - malformed_text, -- _byte_dump_string(s0, send - s0, 0)); -+ _byte_dump_string(s0, curlen, 0)); - } - } - } -@@ -1554,7 +1554,7 @@ Perl_utf8n_to_uvchr_error(pTHX_ const U8 *s, - "%s: %s (overlong; instead use %s to represent" - " U+%0*" UVXf ")", - malformed_text, -- _byte_dump_string(s0, send - s0, 0), -+ _byte_dump_string(s0, curlen, 0), - _byte_dump_string(tmpbuf, e - tmpbuf, 0), - ((uv < 256) ? 2 : 4), /* Field width of 2 for - small code points */ --- -2.9.4 - diff --git a/SOURCES/perl-5.27.10-PATCH-perl-132167-Parse-error-in-regex_sets.patch b/SOURCES/perl-5.27.10-PATCH-perl-132167-Parse-error-in-regex_sets.patch deleted file mode 100644 index 893acd9..0000000 --- a/SOURCES/perl-5.27.10-PATCH-perl-132167-Parse-error-in-regex_sets.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 8121278aa8fe72e9e8aca8651c7f1d4fa204ac1d Mon Sep 17 00:00:00 2001 -From: Karl Williamson -Date: Mon, 2 Apr 2018 21:54:59 -0600 -Subject: [PATCH] PATCH: [perl #132167] Parse error in regex_sets -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -When popping the stack, the code inappropriately also subtracted one -from the result. This is probably left over from an earlier change in -the implementation. The top of the stack contained the correct value; -subtracting was a mistake. - -Signed-off-by: Petr Písař ---- - regcomp.c | 2 +- - t/re/regex_sets.t | 11 +++++++++++ - 2 files changed, 12 insertions(+), 1 deletion(-) - -diff --git a/regcomp.c b/regcomp.c -index 018d5646fc..39ab260efa 100644 ---- a/regcomp.c -+++ b/regcomp.c -@@ -15689,7 +15689,7 @@ redo_curchar: - * fence. Get rid of it */ - fence_ptr = av_pop(fence_stack); - assert(fence_ptr); -- fence = SvIV(fence_ptr) - 1; -+ fence = SvIV(fence_ptr); - SvREFCNT_dec_NN(fence_ptr); - fence_ptr = NULL; - -diff --git a/t/re/regex_sets.t b/t/re/regex_sets.t -index e9644bd4e6..e70df81254 100644 ---- a/t/re/regex_sets.t -+++ b/t/re/regex_sets.t -@@ -204,6 +204,17 @@ for my $char ("٠", "٥", "٩") { - like("a", qr/$pat/, "/$pat/ compiles and matches 'a'"); - } - -+{ # [perl #132167] -+ fresh_perl_is('no warnings "experimental::regex_sets"; -+ print "c" =~ qr/(?[ ( \p{Uppercase} ) + (\p{Lowercase} - ([a] + [b])) ])/;', -+ 1, {}, -+ 'qr/(?[ ( \p{Uppercase} ) + (\p{Lowercase} - ([a] + [b])) ]) compiles and properly matches'); -+ fresh_perl_is('no warnings "experimental::regex_sets"; -+ print "b" =~ qr/(?[ ( \p{Uppercase} ) + (\p{Lowercase} - ([a] + [b])) ])/;', -+ "", {}, -+ 'qr/(?[ ( \p{Uppercase} ) + (\p{Lowercase} - ([a] + [b])) ]) compiles and properly matches'); -+} -+ - done_testing(); - - 1; --- -2.14.3 - diff --git a/SOURCES/perl-5.27.10-PATCH-perl-133074-5.26.1-some-coverity-fixes.patch b/SOURCES/perl-5.27.10-PATCH-perl-133074-5.26.1-some-coverity-fixes.patch deleted file mode 100644 index bcdd357..0000000 --- a/SOURCES/perl-5.27.10-PATCH-perl-133074-5.26.1-some-coverity-fixes.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 62e6b70574842d7f2c547d33c85c50228522f685 Mon Sep 17 00:00:00 2001 -From: Marc-Philip -Date: Sun, 8 Apr 2018 12:15:29 -0600 -Subject: [PATCH] PATCH: [perl #133074] 5.26.1: some coverity fixes -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -we have some coverity code scans here. They have found this -uninilialized variable in pp.c and the integer overrun in toke.c. -Though it might be possible that these are false positives (no -reasonable control path gets there), it's good to mute the scan here to -see the real problems easier. - -Signed-off-by: Petr Písař ---- - pp.c | 1 + - toke.c | 8 ++++---- - 2 files changed, 5 insertions(+), 4 deletions(-) - -diff --git a/pp.c b/pp.c -index 5524131658..d777ae4309 100644 ---- a/pp.c -+++ b/pp.c -@@ -3727,6 +3727,7 @@ PP(pp_ucfirst) - if (! slen) { /* If empty */ - need = 1; /* still need a trailing NUL */ - ulen = 0; -+ *tmpbuf = '\0'; - } - else if (DO_UTF8(source)) { /* Is the source utf8? */ - doing_utf8 = TRUE; -diff --git a/toke.c b/toke.c -index 3405dc6c89..fc87252bb1 100644 ---- a/toke.c -+++ b/toke.c -@@ -9052,7 +9052,7 @@ S_pending_ident(pTHX) - HEK * const stashname = HvNAME_HEK(stash); - SV * const sym = newSVhek(stashname); - sv_catpvs(sym, "::"); -- sv_catpvn_flags(sym, PL_tokenbuf+1, tokenbuf_len - 1, (UTF ? SV_CATUTF8 : SV_CATBYTES )); -+ sv_catpvn_flags(sym, PL_tokenbuf+1, tokenbuf_len > 0 ? tokenbuf_len - 1 : 0, (UTF ? SV_CATUTF8 : SV_CATBYTES )); - pl_yylval.opval = newSVOP(OP_CONST, 0, sym); - pl_yylval.opval->op_private = OPpCONST_ENTERED; - if (pit != '&') -@@ -9080,7 +9080,7 @@ S_pending_ident(pTHX) - && PL_lex_state != LEX_NORMAL - && !PL_lex_brackets) - { -- GV *const gv = gv_fetchpvn_flags(PL_tokenbuf + 1, tokenbuf_len - 1, -+ GV *const gv = gv_fetchpvn_flags(PL_tokenbuf + 1, tokenbuf_len > 0 ? tokenbuf_len - 1 : 0, - ( UTF ? SVf_UTF8 : 0 ) | GV_ADDMG, - SVt_PVAV); - if ((!gv || ((PL_tokenbuf[0] == '@') ? !GvAV(gv) : !GvHV(gv))) -@@ -9097,11 +9097,11 @@ S_pending_ident(pTHX) - /* build ops for a bareword */ - pl_yylval.opval = newSVOP(OP_CONST, 0, - newSVpvn_flags(PL_tokenbuf + 1, -- tokenbuf_len - 1, -+ tokenbuf_len > 0 ? tokenbuf_len - 1 : 0, - UTF ? SVf_UTF8 : 0 )); - pl_yylval.opval->op_private = OPpCONST_ENTERED; - if (pit != '&') -- gv_fetchpvn_flags(PL_tokenbuf+1, tokenbuf_len - 1, -+ gv_fetchpvn_flags(PL_tokenbuf+1, tokenbuf_len > 0 ? tokenbuf_len - 1 : 0, - (PL_in_eval ? GV_ADDMULTI : GV_ADD) - | ( UTF ? SVf_UTF8 : 0 ), - ((PL_tokenbuf[0] == '$') ? SVt_PV --- -2.14.3 - diff --git a/SOURCES/perl-5.27.2-Avoid-compiler-warnings-due-to-mismatched-types-in-p.patch b/SOURCES/perl-5.27.2-Avoid-compiler-warnings-due-to-mismatched-types-in-p.patch deleted file mode 100644 index d5593b6..0000000 --- a/SOURCES/perl-5.27.2-Avoid-compiler-warnings-due-to-mismatched-types-in-p.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 357c35e6f18e65f372e7a1b22ee39a3c7c9e5810 Mon Sep 17 00:00:00 2001 -From: Robin Barker -Date: Mon, 17 Dec 2012 18:20:14 +0100 -Subject: [PATCH] Avoid compiler warnings due to mismatched types in *printf - format strings. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -gcc (and probably others) was warning about a mismatch for between `int` -(implied by the format %d) and the actual type passed, `line_t`. Avoid this -by explicitly casting to UV, and using UVuf. - -CPAN #63832 - -Signed-off-by: Petr Písař ---- - cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm b/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm -index 545d322..c7e6d05 100644 ---- a/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm -+++ b/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm -@@ -629,13 +629,14 @@ EOA - if ((C_ARRAY_LENGTH(values_for_notfound) > 1) - ? hv_exists_ent(${c_subname}_missing, sv, 0) : 0) { - sv = newSVpvf("Your vendor has not defined $package_sprintf_safe macro %" SVf -- ", used at %" COP_FILE_F " line %d\\n", sv, -- COP_FILE(cop), CopLINE(cop)); -+ ", used at %" COP_FILE_F " line %" UVuf "\\n", -+ sv, COP_FILE(cop), (UV)CopLINE(cop)); - } else - #endif - { - sv = newSVpvf("%"SVf" is not a valid $package_sprintf_safe macro at %" -- COP_FILE_F " line %d\\n", sv, COP_FILE(cop), CopLINE(cop)); -+ COP_FILE_F " line %" UVuf "\\n", -+ sv, COP_FILE(cop), (UV)CopLINE(cop)); - } - croak_sv(sv_2mortal(sv)); - EOC --- -2.9.4 - diff --git a/SOURCES/perl-5.27.2-EU-Constant-avoid-uninit-warning.patch b/SOURCES/perl-5.27.2-EU-Constant-avoid-uninit-warning.patch deleted file mode 100644 index e330518..0000000 --- a/SOURCES/perl-5.27.2-EU-Constant-avoid-uninit-warning.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 389f3ef2fdfbba2c2816e7334a69a5f540c0a33d Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Mon, 15 Dec 2014 16:14:13 +0000 -Subject: [PATCH] EU::Constant: avoid 'uninit' warning -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The code generated by ExtUtils::Constant can look something like: - -static int -constant (..., IV *iv_return) { - switch (...) { - case ...: - *iv_return = ...; - return PERL_constant_ISIV; - ... - } -} - -{ - int type; - IV iv; - type = constant(..., &iv); - switch (type) { - case PERL_constant_ISIV: - PUSHi(iv); - ... - } -} - -and the compiler isn't clever enough to realise that the value of iv -is only used in the code path where its been set. - -So initialise it to zero to shut gcc up. Ditto nv and pv. - -Signed-off-by: Petr Písař ---- - cpan/ExtUtils-Constant/lib/ExtUtils/Constant.pm | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/cpan/ExtUtils-Constant/lib/ExtUtils/Constant.pm b/cpan/ExtUtils-Constant/lib/ExtUtils/Constant.pm -index 0dc9258..cf0e1ca 100644 ---- a/cpan/ExtUtils-Constant/lib/ExtUtils/Constant.pm -+++ b/cpan/ExtUtils-Constant/lib/ExtUtils/Constant.pm -@@ -198,17 +198,17 @@ $XS_subname(sv) - EOT - - if ($params->{IV}) { -- $xs .= " IV iv;\n"; -+ $xs .= " IV iv = 0; /* avoid uninit var warning */\n"; - } else { - $xs .= " /* IV\t\tiv;\tUncomment this if you need to return IVs */\n"; - } - if ($params->{NV}) { -- $xs .= " NV nv;\n"; -+ $xs .= " NV nv = 0.0; /* avoid uninit var warning */\n"; - } else { - $xs .= " /* NV\t\tnv;\tUncomment this if you need to return NVs */\n"; - } - if ($params->{PV}) { -- $xs .= " const char *pv;\n"; -+ $xs .= " const char *pv = NULL; /* avoid uninit var warning */\n"; - } else { - $xs .= - " /* const char\t*pv;\tUncomment this if you need to return PVs */\n"; --- -2.9.4 - diff --git a/SOURCES/perl-5.27.3-avoid-the-address-of-.-will-always-evaluate-as-.-war.patch b/SOURCES/perl-5.27.3-avoid-the-address-of-.-will-always-evaluate-as-.-war.patch deleted file mode 100644 index 7f2a9f4..0000000 --- a/SOURCES/perl-5.27.3-avoid-the-address-of-.-will-always-evaluate-as-.-war.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 45908e4d120d33a558a8b052036c56cd0c90b898 Mon Sep 17 00:00:00 2001 -From: Yves Orton -Date: Wed, 13 Sep 2017 13:30:25 +0200 -Subject: [PATCH] avoid 'the address of ... will always evaluate as ...' warns - in mem macros -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -In f14cf363205 we added asserts to our memory macros (Copy(), Zero() etc) -to ensure that the target is non-null. These asserts throw warnings like - - perl.c: In function ‘Perl_eval_sv’: - perl.c:2976:264: warning: the address of ‘myop’ will always evaluate - as ‘true’ [-Waddress] - Zero(&myop, 1, UNOP); - -which is annoying. This patch changes how these asserts are coded so -we avoid the warning. Thanks to Zefram for the fix. - -Signed-off-by: Petr Písař ---- - handy.h | 17 ++++++++++------- - 1 file changed, 10 insertions(+), 7 deletions(-) - -diff --git a/handy.h b/handy.h -index 31afaae65e..85e8f70721 100644 ---- a/handy.h -+++ b/handy.h -@@ -2409,17 +2409,20 @@ void Perl_mem_log_del_sv(const SV *sv, const char *filename, const int linenumbe - #define Safefree(d) safefree(MEM_LOG_FREE((Malloc_t)(d))) - #endif - --#define Move(s,d,n,t) (MEM_WRAP_CHECK_(n,t) assert(d), assert(s), (void)memmove((char*)(d),(const char*)(s), (n) * sizeof(t))) --#define Copy(s,d,n,t) (MEM_WRAP_CHECK_(n,t) assert(d), assert(s), (void)memcpy((char*)(d),(const char*)(s), (n) * sizeof(t))) --#define Zero(d,n,t) (MEM_WRAP_CHECK_(n,t) assert(d), (void)memzero((char*)(d), (n) * sizeof(t))) -+#define perl_assert_ptr(p) assert( ((void*)(p)) != 0 ) - --#define MoveD(s,d,n,t) (MEM_WRAP_CHECK_(n,t) assert(d), assert(s), memmove((char*)(d),(const char*)(s), (n) * sizeof(t))) --#define CopyD(s,d,n,t) (MEM_WRAP_CHECK_(n,t) assert(d), assert(s), memcpy((char*)(d),(const char*)(s), (n) * sizeof(t))) -+ -+#define Move(s,d,n,t) (MEM_WRAP_CHECK_(n,t) perl_assert_ptr(d), perl_assert_ptr(s), (void)memmove((char*)(d),(const char*)(s), (n) * sizeof(t))) -+#define Copy(s,d,n,t) (MEM_WRAP_CHECK_(n,t) perl_assert_ptr(d), perl_assert_ptr(s), (void)memcpy((char*)(d),(const char*)(s), (n) * sizeof(t))) -+#define Zero(d,n,t) (MEM_WRAP_CHECK_(n,t) perl_assert_ptr(d), (void)memzero((char*)(d), (n) * sizeof(t))) -+ -+#define MoveD(s,d,n,t) (MEM_WRAP_CHECK_(n,t) perl_assert_ptr(d), perl_assert_ptr(s), memmove((char*)(d),(const char*)(s), (n) * sizeof(t))) -+#define CopyD(s,d,n,t) (MEM_WRAP_CHECK_(n,t) perl_assert_ptr(d), perl_assert_ptr(s), memcpy((char*)(d),(const char*)(s), (n) * sizeof(t))) - #ifdef HAS_MEMSET --#define ZeroD(d,n,t) (MEM_WRAP_CHECK_(n,t) assert(d), memzero((char*)(d), (n) * sizeof(t))) -+#define ZeroD(d,n,t) (MEM_WRAP_CHECK_(n,t) perl_assert_ptr(d), memzero((char*)(d), (n) * sizeof(t))) - #else - /* Using bzero(), which returns void. */ --#define ZeroD(d,n,t) (MEM_WRAP_CHECK_(n,t) assert(d), memzero((char*)(d), (n) * sizeof(t)),d) -+#define ZeroD(d,n,t) (MEM_WRAP_CHECK_(n,t) perl_assert_ptr(d), memzero((char*)(d), (n) * sizeof(t)),d) - #endif - - #define PoisonWith(d,n,t,b) (MEM_WRAP_CHECK_(n,t) (void)memset((char*)(d), (U8)(b), (n) * sizeof(t))) --- -2.13.6 - diff --git a/SOURCES/perl-5.27.3-perl-132008-try-to-prevent-the-similar-mistakes-in-t.patch b/SOURCES/perl-5.27.3-perl-132008-try-to-prevent-the-similar-mistakes-in-t.patch deleted file mode 100644 index f999dfa..0000000 --- a/SOURCES/perl-5.27.3-perl-132008-try-to-prevent-the-similar-mistakes-in-t.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 4369267db9ca4982c1a9bd1ef680bc4350decc3a Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Mon, 18 Sep 2017 15:07:21 +1000 -Subject: [PATCH] (perl #132008) try to prevent the similar mistakes in the - future -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Petr Písař ---- - dist/Term-ReadLine/lib/Term/ReadLine.pm | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/dist/Term-ReadLine/lib/Term/ReadLine.pm b/dist/Term-ReadLine/lib/Term/ReadLine.pm -index e00fb376cd..78c1ebf5b6 100644 ---- a/dist/Term-ReadLine/lib/Term/ReadLine.pm -+++ b/dist/Term-ReadLine/lib/Term/ReadLine.pm -@@ -75,6 +75,8 @@ history. Returns the old value. - returns an array with two strings that give most appropriate names for - files for input and output using conventions C<"E$in">, C<"Eout">. - -+The strings returned may not be useful for 3-argument open(). -+ - =item Attribs - - returns a reference to a hash which describes internal configuration --- -2.13.6 - diff --git a/SOURCES/perl-5.27.5-Avoid-a-segfault-when-untying-an-object.patch b/SOURCES/perl-5.27.5-Avoid-a-segfault-when-untying-an-object.patch deleted file mode 100644 index ba8cdfa..0000000 --- a/SOURCES/perl-5.27.5-Avoid-a-segfault-when-untying-an-object.patch +++ /dev/null @@ -1,32 +0,0 @@ -From e7e69c85c7e8e0cb75b831e606ad4f26f18b11ff Mon Sep 17 00:00:00 2001 -From: Nicolas R -Date: Mon, 31 Oct 2016 11:53:17 -0600 -Subject: [PATCH] Avoid a segfault when untying an object -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Check if the tied object has a stash set -before calling UNTIE method. - -Signed-off-by: Petr Písař ---- - pp_sys.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/pp_sys.c b/pp_sys.c -index 672e7de08e..6d4dd86b7f 100644 ---- a/pp_sys.c -+++ b/pp_sys.c -@@ -1017,7 +1017,7 @@ PP(pp_untie) - - if ((mg = SvTIED_mg(sv, how))) { - SV * const obj = SvRV(SvTIED_obj(sv, mg)); -- if (obj) { -+ if (obj && SvSTASH(obj)) { - GV * const gv = gv_fetchmethod_autoload(SvSTASH(obj), "UNTIE", FALSE); - CV *cv; - if (gv && isGV(gv) && (cv = GvCV(gv))) { --- -2.13.6 - diff --git a/SOURCES/perl-5.27.5-Carp-Don-t-choke-on-ISA-constant.patch b/SOURCES/perl-5.27.5-Carp-Don-t-choke-on-ISA-constant.patch deleted file mode 100644 index 399c245..0000000 --- a/SOURCES/perl-5.27.5-Carp-Don-t-choke-on-ISA-constant.patch +++ /dev/null @@ -1,73 +0,0 @@ -From b3937e202aaf10c2f8996e2993c880bb38a7a268 Mon Sep 17 00:00:00 2001 -From: Father Chrysostomos -Date: Wed, 1 Nov 2017 13:11:27 -0700 -Subject: [PATCH] =?UTF-8?q?Carp:=20Don=E2=80=99t=20choke=20on=20ISA=20cons?= - =?UTF-8?q?tant?= -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This broke some time between 1.29 (perl 5.18) and 1.3301 (perl 5.20): - -$ perl5.20.1 -e 'package Foo { use constant ISA => 42; Bar::f() } package Bar { use Carp; sub f { carp "tun syn" } }' -Not a GLOB reference at /usr/local/lib/perl5/5.20.1/Carp.pm line 560. - -and still persisted in bleadperl (Carp 1.43) until this commit. - -The code that goes poking through the symbol table needs to take into -account that not all stash elements are globs. - -Signed-off-by: Petr Písař ---- - dist/Carp/lib/Carp.pm | 3 ++- - dist/Carp/t/Carp.t | 13 ++++++++++++- - 2 files changed, 14 insertions(+), 2 deletions(-) - -diff --git a/dist/Carp/lib/Carp.pm b/dist/Carp/lib/Carp.pm -index 6127b26f54..ef11a0c046 100644 ---- a/dist/Carp/lib/Carp.pm -+++ b/dist/Carp/lib/Carp.pm -@@ -593,7 +593,8 @@ sub trusts_directly { - for my $var (qw/ CARP_NOT ISA /) { - # Don't try using the variable until we know it exists, - # to avoid polluting the caller's namespace. -- if ( $stash->{$var} && *{$stash->{$var}}{ARRAY} && @{$stash->{$var}} ) { -+ if ( $stash->{$var} && ref \$stash->{$var} eq 'GLOB' -+ && *{$stash->{$var}}{ARRAY} && @{$stash->{$var}} ) { - return @{$stash->{$var}} - } - } -diff --git a/dist/Carp/t/Carp.t b/dist/Carp/t/Carp.t -index 65daed7c6c..b1e399d143 100644 ---- a/dist/Carp/t/Carp.t -+++ b/dist/Carp/t/Carp.t -@@ -3,7 +3,7 @@ no warnings "once"; - use Config; - - use IPC::Open3 1.0103 qw(open3); --use Test::More tests => 67; -+use Test::More tests => 68; - - sub runperl { - my(%args) = @_; -@@ -488,6 +488,17 @@ SKIP: - ); - } - -+{ -+ package Mpar; -+ sub f { Carp::croak "tun syn" } -+ -+ package Phou; -+ $Phou::{ISA} = \42; -+ eval { Mpar::f }; -+} -+like $@, qr/tun syn/, 'Carp can handle non-glob ISA stash elems'; -+ -+ - # New tests go here - - # line 1 "XA" --- -2.13.6 - diff --git a/SOURCES/perl-5.27.5-fix-tainting-of-s-with-overloaded-replacement.patch b/SOURCES/perl-5.27.5-fix-tainting-of-s-with-overloaded-replacement.patch deleted file mode 100644 index 3b853ae..0000000 --- a/SOURCES/perl-5.27.5-fix-tainting-of-s-with-overloaded-replacement.patch +++ /dev/null @@ -1,593 +0,0 @@ -From 3f8a98327dfdb171bd6e447fec23721b0e74c7a6 Mon Sep 17 00:00:00 2001 -From: Zefram -Date: Sun, 19 Nov 2017 09:15:53 +0000 -Subject: [PATCH] fix tainting of s/// with overloaded replacement -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The substitution code was trying to track the taintedness of the -replacement string itself, but it didn't account for the replacement -being an untainted object with overloading that returns a tainted -stringification. It looked at the taintedness of the object value, not -realising that taint could arise during the string concatenation per se. -Change the taint checks to look at the actual TAINT_get flag after string -concatenation. This may falsely ascribe to the replacement taint that -actually came from somewhere else, but the end result is the same anyway: -there's no visible behaviour that distinguishes taint specifically from -the replacement. Also remove a related taint check that seems to be -not needed at all. Fixes [perl #115266]. - -Petr Písař: Ported to 5.26.1. - -Signed-off-by: Petr Písař ---- - pp_ctl.c | 4 +- - pp_hot.c | 4 +- - t/op/taint.t | 428 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- - 3 files changed, 422 insertions(+), 14 deletions(-) - -diff --git a/pp_ctl.c b/pp_ctl.c -index f136f91..15c193b 100644 ---- a/pp_ctl.c -+++ b/pp_ctl.c -@@ -219,9 +219,9 @@ PP(pp_substcont) - SvGETMAGIC(TOPs); /* possibly clear taint on $1 etc: #67962 */ - - /* See "how taint works" above pp_subst() */ -- if (SvTAINTED(TOPs)) -- cx->sb_rxtainted |= SUBST_TAINT_REPL; - sv_catsv_nomg(dstr, POPs); -+ if (UNLIKELY(TAINT_get)) -+ cx->sb_rxtainted |= SUBST_TAINT_REPL; - if (CxONCE(cx) || s < orig || - !CALLREGEXEC(rx, s, cx->sb_strend, orig, - (s == m), cx->sb_targ, NULL, -diff --git a/pp_hot.c b/pp_hot.c -index f445fd9..5899413 100644 ---- a/pp_hot.c -+++ b/pp_hot.c -@@ -3250,7 +3250,7 @@ PP(pp_subst) - doutf8 = DO_UTF8(dstr); - } - -- if (SvTAINTED(dstr)) -+ if (UNLIKELY(TAINT_get)) - rxtainted |= SUBST_TAINT_REPL; - } - else { -@@ -3421,8 +3421,6 @@ PP(pp_subst) - } - else { - sv_catsv(dstr, repl); -- if (UNLIKELY(SvTAINTED(repl))) -- rxtainted |= SUBST_TAINT_REPL; - } - if (once) - break; -diff --git a/t/op/taint.t b/t/op/taint.t -index c13eaf6..be5eaa8 100644 ---- a/t/op/taint.t -+++ b/t/op/taint.t -@@ -17,7 +17,7 @@ BEGIN { - use strict; - use Config; - --plan tests => 828; -+plan tests => 1040; - - $| = 1; - -@@ -83,6 +83,8 @@ EndOfCleanup - # Sources of taint: - # The empty tainted value, for tainting strings - my $TAINT = substr($^X, 0, 0); -+# A tainted non-empty string -+my $TAINTXYZ = "xyz".$TAINT; - # A tainted zero, useful for tainting numbers - my $TAINT0; - { -@@ -565,7 +567,7 @@ my $TEST = 'TEST'; - is($one, 'abcd', "$desc: \$1 value"); - } - -- $desc = "substitution with replacement tainted"; -+ $desc = "substitution with partial replacement tainted"; - - $s = 'abcd'; - $res = $s =~ s/(.+)/xyz$TAINT/; -@@ -577,7 +579,7 @@ my $TEST = 'TEST'; - is($res, 1, "$desc: res value"); - is($one, 'abcd', "$desc: \$1 value"); - -- $desc = "substitution /g with replacement tainted"; -+ $desc = "substitution /g with partial replacement tainted"; - - $s = 'abcd'; - $res = $s =~ s/(.)/x$TAINT/g; -@@ -589,7 +591,7 @@ my $TEST = 'TEST'; - is($res, 4, "$desc: res value"); - is($one, 'd', "$desc: \$1 value"); - -- $desc = "substitution /ge with replacement tainted"; -+ $desc = "substitution /ge with partial replacement tainted"; - - $s = 'abc'; - { -@@ -618,7 +620,7 @@ my $TEST = 'TEST'; - is($res, 3, "$desc: res value"); - is($one, 'c', "$desc: \$1 value"); - -- $desc = "substitution /r with replacement tainted"; -+ $desc = "substitution /r with partial replacement tainted"; - - $s = 'abcd'; - $res = $s =~ s/(.+)/xyz$TAINT/r; -@@ -630,6 +632,71 @@ my $TEST = 'TEST'; - is($res, 'xyz', "$desc: res value"); - is($one, 'abcd', "$desc: \$1 value"); - -+ $desc = "substitution with whole replacement tainted"; -+ -+ $s = 'abcd'; -+ $res = $s =~ s/(.+)/$TAINTXYZ/; -+ $one = $1; -+ is_tainted($s, "$desc: s tainted"); -+ isnt_tainted($res, "$desc: res not tainted"); -+ isnt_tainted($one, "$desc: \$1 not tainted"); -+ is($s, 'xyz', "$desc: s value"); -+ is($res, 1, "$desc: res value"); -+ is($one, 'abcd', "$desc: \$1 value"); -+ -+ $desc = "substitution /g with whole replacement tainted"; -+ -+ $s = 'abcd'; -+ $res = $s =~ s/(.)/$TAINTXYZ/g; -+ $one = $1; -+ is_tainted($s, "$desc: s tainted"); -+ isnt_tainted($res, "$desc: res not tainted"); -+ isnt_tainted($one, "$desc: \$1 not tainted"); -+ is($s, 'xyz' x 4, "$desc: s value"); -+ is($res, 4, "$desc: res value"); -+ is($one, 'd', "$desc: \$1 value"); -+ -+ $desc = "substitution /ge with whole replacement tainted"; -+ -+ $s = 'abc'; -+ { -+ my $i = 0; -+ my $j; -+ $res = $s =~ s{(.)}{ -+ $j = $i; # make sure code not tainted -+ $one = $1; -+ isnt_tainted($j, "$desc: code not tainted within /e"); -+ $i++; -+ if ($i == 1) { -+ isnt_tainted($s, "$desc: s not tainted loop 1"); -+ } -+ else { -+ is_tainted($s, "$desc: s tainted loop $i"); -+ } -+ isnt_tainted($one, "$desc: \$1 not tainted within /e"); -+ $TAINTXYZ; -+ }ge; -+ $one = $1; -+ } -+ is_tainted($s, "$desc: s tainted"); -+ isnt_tainted($res, "$desc: res tainted"); -+ isnt_tainted($one, "$desc: \$1 not tainted"); -+ is($s, 'xyz' x 3, "$desc: s value"); -+ is($res, 3, "$desc: res value"); -+ is($one, 'c', "$desc: \$1 value"); -+ -+ $desc = "substitution /r with whole replacement tainted"; -+ -+ $s = 'abcd'; -+ $res = $s =~ s/(.+)/$TAINTXYZ/r; -+ $one = $1; -+ isnt_tainted($s, "$desc: s not tainted"); -+ is_tainted($res, "$desc: res tainted"); -+ isnt_tainted($one, "$desc: \$1 not tainted"); -+ is($s, 'abcd', "$desc: s value"); -+ is($res, 'xyz', "$desc: res value"); -+ is($one, 'abcd', "$desc: \$1 value"); -+ - { - # now do them all again with "use re 'taint" - -@@ -955,7 +1022,7 @@ my $TEST = 'TEST'; - is($one, 'abcd', "$desc: \$1 value"); - } - -- $desc = "use re 'taint': substitution with replacement tainted"; -+ $desc = "use re 'taint': substitution with partial replacement tainted"; - - $s = 'abcd'; - $res = $s =~ s/(.+)/xyz$TAINT/; -@@ -967,7 +1034,7 @@ my $TEST = 'TEST'; - is($res, 1, "$desc: res value"); - is($one, 'abcd', "$desc: \$1 value"); - -- $desc = "use re 'taint': substitution /g with replacement tainted"; -+ $desc = "use re 'taint': substitution /g with partial replacement tainted"; - - $s = 'abcd'; - $res = $s =~ s/(.)/x$TAINT/g; -@@ -979,7 +1046,7 @@ my $TEST = 'TEST'; - is($res, 4, "$desc: res value"); - is($one, 'd', "$desc: \$1 value"); - -- $desc = "use re 'taint': substitution /ge with replacement tainted"; -+ $desc = "use re 'taint': substitution /ge with partial replacement tainted"; - - $s = 'abc'; - { -@@ -1008,7 +1075,7 @@ my $TEST = 'TEST'; - is($res, 3, "$desc: res value"); - is($one, 'c', "$desc: \$1 value"); - -- $desc = "use re 'taint': substitution /r with replacement tainted"; -+ $desc = "use re 'taint': substitution /r with partial replacement tainted"; - - $s = 'abcd'; - $res = $s =~ s/(.+)/xyz$TAINT/r; -@@ -1020,6 +1087,71 @@ my $TEST = 'TEST'; - is($res, 'xyz', "$desc: res value"); - is($one, 'abcd', "$desc: \$1 value"); - -+ $desc = "use re 'taint': substitution with whole replacement tainted"; -+ -+ $s = 'abcd'; -+ $res = $s =~ s/(.+)/$TAINTXYZ/; -+ $one = $1; -+ is_tainted($s, "$desc: s tainted"); -+ isnt_tainted($res, "$desc: res not tainted"); -+ isnt_tainted($one, "$desc: \$1 not tainted"); -+ is($s, 'xyz', "$desc: s value"); -+ is($res, 1, "$desc: res value"); -+ is($one, 'abcd', "$desc: \$1 value"); -+ -+ $desc = "use re 'taint': substitution /g with whole replacement tainted"; -+ -+ $s = 'abcd'; -+ $res = $s =~ s/(.)/$TAINTXYZ/g; -+ $one = $1; -+ is_tainted($s, "$desc: s tainted"); -+ isnt_tainted($res, "$desc: res not tainted"); -+ isnt_tainted($one, "$desc: \$1 not tainted"); -+ is($s, 'xyz' x 4, "$desc: s value"); -+ is($res, 4, "$desc: res value"); -+ is($one, 'd', "$desc: \$1 value"); -+ -+ $desc = "use re 'taint': substitution /ge with whole replacement tainted"; -+ -+ $s = 'abc'; -+ { -+ my $i = 0; -+ my $j; -+ $res = $s =~ s{(.)}{ -+ $j = $i; # make sure code not tainted -+ $one = $1; -+ isnt_tainted($j, "$desc: code not tainted within /e"); -+ $i++; -+ if ($i == 1) { -+ isnt_tainted($s, "$desc: s not tainted loop 1"); -+ } -+ else { -+ is_tainted($s, "$desc: s tainted loop $i"); -+ } -+ isnt_tainted($one, "$desc: \$1 not tainted"); -+ $TAINTXYZ; -+ }ge; -+ $one = $1; -+ } -+ is_tainted($s, "$desc: s tainted"); -+ isnt_tainted($res, "$desc: res tainted"); -+ isnt_tainted($one, "$desc: \$1 not tainted"); -+ is($s, 'xyz' x 3, "$desc: s value"); -+ is($res, 3, "$desc: res value"); -+ is($one, 'c', "$desc: \$1 value"); -+ -+ $desc = "use re 'taint': substitution /r with whole replacement tainted"; -+ -+ $s = 'abcd'; -+ $res = $s =~ s/(.+)/$TAINTXYZ/r; -+ $one = $1; -+ isnt_tainted($s, "$desc: s not tainted"); -+ is_tainted($res, "$desc: res tainted"); -+ isnt_tainted($one, "$desc: \$1 not tainted"); -+ is($s, 'abcd', "$desc: s value"); -+ is($res, 'xyz', "$desc: res value"); -+ is($one, 'abcd', "$desc: \$1 value"); -+ - # [perl #121854] match taintedness became sticky - # when one match has a taintess result, subseqent matches - # using the same pattern shouldn't necessarily be tainted -@@ -2448,6 +2580,284 @@ is eval { eval $::x.1 }, 1, 'reset does not taint undef'; - isnt_tainted $b, "list assign post tainted expression b"; - } - -+# taint passing through overloading -+package OvTaint { -+ sub new { bless({ t => $_[1] }, $_[0]) } -+ use overload '""' => sub { $_[0]->{t} ? "hi".$TAINT : "hello" }; -+} -+my $ovclean = OvTaint->new(0); -+my $ovtaint = OvTaint->new(1); -+isnt_tainted("$ovclean", "overload preserves cleanliness"); -+is_tainted("$ovtaint", "overload preserves taint"); -+ -+# substitutions with overloaded replacement -+{ -+ my ($desc, $s, $res, $one); -+ -+ $desc = "substitution with partial replacement overloaded and clean"; -+ $s = 'abcd'; -+ $res = $s =~ s/(.+)/xyz$ovclean/; -+ $one = $1; -+ isnt_tainted($s, "$desc: s not tainted"); -+ isnt_tainted($res, "$desc: res not tainted"); -+ isnt_tainted($one, "$desc: \$1 not tainted"); -+ is($s, 'xyzhello', "$desc: s value"); -+ is($res, 1, "$desc: res value"); -+ is($one, 'abcd', "$desc: \$1 value"); -+ -+ $desc = "substitution with partial replacement overloaded and tainted"; -+ $s = 'abcd'; -+ $res = $s =~ s/(.+)/xyz$ovtaint/; -+ $one = $1; -+ is_tainted($s, "$desc: s tainted"); -+ isnt_tainted($res, "$desc: res not tainted"); -+ isnt_tainted($one, "$desc: \$1 not tainted"); -+ is($s, 'xyzhi', "$desc: s value"); -+ is($res, 1, "$desc: res value"); -+ is($one, 'abcd', "$desc: \$1 value"); -+ -+ $desc = "substitution with whole replacement overloaded and clean"; -+ $s = 'abcd'; -+ $res = $s =~ s/(.+)/$ovclean/; -+ $one = $1; -+ isnt_tainted($s, "$desc: s not tainted"); -+ isnt_tainted($res, "$desc: res not tainted"); -+ isnt_tainted($one, "$desc: \$1 not tainted"); -+ is($s, 'hello', "$desc: s value"); -+ is($res, 1, "$desc: res value"); -+ is($one, 'abcd', "$desc: \$1 value"); -+ -+ $desc = "substitution with whole replacement overloaded and tainted"; -+ $s = 'abcd'; -+ $res = $s =~ s/(.+)/$ovtaint/; -+ $one = $1; -+ is_tainted($s, "$desc: s tainted"); -+ isnt_tainted($res, "$desc: res not tainted"); -+ isnt_tainted($one, "$desc: \$1 not tainted"); -+ is($s, 'hi', "$desc: s value"); -+ is($res, 1, "$desc: res value"); -+ is($one, 'abcd', "$desc: \$1 value"); -+ -+ $desc = "substitution /e with partial replacement overloaded and clean"; -+ $s = 'abcd'; -+ $res = $s =~ s/(.+)/"xyz".$ovclean/e; -+ $one = $1; -+ isnt_tainted($s, "$desc: s not tainted"); -+ isnt_tainted($res, "$desc: res not tainted"); -+ isnt_tainted($one, "$desc: \$1 not tainted"); -+ is($s, 'xyzhello', "$desc: s value"); -+ is($res, 1, "$desc: res value"); -+ is($one, 'abcd', "$desc: \$1 value"); -+ -+ $desc = "substitution /e with partial replacement overloaded and tainted"; -+ $s = 'abcd'; -+ $res = $s =~ s/(.+)/"xyz".$ovtaint/e; -+ $one = $1; -+ is_tainted($s, "$desc: s tainted"); -+ isnt_tainted($res, "$desc: res not tainted"); -+ isnt_tainted($one, "$desc: \$1 not tainted"); -+ is($s, 'xyzhi', "$desc: s value"); -+ is($res, 1, "$desc: res value"); -+ is($one, 'abcd', "$desc: \$1 value"); -+ -+ $desc = "substitution /e with whole replacement overloaded and clean"; -+ $s = 'abcd'; -+ $res = $s =~ s/(.+)/$ovclean/e; -+ $one = $1; -+ isnt_tainted($s, "$desc: s not tainted"); -+ isnt_tainted($res, "$desc: res not tainted"); -+ isnt_tainted($one, "$desc: \$1 not tainted"); -+ is($s, 'hello', "$desc: s value"); -+ is($res, 1, "$desc: res value"); -+ is($one, 'abcd', "$desc: \$1 value"); -+ -+ $desc = "substitution /e with whole replacement overloaded and tainted"; -+ $s = 'abcd'; -+ $res = $s =~ s/(.+)/$ovtaint/e; -+ $one = $1; -+ is_tainted($s, "$desc: s tainted"); -+ isnt_tainted($res, "$desc: res not tainted"); -+ isnt_tainted($one, "$desc: \$1 not tainted"); -+ is($s, 'hi', "$desc: s value"); -+ is($res, 1, "$desc: res value"); -+ is($one, 'abcd', "$desc: \$1 value"); -+ -+ $desc = "substitution /e with extra code and partial replacement overloaded and clean"; -+ $s = 'abcd'; -+ $res = $s =~ s/(.+)/(my $z++), "xyz".$ovclean/e; -+ $one = $1; -+ isnt_tainted($s, "$desc: s not tainted"); -+ isnt_tainted($res, "$desc: res not tainted"); -+ isnt_tainted($one, "$desc: \$1 not tainted"); -+ is($s, 'xyzhello', "$desc: s value"); -+ is($res, 1, "$desc: res value"); -+ is($one, 'abcd', "$desc: \$1 value"); -+ -+ $desc = "substitution /e with extra code and partial replacement overloaded and tainted"; -+ $s = 'abcd'; -+ $res = $s =~ s/(.+)/(my $z++), "xyz".$ovtaint/e; -+ $one = $1; -+ is_tainted($s, "$desc: s tainted"); -+ isnt_tainted($res, "$desc: res not tainted"); -+ isnt_tainted($one, "$desc: \$1 not tainted"); -+ is($s, 'xyzhi', "$desc: s value"); -+ is($res, 1, "$desc: res value"); -+ is($one, 'abcd', "$desc: \$1 value"); -+ -+ $desc = "substitution /e with extra code and whole replacement overloaded and clean"; -+ $s = 'abcd'; -+ $res = $s =~ s/(.+)/(my $z++), $ovclean/e; -+ $one = $1; -+ isnt_tainted($s, "$desc: s not tainted"); -+ isnt_tainted($res, "$desc: res not tainted"); -+ isnt_tainted($one, "$desc: \$1 not tainted"); -+ is($s, 'hello', "$desc: s value"); -+ is($res, 1, "$desc: res value"); -+ is($one, 'abcd', "$desc: \$1 value"); -+ -+ $desc = "substitution /e with extra code and whole replacement overloaded and tainted"; -+ $s = 'abcd'; -+ $res = $s =~ s/(.+)/(my $z++), $ovtaint/e; -+ $one = $1; -+ is_tainted($s, "$desc: s tainted"); -+ isnt_tainted($res, "$desc: res not tainted"); -+ isnt_tainted($one, "$desc: \$1 not tainted"); -+ is($s, 'hi', "$desc: s value"); -+ is($res, 1, "$desc: res value"); -+ is($one, 'abcd', "$desc: \$1 value"); -+ -+ $desc = "substitution /r with partial replacement overloaded and clean"; -+ $s = 'abcd'; -+ $res = $s =~ s/(.+)/xyz$ovclean/r; -+ $one = $1; -+ isnt_tainted($s, "$desc: s not tainted"); -+ isnt_tainted($res, "$desc: res not tainted"); -+ isnt_tainted($one, "$desc: \$1 not tainted"); -+ is($s, 'abcd', "$desc: s value"); -+ is($res, 'xyzhello', "$desc: res value"); -+ is($one, 'abcd', "$desc: \$1 value"); -+ -+ $desc = "substitution /r with partial replacement overloaded and tainted"; -+ $s = 'abcd'; -+ $res = $s =~ s/(.+)/xyz$ovtaint/r; -+ $one = $1; -+ isnt_tainted($s, "$desc: s not tainted"); -+ is_tainted($res, "$desc: res tainted"); -+ isnt_tainted($one, "$desc: \$1 not tainted"); -+ is($s, 'abcd', "$desc: s value"); -+ is($res, 'xyzhi', "$desc: res value"); -+ is($one, 'abcd', "$desc: \$1 value"); -+ -+ $desc = "substitution /r with whole replacement overloaded and clean"; -+ $s = 'abcd'; -+ $res = $s =~ s/(.+)/$ovclean/r; -+ $one = $1; -+ isnt_tainted($s, "$desc: s not tainted"); -+ isnt_tainted($res, "$desc: res not tainted"); -+ isnt_tainted($one, "$desc: \$1 not tainted"); -+ is($s, 'abcd', "$desc: s value"); -+ is($res, 'hello', "$desc: res value"); -+ is($one, 'abcd', "$desc: \$1 value"); -+ -+ $desc = "substitution /r with whole replacement overloaded and tainted"; -+ $s = 'abcd'; -+ $res = $s =~ s/(.+)/$ovtaint/r; -+ $one = $1; -+ isnt_tainted($s, "$desc: s not tainted"); -+ is_tainted($res, "$desc: res tainted"); -+ isnt_tainted($one, "$desc: \$1 not tainted"); -+ is($s, 'abcd', "$desc: s value"); -+ is($res, 'hi', "$desc: res value"); -+ is($one, 'abcd', "$desc: \$1 value"); -+ -+ $desc = "substitution /g with partial replacement overloaded and clean"; -+ $s = 'abcd'; -+ $res = $s =~ s/(.)/x$ovclean/g; -+ $one = $1; -+ isnt_tainted($s, "$desc: s not tainted"); -+ isnt_tainted($res, "$desc: res not tainted"); -+ isnt_tainted($one, "$desc: \$1 not tainted"); -+ is($s, 'xhello' x 4, "$desc: s value"); -+ is($res, 4, "$desc: res value"); -+ is($one, 'd', "$desc: \$1 value"); -+ -+ $desc = "substitution /g with partial replacement overloaded and tainted"; -+ $s = 'abcd'; -+ $res = $s =~ s/(.)/x$ovtaint/g; -+ $one = $1; -+ is_tainted($s, "$desc: s tainted"); -+ isnt_tainted($res, "$desc: res not tainted"); -+ isnt_tainted($one, "$desc: \$1 not tainted"); -+ is($s, 'xhi' x 4, "$desc: s value"); -+ is($res, 4, "$desc: res value"); -+ is($one, 'd', "$desc: \$1 value"); -+ -+ $desc = "substitution /g with whole replacement overloaded and clean"; -+ $s = 'abcd'; -+ $res = $s =~ s/(.)/$ovclean/g; -+ $one = $1; -+ isnt_tainted($s, "$desc: s not tainted"); -+ isnt_tainted($res, "$desc: res not tainted"); -+ isnt_tainted($one, "$desc: \$1 not tainted"); -+ is($s, 'hello' x 4, "$desc: s value"); -+ is($res, 4, "$desc: res value"); -+ is($one, 'd', "$desc: \$1 value"); -+ -+ $desc = "substitution /g with whole replacement overloaded and tainted"; -+ $s = 'abcd'; -+ $res = $s =~ s/(.)/$ovtaint/g; -+ $one = $1; -+ is_tainted($s, "$desc: s tainted"); -+ isnt_tainted($res, "$desc: res not tainted"); -+ isnt_tainted($one, "$desc: \$1 not tainted"); -+ is($s, 'hi' x 4, "$desc: s value"); -+ is($res, 4, "$desc: res value"); -+ is($one, 'd', "$desc: \$1 value"); -+ -+ $desc = "substitution /ge with partial replacement overloaded and clean"; -+ $s = 'abcd'; -+ $res = $s =~ s/(.)/"x".$ovclean/ge; -+ $one = $1; -+ isnt_tainted($s, "$desc: s not tainted"); -+ isnt_tainted($res, "$desc: res not tainted"); -+ isnt_tainted($one, "$desc: \$1 not tainted"); -+ is($s, 'xhello' x 4, "$desc: s value"); -+ is($res, 4, "$desc: res value"); -+ is($one, 'd', "$desc: \$1 value"); -+ -+ $desc = "substitution /ge with partial replacement overloaded and tainted"; -+ $s = 'abcd'; -+ $res = $s =~ s/(.)/"x".$ovtaint/ge; -+ $one = $1; -+ is_tainted($s, "$desc: s tainted"); -+ isnt_tainted($res, "$desc: res not tainted"); -+ isnt_tainted($one, "$desc: \$1 not tainted"); -+ is($s, 'xhi' x 4, "$desc: s value"); -+ is($res, 4, "$desc: res value"); -+ is($one, 'd', "$desc: \$1 value"); -+ -+ $desc = "substitution /ge with whole replacement overloaded and clean"; -+ $s = 'abcd'; -+ $res = $s =~ s/(.)/$ovclean/ge; -+ $one = $1; -+ isnt_tainted($s, "$desc: s not tainted"); -+ isnt_tainted($res, "$desc: res not tainted"); -+ isnt_tainted($one, "$desc: \$1 not tainted"); -+ is($s, 'hello' x 4, "$desc: s value"); -+ is($res, 4, "$desc: res value"); -+ is($one, 'd', "$desc: \$1 value"); -+ -+ $desc = "substitution /ge with whole replacement overloaded and tainted"; -+ $s = 'abcd'; -+ $res = $s =~ s/(.)/$ovtaint/ge; -+ $one = $1; -+ is_tainted($s, "$desc: s tainted"); -+ isnt_tainted($res, "$desc: res not tainted"); -+ isnt_tainted($one, "$desc: \$1 not tainted"); -+ is($s, 'hi' x 4, "$desc: s value"); -+ is($res, 4, "$desc: res value"); -+ is($one, 'd', "$desc: \$1 value"); -+} - - # This may bomb out with the alarm signal so keep it last - SKIP: { --- -2.13.6 - diff --git a/SOURCES/perl-5.27.5-perl-132442-Fix-stack-with-do-my-sub-l-1.patch b/SOURCES/perl-5.27.5-perl-132442-Fix-stack-with-do-my-sub-l-1.patch deleted file mode 100644 index 9d33d9c..0000000 --- a/SOURCES/perl-5.27.5-perl-132442-Fix-stack-with-do-my-sub-l-1.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 695d6585affc8f13711f013329fb4810ab89d833 Mon Sep 17 00:00:00 2001 -From: Father Chrysostomos -Date: Tue, 14 Nov 2017 18:55:55 -0800 -Subject: [PATCH] [perl #132442] Fix stack with do {my sub l; 1} -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -A block in perl usually compiles to a leave op with an enter inside -it, followed by the statements: - - leave - enter - nextstate - ... expr ... - nextstate - ... expr ... - -If a block contains only one statement, and that statement is suffic- -iently innocuous, then the enter/leave pair to create the scope at run -time get skipped, and instead we have a simple scope op which is not -even executed: - - scope - ex-nextstate - ... expr ... - -The nextstate in this case also gets nulled. - -In the case of do { my sub l; 1 } we were getting a variation of the -latter, that looked like this: - - scope - introcv - clonecv - nextstate - ... expr ... - -The problem here is that nextstate resets the stack, even though a new -scope has not been pushed, so we end up with all existing stack items -from the *outer* scope getting clobbered. - -One can have fun with this and erase everything pushed on to the stack -so far in a given statement: - -$ ./perl -le 'print join "-", 1..10, do {my sub l; ","}, 11..20' -11,12,13,14,15,16,17,18,19,20 - -Here I replaced the first argument to join() from within the do{} -block, after having cleared the stack. - -Why was the op tree was getting muddled up like this? The ‘my sub’ -declaration does not immediately add any ops to the op tree; those ops -get added when the current scope finishing compiling, since those ops -must be inserted at the beginning of the block. - -I have not fully looked into the order that things happen, and why the -nextstate op does not get nulled; but it did not matter, because of -the simple fix: Treat lexical sub declarations as ‘not innocuous’ by -setting the HINT_BLOCK_SCOPE flag when a lexical sub is declared. -Thus, we end up with an enter/leave pair, which creates a -proper scope. - -Signed-off-by: Petr Písař ---- - op.c | 2 ++ - t/op/lexsub.t | 5 ++++- - 2 files changed, 6 insertions(+), 1 deletion(-) - -diff --git a/op.c b/op.c -index 8fa5aad876..c617ad2a00 100644 ---- a/op.c -+++ b/op.c -@@ -9243,6 +9243,8 @@ Perl_newMYSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block) - - PERL_ARGS_ASSERT_NEWMYSUB; - -+ PL_hints |= HINT_BLOCK_SCOPE; -+ - /* Find the pad slot for storing the new sub. - We cannot use PL_comppad, as it is the pad owned by the new sub. We - need to look in CvOUTSIDE and find the pad belonging to the enclos- -diff --git a/t/op/lexsub.t b/t/op/lexsub.t -index 3fa17acdda..f085cd97e8 100644 ---- a/t/op/lexsub.t -+++ b/t/op/lexsub.t -@@ -7,7 +7,7 @@ BEGIN { - *bar::is = *is; - *bar::like = *like; - } --plan 149; -+plan 150; - - # -------------------- our -------------------- # - -@@ -957,3 +957,6 @@ like runperl( - { - my sub h; sub{my $x; sub{h}} - } -+ -+is join("-", qw(aa bb), do { my sub lleexx; 123 }, qw(cc dd)), -+ "aa-bb-123-cc-dd", 'do { my sub...} in a list [perl #132442]'; --- -2.13.6 - diff --git a/SOURCES/perl-5.27.7-Reenable-numeric-first-argument-of-system-on-VMS.patch b/SOURCES/perl-5.27.7-Reenable-numeric-first-argument-of-system-on-VMS.patch deleted file mode 100644 index 74cb681..0000000 --- a/SOURCES/perl-5.27.7-Reenable-numeric-first-argument-of-system-on-VMS.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 8e7c2faafb74d3b07e8a5818608dfe065e361604 Mon Sep 17 00:00:00 2001 -From: "Craig A. Berry" -Date: Mon, 1 Jan 2018 10:10:33 -0600 -Subject: [PATCH] Reenable numeric first argument of system() on VMS. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This was broken in 64def2aeaeb63f92dadc6dfa334, and fixed for Win32 -only in 8fe3452cc6ac7af8c08. But VMS also uses a numeric first -argument to system() as a flag indicating spawn without waiting for -completion. - -Signed-off-by: Petr Písař ---- - pp_sys.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/pp_sys.c b/pp_sys.c -index 0c9147bc4e..5154b9baa8 100644 ---- a/pp_sys.c -+++ b/pp_sys.c -@@ -4375,7 +4375,7 @@ PP(pp_system) - STRLEN len; - char *pv; - SvGETMAGIC(origsv); --#ifdef WIN32 -+#if defined(WIN32) || defined(__VMS) - /* - * Because of a nasty platform-specific variation on the meaning - * of arguments to this op, we must preserve numeric arguments --- -2.13.6 - diff --git a/SOURCES/perl-5.27.7-preserve-numericness-of-system-args-on-Win32.patch b/SOURCES/perl-5.27.7-preserve-numericness-of-system-args-on-Win32.patch deleted file mode 100644 index ab61f96..0000000 --- a/SOURCES/perl-5.27.7-preserve-numericness-of-system-args-on-Win32.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 8fe3452cc6ac7af8c08c2044cd3757018a9c8887 Mon Sep 17 00:00:00 2001 -From: Zefram -Date: Fri, 22 Dec 2017 05:32:41 +0000 -Subject: [PATCH] preserve numericness of system() args on Win32 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -On Windows there's a nasty variation in the meaning of arguments -to Perl's system(), in which a numeric first argument isn't used as -part of the command to run, but instead selects between two different -operations to perform with the command (whether to wait for the command -to complete or not). Therefore the reduction of argument scalars to -their operative values in the parent process, which was added in commit -64def2aeaeb63f92dadc6dfa33486c1d7b311963, needs to preserve numericness -of arguments on Windows. Fixes [perl #132633]. - -Signed-off-by: Petr Písař ---- - pp_sys.c | 35 +++++++++++++++++++++++++++++++---- - 1 file changed, 31 insertions(+), 4 deletions(-) - -diff --git a/pp_sys.c b/pp_sys.c -index beb60da4c6..0649794104 100644 ---- a/pp_sys.c -+++ b/pp_sys.c -@@ -4393,12 +4393,39 @@ PP(pp_system) - # endif - - while (++MARK <= SP) { -- SV *origsv = *MARK; -+ SV *origsv = *MARK, *copysv; - STRLEN len; - char *pv; -- pv = SvPV(origsv, len); -- *MARK = newSVpvn_flags(pv, len, -- (SvFLAGS(origsv) & SVf_UTF8) | SVs_TEMP); -+ SvGETMAGIC(origsv); -+#ifdef WIN32 -+ /* -+ * Because of a nasty platform-specific variation on the meaning -+ * of arguments to this op, we must preserve numeric arguments -+ * as numeric, not just retain the string value. -+ */ -+ if (SvNIOK(origsv) || SvNIOKp(origsv)) { -+ copysv = newSV_type(SVt_PVNV); -+ sv_2mortal(copysv); -+ if (SvPOK(origsv) || SvPOKp(origsv)) { -+ pv = SvPV_nomg(origsv, len); -+ sv_setpvn(copysv, pv, len); -+ SvPOK_off(copysv); -+ } -+ if (SvIOK(origsv) || SvIOKp(origsv)) -+ SvIV_set(copysv, SvIVX(origsv)); -+ if (SvNOK(origsv) || SvNOKp(origsv)) -+ SvNV_set(copysv, SvNVX(origsv)); -+ SvFLAGS(copysv) |= SvFLAGS(origsv) & -+ (SVf_IOK|SVf_NOK|SVf_POK|SVp_IOK|SVp_NOK|SVp_POK| -+ SVf_UTF8|SVf_IVisUV); -+ } else -+#endif -+ { -+ pv = SvPV_nomg(origsv, len); -+ copysv = newSVpvn_flags(pv, len, -+ (SvFLAGS(origsv) & SVf_UTF8) | SVs_TEMP); -+ } -+ *MARK = copysv; - } - MARK = ORIGMARK; - --- -2.13.6 - diff --git a/SOURCES/perl-5.27.8-don-t-clobber-file-bytes-in-encoding-layer.patch b/SOURCES/perl-5.27.8-don-t-clobber-file-bytes-in-encoding-layer.patch deleted file mode 100644 index ca9ef63..0000000 --- a/SOURCES/perl-5.27.8-don-t-clobber-file-bytes-in-encoding-layer.patch +++ /dev/null @@ -1,127 +0,0 @@ -From fed9fe5b48ccdffef9065a03c12c237cc7418de6 Mon Sep 17 00:00:00 2001 -From: Zefram -Date: Fri, 16 Feb 2018 17:20:34 +0000 -Subject: [PATCH] don't clobber file bytes in :encoding layer -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The PerlIO::encoding layer, when used on input, was creating an SvLEN==0 -scalar pointing into the byte buffer, to pass to the ->decode method -of the encoding object. Since the method mutates this scalar, for some -encodings this led to mutating the byte buffer, and depending on where -it came from that might be something visible elsewhere that should not -be mutated. Remove the code for the SvLEN==0 scalar, instead always -using the alternate code that would copy the bytes into a separate buffer -owned by the scalar. Fixes [perl #132833]. - -Signed-off-by: Petr Písař ---- - ext/PerlIO-encoding/encoding.pm | 2 +- - ext/PerlIO-encoding/encoding.xs | 43 ++++++++++------------------------------ - ext/PerlIO-encoding/t/encoding.t | 12 ++++++++++- - 3 files changed, 22 insertions(+), 35 deletions(-) - -diff --git a/ext/PerlIO-encoding/encoding.pm b/ext/PerlIO-encoding/encoding.pm -index 08d2df4713..3d740b181a 100644 ---- a/ext/PerlIO-encoding/encoding.pm -+++ b/ext/PerlIO-encoding/encoding.pm -@@ -1,7 +1,7 @@ - package PerlIO::encoding; - - use strict; --our $VERSION = '0.25'; -+our $VERSION = '0.26'; - our $DEBUG = 0; - $DEBUG and warn __PACKAGE__, " called by ", join(", ", caller), "\n"; - -diff --git a/ext/PerlIO-encoding/encoding.xs b/ext/PerlIO-encoding/encoding.xs -index bb4754f3d9..941d786266 100644 ---- a/ext/PerlIO-encoding/encoding.xs -+++ b/ext/PerlIO-encoding/encoding.xs -@@ -307,42 +307,19 @@ PerlIOEncode_fill(pTHX_ PerlIO * f) - goto end_of_file; - } - } -- if (SvCUR(e->dataSV)) { -- /* something left over from last time - create a normal -- SV with new data appended -- */ -- if (use + SvCUR(e->dataSV) > e->base.bufsiz) { -- if (e->flags & NEEDS_LINES) { -- /* Have to grow buffer */ -- e->base.bufsiz = use + SvCUR(e->dataSV); -- PerlIOEncode_get_base(aTHX_ f); -- } -- else { -- use = e->base.bufsiz - SvCUR(e->dataSV); -- } -- } -- sv_catpvn(e->dataSV,(char*)ptr,use); -- } -- else { -- /* Create a "dummy" SV to represent the available data from layer below */ -- if (SvLEN(e->dataSV) && SvPVX_const(e->dataSV)) { -- Safefree(SvPVX_mutable(e->dataSV)); -- } -- if (use > (SSize_t)e->base.bufsiz) { -- if (e->flags & NEEDS_LINES) { -- /* Have to grow buffer */ -- e->base.bufsiz = use; -- PerlIOEncode_get_base(aTHX_ f); -- } -- else { -- use = e->base.bufsiz; -+ if (!SvCUR(e->dataSV)) -+ SvPVCLEAR(e->dataSV); -+ if (use + SvCUR(e->dataSV) > e->base.bufsiz) { -+ if (e->flags & NEEDS_LINES) { -+ /* Have to grow buffer */ -+ e->base.bufsiz = use + SvCUR(e->dataSV); -+ PerlIOEncode_get_base(aTHX_ f); - } -+ else { -+ use = e->base.bufsiz - SvCUR(e->dataSV); - } -- SvPV_set(e->dataSV, (char *) ptr); -- SvLEN_set(e->dataSV, 0); /* Hands off sv.c - it isn't yours */ -- SvCUR_set(e->dataSV,use); -- SvPOK_only(e->dataSV); - } -+ sv_catpvn(e->dataSV,(char*)ptr,use); - SvUTF8_off(e->dataSV); - PUSHMARK(sp); - XPUSHs(e->enc); -diff --git a/ext/PerlIO-encoding/t/encoding.t b/ext/PerlIO-encoding/t/encoding.t -index 088f89ee20..41cefcb137 100644 ---- a/ext/PerlIO-encoding/t/encoding.t -+++ b/ext/PerlIO-encoding/t/encoding.t -@@ -16,7 +16,7 @@ BEGIN { - require "../../t/charset_tools.pl"; - } - --use Test::More tests => 24; -+use Test::More tests => 27; - - my $grk = "grk$$"; - my $utf = "utf$$"; -@@ -231,6 +231,16 @@ is $x, "To hymn him who heard her herd herd\n", - - } # SKIP - -+# decoding shouldn't mutate the original bytes [perl #132833] -+{ -+ my $b = "a\0b\0\n\0"; -+ open my $fh, "<:encoding(UTF16-LE)", \$b or die; -+ is scalar(<$fh>), "ab\n"; -+ is $b, "a\0b\0\n\0"; -+ close $fh or die; -+ is $b, "a\0b\0\n\0"; -+} -+ - END { - 1 while unlink($grk, $utf, $fail1, $fail2, $russki, $threebyte); - } --- -2.14.3 - diff --git a/SOURCES/perl-5.27.9-fix-line-numbers-in-multi-line-s.patch b/SOURCES/perl-5.27.9-fix-line-numbers-in-multi-line-s.patch deleted file mode 100644 index 80be1f8..0000000 --- a/SOURCES/perl-5.27.9-fix-line-numbers-in-multi-line-s.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 823ba440369100de3f2693420a3887a645a57d28 Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Wed, 7 Mar 2018 09:27:26 +0000 -Subject: [PATCH] fix line numbers in multi-line s/// -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -my commit v5.25.6-230-g6432a58, "Eliminate SVrepl_EVAL and SvEVALED()", -introduced a regression: __LINE__ no longer took account of multiple -lines in the s///. - -Now fixed. - -Spotted by Abigail. - -Signed-off-by: Petr Písař ---- - t/re/subst.t | 12 +++++++++++- - toke.c | 2 +- - 2 files changed, 12 insertions(+), 2 deletions(-) - -diff --git a/t/re/subst.t b/t/re/subst.t -index b9b9939b11..dd62e95ee6 100644 ---- a/t/re/subst.t -+++ b/t/re/subst.t -@@ -11,7 +11,7 @@ BEGIN { - require './loc_tools.pl'; - } - --plan(tests => 275); -+plan(tests => 276); - - $_ = 'david'; - $a = s/david/rules/r; -@@ -1163,6 +1163,16 @@ __EOF__ - pass("RT #130188"); - } - -+# RT #131930 -+# a multi-line s/// wasn't resetting the cop_line correctly -+{ -+ my $l0 = __LINE__; -+ my $s = "a"; -+ $s =~ s[a] -+ [b]; -+ my $lines = __LINE__ - $l0; -+ is $lines, 4, "RT #131930"; -+} - - - -diff --git a/toke.c b/toke.c -index 9dbad98408..0ef33415c0 100644 ---- a/toke.c -+++ b/toke.c -@@ -9884,7 +9884,7 @@ S_scan_subst(pTHX_ char *start) - * the NVX field indicates how many src code lines the replacement - * spreads over */ - sv_upgrade(PL_parser->lex_sub_repl, SVt_PVNV); -- ((XPVNV*)SvANY(PL_parser->lex_sub_repl))->xnv_u.xnv_lines = 0; -+ ((XPVNV*)SvANY(PL_parser->lex_sub_repl))->xnv_u.xnv_lines = linediff; - ((XPVIV*)SvANY(PL_parser->lex_sub_repl))->xiv_u.xivu_eval_seen = - cBOOL(es); - } --- -2.14.3 - diff --git a/SOURCES/perl-5.28.2-Only-pass-2-digit-years-to-tests-when-testing-2-digi.patch b/SOURCES/perl-5.28.2-Only-pass-2-digit-years-to-tests-when-testing-2-digi.patch deleted file mode 100644 index 4fb8553..0000000 --- a/SOURCES/perl-5.28.2-Only-pass-2-digit-years-to-tests-when-testing-2-digi.patch +++ /dev/null @@ -1,113 +0,0 @@ -From 381d51822fccaa333cbd0ab9fca8b69f650c05f9 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= -Date: Fri, 14 Feb 2020 14:10:10 +0100 -Subject: [PATCH] Only pass 2-digit years to tests when testing 2-digit year - handling -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This will start breaking in 2020 if done without working around the whole -breakpoint thing. See https://rt.cpan.org/Ticket/Display.html?id=124787. - -Ported from Time-Local 63265fd81c7f6177bf28dfe0d1ada9cb897de566 commit -by Dave Rolsky to perl 5.28.2. - -Signed-off-by: Petr Písař ---- - cpan/Time-Local/t/Local.t | 40 +++++++++++++++++++++++++++++---------- - 1 file changed, 30 insertions(+), 10 deletions(-) - -diff --git a/cpan/Time-Local/t/Local.t b/cpan/Time-Local/t/Local.t -index 6341396..701d22d 100644 ---- a/cpan/Time-Local/t/Local.t -+++ b/cpan/Time-Local/t/Local.t -@@ -85,19 +85,17 @@ my $epoch_is_64 - - for ( @time, @neg_time ) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - SKIP: { - skip '1970 test on VOS fails.', 12 -- if $^O eq 'vos' && $year == 70; -+ if $^O eq 'vos' && $year == 1970; - skip 'this platform does not support negative epochs.', 12 -- if $year < 70 && !$neg_epoch_ok; -+ if $year < 1970 && !$neg_epoch_ok; - - # Test timelocal() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timelocal( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = localtime($time); - -@@ -106,13 +104,12 @@ SKIP: { - is( $h, $hour, "timelocal hour for @$_" ); - is( $D, $mday, "timelocal day for @$_" ); - is( $M, $mon, "timelocal month for @$_" ); -- is( $Y, $year, "timelocal year for @$_" ); -+ is( $Y, $year - 1900, "timelocal year for @$_" ); - } - - # Test timegm() - { -- my $year_in = $year < 70 ? $year + 1900 : $year; -- my $time = timegm( $sec, $min, $hour, $mday, $mon, $year_in ); -+ my $time = timegm( $sec, $min, $hour, $mday, $mon, $year ); - - my ( $s, $m, $h, $D, $M, $Y ) = gmtime($time); - -@@ -121,14 +118,13 @@ SKIP: { - is( $h, $hour, "timegm hour for @$_" ); - is( $D, $mday, "timegm day for @$_" ); - is( $M, $mon, "timegm month for @$_" ); -- is( $Y, $year, "timegm year for @$_" ); -+ is( $Y, $year - 1900, "timegm year for @$_" ); - } - } - } - - for (@bad_time) { - my ( $year, $mon, $mday, $hour, $min, $sec ) = @$_; -- $year -= 1900; - $mon--; - - eval { timegm( $sec, $min, $hour, $mday, $mon, $year ) }; -@@ -229,6 +225,30 @@ SKIP: - ); - } - -+# 2-digit years -+{ -+ my $current_year = ( localtime() )[5]; -+ my $pre_break = ( $current_year + 49 ) - 100; -+ my $break = ( $current_year + 50 ) - 100; -+ my $post_break = ( $current_year + 51 ) - 100; -+ -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $pre_break ) ) )[5] ), -+ $pre_break + 100, -+ "year $pre_break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $break ) ) )[5] ), -+ $break + 100, -+ "year $break is treated as next century", -+ ); -+ is( -+ ( ( localtime( timelocal( 0, 0, 0, 1, 1, $post_break ) ) )[5] ), -+ $post_break, -+ "year $post_break is treated as current century", -+ ); -+} -+ - SKIP: - { - skip 'These tests only run for the package maintainer.', 8 --- -2.21.1 - diff --git a/SOURCES/perl-5.29.0-Remove-ext-GDBM_File-t-fatal.t.patch b/SOURCES/perl-5.29.0-Remove-ext-GDBM_File-t-fatal.t.patch deleted file mode 100644 index bc4ac01..0000000 --- a/SOURCES/perl-5.29.0-Remove-ext-GDBM_File-t-fatal.t.patch +++ /dev/null @@ -1,94 +0,0 @@ -From 892e8b006aa99ac2c880cdc2a81fd16f06c1a0f3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= -Date: Mon, 9 Jul 2018 16:18:36 +0200 -Subject: [PATCH] Remove ext/GDBM_File/t/fatal.t -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -gdbm-1.15 defaults to a memory-mapped I/O and does not report any I/O -errors on store and close operations. Thus ext/GDBM_File/t/fatal.t -test that expects these fatal error reports fails. Because there is -no other way to provoke a fatal error in gdbm-1.15 this patch -removes the test. Future gdbm version promisses reporting a regular -error on closing a database. - -RT#133295 - -Signed-off-by: Petr Písař ---- - MANIFEST | 1 - - ext/GDBM_File/t/fatal.t | 49 ------------------------------------------------- - 2 files changed, 50 deletions(-) - delete mode 100644 ext/GDBM_File/t/fatal.t - -diff --git a/MANIFEST b/MANIFEST -index 95fa539095..b07fed1f54 100644 ---- a/MANIFEST -+++ b/MANIFEST -@@ -4100,7 +4100,6 @@ ext/GDBM_File/GDBM_File.pm GDBM extension Perl module - ext/GDBM_File/GDBM_File.xs GDBM extension external subroutines - ext/GDBM_File/hints/sco.pl Hint for GDBM_File for named architecture - ext/GDBM_File/Makefile.PL GDBM extension makefile writer --ext/GDBM_File/t/fatal.t Test the fatal_func argument to gdbm_open - ext/GDBM_File/t/gdbm.t See if GDBM_File works - ext/GDBM_File/typemap GDBM extension interface types - ext/Hash-Util/Changes Change history of Hash::Util -diff --git a/ext/GDBM_File/t/fatal.t b/ext/GDBM_File/t/fatal.t -deleted file mode 100644 -index 0e426d4dbc..0000000000 ---- a/ext/GDBM_File/t/fatal.t -+++ /dev/null -@@ -1,49 +0,0 @@ --#!./perl -w --use strict; -- --use Test::More; --use Config; -- --BEGIN { -- plan(skip_all => "GDBM_File was not built") -- unless $Config{extensions} =~ /\bGDBM_File\b/; -- -- # https://rt.perl.org/Public/Bug/Display.html?id=117967 -- plan(skip_all => "GDBM_File is flaky in $^O") -- if $^O =~ /darwin/; -- -- plan(tests => 8); -- use_ok('GDBM_File'); --} -- --unlink ; -- --open my $fh, '<', $^X or die "Can't open $^X: $!"; --my $fileno = fileno $fh; --isnt($fileno, undef, "Can find next available file descriptor"); --close $fh or die $!; -- --is((open $fh, "<&=$fileno"), undef, -- "Check that we cannot open fileno $fileno. \$! is $!"); -- --umask(0); --my %h; --isa_ok(tie(%h, 'GDBM_File', 'Op_dbmx', GDBM_WRCREAT, 0640), 'GDBM_File'); -- --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 { -- $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'); -- --unlink ; --- -2.14.4 - diff --git a/SOURCES/perl-5.29.0-regexec.c-Call-macro-with-correct-args.patch b/SOURCES/perl-5.29.0-regexec.c-Call-macro-with-correct-args.patch deleted file mode 100644 index cdecb18..0000000 --- a/SOURCES/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/SOURCES/perl-5.31.5-PATCH-gh-17218-memory-leak.patch b/SOURCES/perl-5.31.5-PATCH-gh-17218-memory-leak.patch deleted file mode 100644 index abb6223..0000000 --- a/SOURCES/perl-5.31.5-PATCH-gh-17218-memory-leak.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 70f089724b15d1b2ed9264f277454aa559d50232 Mon Sep 17 00:00:00 2001 -From: Karl Williamson -Date: Fri, 15 Nov 2019 15:01:15 -0700 -Subject: [PATCH] PATCH: gh#17218 memory leak - -Indeed, a variable's ref count was not getting decremented. ---- - regcomp.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/regcomp.c b/regcomp.c -index ddac290d2bf0..de4f6f24dac8 100644 ---- a/regcomp.c -+++ b/regcomp.c -@@ -17602,6 +17602,7 @@ S_regclass(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth, - - /* Likewise for 'posixes' */ - _invlist_union(posixes, cp_list, &cp_list); -+ SvREFCNT_dec(posixes); - - /* Likewise for anything else in the range that matched only - * under UTF-8 */ diff --git a/config.over b/config.over new file mode 100644 index 0000000..76464ef --- /dev/null +++ b/config.over @@ -0,0 +1,21 @@ +#!/bin/sh + +case "$osname" in + linux) + osvers=6.12.0 + osdesc="#1 smp preempt_dynamic $osvers" + os=gnulinux + ;; +esac + +# set configuration time +cf_time=$(LC_ALL=C date --utc -d @$SOURCE_DATE_EPOCH) + +# set generic information for reproducibility +myhostname=localhost +mydomain= +machine_uname=$(uname -m | tr '[A-Z]' '[a-z]' | sed -e "s,['/],,g") + +if [ -n "$osdesc" ]; then + myuname="$osname $myhostname $osvers $osdesc $machine_uname $os " +fi diff --git a/gendep.macros b/gendep.macros new file mode 100644 index 0000000..6a67b6e --- /dev/null +++ b/gendep.macros @@ -0,0 +1,2767 @@ +%global gendep_perl \ +%{nil} +%global gendep_perl_Archive_Tar \ +Requires: perl(:VERSION) >= 5.5.0 \ +Requires: perl(Archive::Tar) \ +Requires: perl(Archive::Tar::Constant) \ +Requires: perl(Archive::Tar::File) \ +Requires: perl(Carp) \ +Requires: perl(Config) \ +Requires: perl(Cwd) \ +Requires: perl(Data::Dumper) \ +Requires: perl(Exporter) \ +Requires: perl(File::Basename) \ +Requires: perl(File::Find) \ +Requires: perl(File::Path) \ +Requires: perl(File::Spec) \ +Requires: perl(File::Spec::Unix) \ +Requires: perl(Getopt::Long) \ +Requires: perl(Getopt::Std) \ +Requires: perl(IO::File) \ +Requires: perl(IO::Handle) \ +Requires: perl(IO::Zlib) \ +Requires: perl(Pod::Usage) \ +Requires: perl(constant) \ +Requires: perl(strict) \ +Requires: perl(vars) \ +Requires: perl(warnings) \ +Provides: perl(Archive::Tar) = 3.02 \ +Provides: perl(Archive::Tar::Constant) = 3.02 \ +Provides: perl(Archive::Tar::File) = 3.02 \ +%{nil} +%global gendep_perl_Attribute_Handlers \ +Requires: perl(:VERSION) >= 5.6.0 \ +Requires: perl(Carp) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(Attribute::Handlers) = 1.03 \ +%{nil} +%global gendep_perl_AutoLoader \ +Requires: perl(:VERSION) >= 5.6.0 \ +Requires: perl(strict) \ +Provides: perl(AutoLoader) = 5.74 \ +%{nil} +%global gendep_perl_AutoSplit \ +Requires: perl(Config) \ +Requires: perl(Exporter) \ +Requires: perl(File::Basename) \ +Requires: perl(File::Path) \ +Requires: perl(File::Spec::Functions) \ +Requires: perl(strict) \ +Provides: perl(AutoSplit) = 1.06 \ +%{nil} +%global gendep_perl_B \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(B) \ +Requires: perl(B::Concise) \ +Requires: perl(B::Op_private) \ +Requires: perl(B::Terse) \ +Requires: perl(Carp) \ +Requires: perl(Config) \ +Requires: perl(Exporter) \ +Requires: perl(feature) \ +Requires: perl(if) \ +Requires: perl(re) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(B) = 1.89 \ +Provides: perl(B::Concise) = 1.007 \ +Provides: perl(B::Deparse) = 1.76 \ +Provides: perl(B::OBJECT) \ +Provides: perl(B::Op_private) = 5.040000 \ +Provides: perl(B::Showlex) = 1.05 \ +Provides: perl(B::Terse) = 1.09 \ +Provides: perl(B::Xref) = 1.07 \ +Provides: perl(O) = 1.03 \ +%{nil} +%global gendep_perl_B_debuginfo \ +%{nil} +%global gendep_perl_Benchmark \ +Requires: perl(Carp) \ +Requires: perl(Exporter) \ +Requires: perl(strict) \ +Provides: perl(Benchmark) = 1.25 \ +%{nil} +%global gendep_perl_CPAN \ +Requires: perl(:VERSION) >= 5.6.0 \ +Requires: perl(App::Cpan) \ +Requires: perl(CPAN) >= 1.80 \ +Requires: perl(CPAN::Author) \ +Requires: perl(CPAN::Bundle) \ +Requires: perl(CPAN::CacheMgr) \ +Requires: perl(CPAN::Complete) \ +Requires: perl(CPAN::Debug) \ +Requires: perl(CPAN::DeferredCode) \ +Requires: perl(CPAN::Distribution) \ +Requires: perl(CPAN::Distroprefs) \ +Requires: perl(CPAN::Distrostatus) \ +Requires: perl(CPAN::Exception::RecursiveDependency) \ +Requires: perl(CPAN::Exception::yaml_not_installed) \ +Requires: perl(CPAN::Exception::yaml_process_error) \ +Requires: perl(CPAN::FTP) \ +Requires: perl(CPAN::FTP::netrc) \ +Requires: perl(CPAN::HTTP::Credentials) \ +Requires: perl(CPAN::HandleConfig) \ +Requires: perl(CPAN::Index) >= 1.93 \ +Requires: perl(CPAN::InfoObj) \ +Requires: perl(CPAN::LWP::UserAgent) \ +Requires: perl(CPAN::Mirrors) \ +Requires: perl(CPAN::Module) \ +Requires: perl(CPAN::Prompt) \ +Requires: perl(CPAN::Queue) \ +Requires: perl(CPAN::Shell) \ +Requires: perl(CPAN::Tarzip) \ +Requires: perl(CPAN::URL) \ +Requires: perl(CPAN::Version) \ +Requires: perl(Carp) \ +Requires: perl(Config) \ +Requires: perl(Cwd) \ +Requires: perl(DirHandle) \ +Requires: perl(Errno) \ +Requires: perl(Exporter) \ +Requires: perl(ExtUtils::MakeMaker) \ +Requires: perl(Fcntl) \ +Requires: perl(File::Basename) \ +Requires: perl(File::Copy) \ +Requires: perl(File::Find) \ +Requires: perl(File::Path) \ +Requires: perl(File::Spec) \ +Requires: perl(File::Spec::Functions) \ +Requires: perl(FileHandle) \ +Requires: perl(Getopt::Std) \ +Requires: perl(HTTP::Tiny) >= 0.005 \ +Requires: perl(Net::Ping) \ +Requires: perl(POSIX) \ +Requires: perl(Safe) \ +Requires: perl(Sys::Hostname) \ +Requires: perl(Text::ParseWords) \ +Requires: perl(Text::Wrap) \ +Requires: perl(autouse) \ +Requires: perl(constant) \ +Requires: perl(if) \ +Requires: perl(overload) \ +Requires: perl(strict) \ +Requires: perl(vars) \ +Requires: perl(warnings) \ +Provides: perl(App::Cpan) = 1.678 \ +Provides: perl(CPAN) = 2.36 \ +Provides: perl(CPAN::Author) = 5.5002 \ +Provides: perl(CPAN::Bundle) = 5.5005 \ +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.34 \ +Provides: perl(CPAN::Distroprefs) = 6.0001 \ +Provides: perl(CPAN::Distroprefs::Iterator) \ +Provides: perl(CPAN::Distroprefs::Pref) \ +Provides: perl(CPAN::Distroprefs::Result) \ +Provides: perl(CPAN::Distroprefs::Result::Error) \ +Provides: perl(CPAN::Distroprefs::Result::Fatal) \ +Provides: perl(CPAN::Distroprefs::Result::Success) \ +Provides: perl(CPAN::Distroprefs::Result::Warning) \ +Provides: perl(CPAN::Distrostatus) = 5.5 \ +Provides: perl(CPAN::Eval) \ +Provides: perl(CPAN::Exception::RecursiveDependency) = 5.5001 \ +Provides: perl(CPAN::Exception::RecursiveDependency::na) \ +Provides: perl(CPAN::Exception::blocked_urllist) = 1.001 \ +Provides: perl(CPAN::Exception::yaml_not_installed) = 5.5 \ +Provides: perl(CPAN::Exception::yaml_process_error) = 5.5 \ +Provides: perl(CPAN::FTP) = 5.5016 \ +Provides: perl(CPAN::FTP::netrc) = 1.01 \ +Provides: perl(CPAN::FirstTime) = 5.5317 \ +Provides: perl(CPAN::HTTP::Client) = 1.9602 \ +Provides: perl(CPAN::HTTP::Credentials) = 1.9601 \ +Provides: perl(CPAN::HandleConfig) = 5.5012 \ +Provides: perl(CPAN::Index) = 2.29 \ +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.27 \ +Provides: perl(CPAN::Module) = 5.5003 \ +Provides: perl(CPAN::Nox) = 5.5001 \ +Provides: perl(CPAN::Plugin) = 0.97 \ +Provides: perl(CPAN::Plugin::Specfile) = 0.02 \ +Provides: perl(CPAN::Prompt) = 5.5 \ +Provides: perl(CPAN::Queue) = 5.5003 \ +Provides: perl(CPAN::Queue::Item) \ +Provides: perl(CPAN::Shell) = 5.5009 \ +Provides: perl(CPAN::Tarzip) = 5.5013 \ +Provides: perl(CPAN::URL) = 5.5 \ +Provides: perl(CPAN::Version) = 5.5003 \ +%{nil} +%global gendep_perl_CPAN_Meta \ +Requires: perl(:VERSION) >= 5.6.0 \ +Requires: perl(:VERSION) >= 5.8.1 \ +Requires: perl(CPAN::Meta::Converter) >= 2.141170 \ +Requires: perl(CPAN::Meta::Feature) \ +Requires: perl(CPAN::Meta::Prereqs) \ +Requires: perl(CPAN::Meta::Requirements) >= 2.121 \ +Requires: perl(CPAN::Meta::Validator) \ +Requires: perl(Carp) \ +Requires: perl(Exporter) \ +Requires: perl(Parse::CPAN::Meta) >= 1.4400 \ +Requires: perl(Parse::CPAN::Meta) >= 1.4414 \ +Requires: perl(Scalar::Util) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(CPAN::Meta) = 2.150010 \ +Provides: perl(CPAN::Meta::Converter) = 2.150010 \ +Provides: perl(CPAN::Meta::Feature) = 2.150010 \ +Provides: perl(CPAN::Meta::History) = 2.150010 \ +Provides: perl(CPAN::Meta::Merge) = 2.150010 \ +Provides: perl(CPAN::Meta::Prereqs) = 2.150010 \ +Provides: perl(CPAN::Meta::Spec) = 2.150010 \ +Provides: perl(CPAN::Meta::Validator) = 2.150010 \ +Provides: perl(Parse::CPAN::Meta) = 2.150010 \ +%{nil} +%global gendep_perl_CPAN_Meta_Requirements \ +Requires: perl(:VERSION) >= 5.10.0 \ +Requires: perl(CPAN::Meta::Requirements::Range) \ +Requires: perl(Carp) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(CPAN::Meta::Requirements) = 2.140000 \ +%{nil} +%global gendep_perl_CPAN_Meta_YAML \ +Requires: perl(:VERSION) >= 5.8.1 \ +Requires: perl(B) \ +Requires: perl(Exporter) \ +Requires: perl(Scalar::Util) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(CPAN::Meta::YAML) = 0.018 \ +%{nil} +%global gendep_perl_Carp \ +Requires: perl(Carp) \ +Requires: perl(Exporter) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(Carp) = 1.54 \ +Provides: perl(Carp::Heavy) = 1.54 \ +%{nil} +%global gendep_perl_Class_Struct \ +Requires: perl(:VERSION) >= 5.6.0 \ +Requires: perl(Carp) \ +Requires: perl(Exporter) \ +Requires: perl(strict) \ +Requires: perl(warnings::register) \ +Provides: perl(Class::Struct) = 0.68 \ +Provides: perl(Class::Struct::Tie_ISA) \ +%{nil} +%global gendep_perl_Compress_Raw_Bzip2 \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(:VERSION) >= 5.6.0 \ +Requires: perl(Carp) \ +Requires: perl(Exporter) \ +Requires: perl(bytes) \ +Requires: perl(constant) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(Compress::Raw::Bzip2) = 2.212 \ +%{nil} +%global gendep_perl_Compress_Raw_Bzip2_debuginfo \ +%{nil} +%global gendep_perl_Compress_Raw_Zlib \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(:VERSION) >= 5.6.0 \ +Requires: perl(Carp) \ +Requires: perl(Exporter) \ +Requires: perl(bytes) \ +Requires: perl(constant) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(Compress::Raw::Zlib) = 2.212 \ +%{nil} +%global gendep_perl_Compress_Raw_Zlib_debuginfo \ +%{nil} +%global gendep_perl_Config_Extensions \ +Requires: perl(Config) \ +Requires: perl(Exporter) \ +Requires: perl(strict) \ +Provides: perl(Config::Extensions) = 0.03 \ +%{nil} +%global gendep_perl_Config_Perl_V \ +Requires: perl(Config) \ +Requires: perl(Exporter) \ +Requires: perl(strict) \ +Requires: perl(vars) \ +Requires: perl(warnings) \ +Provides: perl(Config::Perl::V) = 0.36 \ +%{nil} +%global gendep_perl_DBM_Filter \ +Requires: perl(Carp) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(DBM_Filter) = 0.06 \ +Provides: perl(DBM_Filter::compress) = 0.03 \ +Provides: perl(DBM_Filter::encode) = 0.03 \ +Provides: perl(DBM_Filter::int32) = 0.03 \ +Provides: perl(DBM_Filter::null) = 0.03 \ +Provides: perl(DBM_Filter::utf8) = 0.03 \ +%{nil} +%global gendep_perl_Data_Dumper \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(:VERSION) >= 5.8.0 \ +Requires: perl(Carp) \ +Requires: perl(Exporter) \ +Requires: perl(constant) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(Data::Dumper) = 2.189 \ +%{nil} +%global gendep_perl_Data_Dumper_debuginfo \ +%{nil} +%global gendep_perl_Devel_PPPort \ +Requires: perl(strict) \ +Requires: perl(vars) \ +Provides: perl(Devel::PPPort) = 3.72 \ +%{nil} +%global gendep_perl_Devel_Peek \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(Exporter) \ +Requires: perl(XSLoader) \ +Provides: perl(Devel::Peek) = 1.34 \ +%{nil} +%global gendep_perl_Devel_Peek_debuginfo \ +%{nil} +%global gendep_perl_Devel_SelfStubber \ +Requires: perl(File::Spec) \ +Requires: perl(SelfLoader) \ +Provides: perl(Devel::SelfStubber) = 1.06 \ +%{nil} +%global gendep_perl_Digest \ +Requires: perl(Carp) \ +Requires: perl(Digest) \ +Requires: perl(Exporter) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(Digest) = 1.20 \ +Provides: perl(Digest::base) = 1.20 \ +Provides: perl(Digest::file) = 1.20 \ +%{nil} +%global gendep_perl_Digest_MD5 \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(Exporter) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(Digest::MD5) = 2.58 \ +%{nil} +%global gendep_perl_Digest_MD5_debuginfo \ +%{nil} +%global gendep_perl_Digest_SHA \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(:VERSION) >= 5.3.0 \ +Requires: perl(Cwd) \ +Requires: perl(Digest::SHA) \ +Requires: perl(Exporter) \ +Requires: perl(Fcntl) \ +Requires: perl(Getopt::Long) \ +Requires: perl(integer) \ +Requires: perl(strict) \ +Requires: perl(vars) \ +Requires: perl(warnings) \ +Provides: perl(Digest::SHA) = 6.04 \ +%{nil} +%global gendep_perl_Digest_SHA_debuginfo \ +%{nil} +%global gendep_perl_DirHandle \ +Requires: perl(:VERSION) >= 5.0.0 \ +Requires: perl(Carp) \ +Requires: perl(Symbol) \ +Provides: perl(DirHandle) = 1.05 \ +%{nil} +%global gendep_perl_Dumpvalue \ +Requires: perl(:VERSION) >= 5.6.0 \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(Dumpvalue) = 1.21 \ +%{nil} +%global gendep_perl_DynaLoader \ +Requires: perl(Config) \ +Requires: perl(strict) \ +Requires: perl(vars) \ +Provides: perl(DynaLoader) = 1.56 \ +%{nil} +%global gendep_perl_Encode \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(:VERSION) >= 5.8.0 \ +Requires: perl(:VERSION) >= 5.8.1 \ +Requires: perl(Carp) \ +Requires: perl(Encode) \ +Requires: perl(Encode::Alias) \ +Requires: perl(Encode::CJKConstants) \ +Requires: perl(Encode::CN::HZ) \ +Requires: perl(Encode::Config) \ +Requires: perl(Encode::Encoding) \ +Requires: perl(Encode::Guess) \ +Requires: perl(Encode::JP::JIS7) \ +Requires: perl(Encode::KR::2022_KR) \ +Requires: perl(Encode::MIME::Header) \ +Requires: perl(Encode::MIME::Name) \ +Requires: perl(Encode::Unicode) \ +Requires: perl(Exporter) >= 5.57 \ +Requires: perl(File::Basename) \ +Requires: perl(Getopt::Long) \ +Requires: perl(Getopt::Std) \ +Requires: perl(MIME::Base64) \ +Requires: perl(Storable) \ +Requires: perl(XSLoader) \ +Requires: perl(bytes) \ +Requires: perl(constant) \ +Requires: perl(overload) \ +Requires: perl(parent) \ +Requires: perl(re) \ +Requires: perl(strict) \ +Requires: perl(utf8) \ +Requires: perl(vars) \ +Requires: perl(warnings) \ +Provides: perl(Encode) = 3.21 \ +Provides: perl(Encode::Alias) = 2.25 \ +Provides: perl(Encode::Byte) = 2.4 \ +Provides: perl(Encode::CJKConstants) = 2.2 \ +Provides: perl(Encode::CN) = 2.3 \ +Provides: perl(Encode::CN::HZ) = 2.10 \ +Provides: perl(Encode::Config) = 2.5 \ +Provides: perl(Encode::EBCDIC) = 2.2 \ +Provides: perl(Encode::Encoder) = 2.3 \ +Provides: perl(Encode::Encoding) = 2.8 \ +Provides: perl(Encode::GSM0338) = 2.10 \ +Provides: perl(Encode::Guess) = 2.8 \ +Provides: perl(Encode::JP) = 2.5 \ +Provides: perl(Encode::JP::H2Z) = 2.2 \ +Provides: perl(Encode::JP::JIS7) = 2.8 \ +Provides: perl(Encode::KR) = 2.3 \ +Provides: perl(Encode::KR::2022_KR) = 2.4 \ +Provides: perl(Encode::MIME::Header) = 2.29 \ +Provides: perl(Encode::MIME::Header::ISO_2022_JP) = 1.9 \ +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.20 \ +Provides: perl(Encode::Unicode::UTF7) = 2.10 \ +Provides: perl(Encode::XS) \ +Provides: perl(Encode::utf8) \ +%{nil} +%global gendep_perl_Encode_debuginfo \ +%{nil} +%global gendep_perl_Encode_devel \ +Requires: perl(Config) \ +Requires: perl(File::Find) \ +Requires: perl(Getopt::Std) \ +Requires: perl(constant) \ +Requires: perl(strict) \ +Requires: perl(vars) \ +Requires: perl(warnings) \ +%{nil} +%global gendep_perl_English \ +Requires: perl(Exporter) \ +Provides: perl(English) = 1.11 \ +%{nil} +%global gendep_perl_Env \ +Requires: perl(Config) \ +Requires: perl(Tie::Array) \ +Provides: perl(Env) = 1.06 \ +Provides: perl(Env::Array) \ +Provides: perl(Env::Array::VMS) \ +%{nil} +%global gendep_perl_Errno \ +Requires: perl(Config) \ +Requires: perl(Exporter) \ +Requires: perl(strict) \ +Provides: perl(Errno) = 1.38 \ +%{nil} +%global gendep_perl_Exporter \ +Requires: perl(strict) \ +Provides: perl(Exporter) = 5.78 \ +Provides: perl(Exporter::Heavy) = 5.78 \ +%{nil} +%global gendep_perl_ExtUtils_CBuilder \ +Requires: perl(Config) \ +Requires: perl(Cwd) \ +Requires: perl(ExtUtils::CBuilder::Base) \ +Requires: perl(ExtUtils::CBuilder::Platform::Unix) \ +Requires: perl(File::Basename) \ +Requires: perl(File::Path) \ +Requires: perl(File::Spec) \ +Requires: perl(File::Spec::Functions) \ +Requires: perl(File::Temp) \ +Requires: perl(IO::File) \ +Requires: perl(IPC::Cmd) \ +Requires: perl(Perl::OSType) \ +Requires: perl(Text::ParseWords) \ +Requires: perl(strict) \ +Requires: perl(vars) \ +Requires: perl(warnings) \ +Provides: perl(ExtUtils::CBuilder) = 0.280240 \ +Provides: perl(ExtUtils::CBuilder::Base) = 0.280240 \ +Provides: perl(ExtUtils::CBuilder::Platform::Unix) = 0.280240 \ +Provides: perl(ExtUtils::CBuilder::Platform::VMS) = 0.280240 \ +Provides: perl(ExtUtils::CBuilder::Platform::Windows) = 0.280240 \ +Provides: perl(ExtUtils::CBuilder::Platform::Windows::BCC) = 0.280240 \ +Provides: perl(ExtUtils::CBuilder::Platform::Windows::GCC) = 0.280240 \ +Provides: perl(ExtUtils::CBuilder::Platform::Windows::MSVC) = 0.280240 \ +Provides: perl(ExtUtils::CBuilder::Platform::aix) = 0.280240 \ +Provides: perl(ExtUtils::CBuilder::Platform::android) = 0.280240 \ +Provides: perl(ExtUtils::CBuilder::Platform::cygwin) = 0.280240 \ +Provides: perl(ExtUtils::CBuilder::Platform::darwin) = 0.280240 \ +Provides: perl(ExtUtils::CBuilder::Platform::dec_osf) = 0.280240 \ +Provides: perl(ExtUtils::CBuilder::Platform::linux) = 0.280206 \ +Provides: perl(ExtUtils::CBuilder::Platform::os2) = 0.280240 \ +%{nil} +%global gendep_perl_ExtUtils_Command \ +Requires: perl(:VERSION) >= 5.5.30 \ +Requires: perl(Exporter) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(ExtUtils::Command) = 7.70 \ +%{nil} +%global gendep_perl_ExtUtils_Constant \ +Requires: perl(Carp) \ +Requires: perl(Exporter) \ +Requires: perl(ExtUtils::Constant::Base) \ +Requires: perl(ExtUtils::Constant::Utils) \ +Requires: perl(ExtUtils::Constant::XS) \ +Requires: perl(Text::Wrap) \ +Requires: perl(constant) \ +Requires: perl(strict) \ +Requires: perl(vars) \ +Provides: perl(ExtUtils::Constant) = 0.25 \ +Provides: perl(ExtUtils::Constant::Base) = 0.07 \ +Provides: perl(ExtUtils::Constant::ProxySubs) = 0.09 \ +Provides: perl(ExtUtils::Constant::Utils) = 0.04 \ +Provides: perl(ExtUtils::Constant::XS) = 0.03 \ +%{nil} +%global gendep_perl_ExtUtils_Embed \ +Requires: perl(Config) \ +Requires: perl(Exporter) \ +Requires: perl(File::Spec) \ +Requires: perl(strict) \ +Provides: perl(ExtUtils::Embed) = 1.35 \ +%{nil} +%global gendep_perl_ExtUtils_Install \ +Requires: perl(Carp) \ +Requires: perl(Config) \ +Requires: perl(Cwd) \ +Requires: perl(Exporter) \ +Requires: perl(ExtUtils::MakeMaker) \ +Requires: perl(ExtUtils::Packlist) \ +Requires: perl(File::Basename) \ +Requires: perl(File::Copy) \ +Requires: perl(File::Find) \ +Requires: perl(File::Path) \ +Requires: perl(File::Spec) \ +Requires: perl(strict) \ +Provides: perl(ExtUtils::Install) = 2.22 \ +Provides: perl(ExtUtils::Install::Warn) \ +Provides: perl(ExtUtils::Installed) = 2.22 \ +Provides: perl(ExtUtils::Packlist) = 2.22 \ +%{nil} +%global gendep_perl_ExtUtils_MM_Utils \ +Requires: perl(:VERSION) >= 5.6.0 \ +Requires: perl(strict) \ +Requires: perl(vars) \ +Provides: perl(ExtUtils::MM::Utils) = 7.11 \ +%{nil} +%global gendep_perl_ExtUtils_MakeMaker \ +Requires: perl(:VERSION) >= 5.6.0 \ +Requires: perl(:VERSION) >= 5.6.1 \ +Requires: perl(Carp) \ +Requires: perl(Config) \ +Requires: perl(Cwd) \ +Requires: perl(Encode) \ +Requires: perl(Encode::Alias) \ +Requires: perl(Exporter) \ +Requires: perl(ExtUtils::Installed) \ +Requires: perl(ExtUtils::Liblist) \ +Requires: perl(ExtUtils::Liblist::Kid) \ +Requires: perl(ExtUtils::MM) \ +Requires: perl(ExtUtils::MM_Any) \ +Requires: perl(ExtUtils::MM_Unix) \ +Requires: perl(ExtUtils::MM_Win32) \ +Requires: perl(ExtUtils::MY) \ +Requires: perl(ExtUtils::MakeMaker) \ +Requires: perl(ExtUtils::MakeMaker::Config) \ +Requires: perl(ExtUtils::MakeMaker::version) \ +Requires: perl(ExtUtils::Packlist) \ +Requires: perl(File::Basename) \ +Requires: perl(File::Path) \ +Requires: perl(File::Spec) \ +Requires: perl(IO::File) \ +Requires: perl(base) \ +Requires: perl(lib) \ +Requires: perl(strict) \ +Requires: perl(vars) \ +Requires: perl(warnings) \ +Provides: perl(ExtUtils::Command::MM) = 7.70 \ +Provides: perl(ExtUtils::Liblist) = 7.70 \ +Provides: perl(ExtUtils::Liblist::Kid) = 7.70 \ +Provides: perl(ExtUtils::MM) = 7.70 \ +Provides: perl(ExtUtils::MM_AIX) = 7.70 \ +Provides: perl(ExtUtils::MM_Any) = 7.70 \ +Provides: perl(ExtUtils::MM_BeOS) = 7.70 \ +Provides: perl(ExtUtils::MM_Cygwin) = 7.70 \ +Provides: perl(ExtUtils::MM_DOS) = 7.70 \ +Provides: perl(ExtUtils::MM_Darwin) = 7.70 \ +Provides: perl(ExtUtils::MM_MacOS) = 7.70 \ +Provides: perl(ExtUtils::MM_NW5) = 7.70 \ +Provides: perl(ExtUtils::MM_OS2) = 7.70 \ +Provides: perl(ExtUtils::MM_OS390) = 7.70 \ +Provides: perl(ExtUtils::MM_QNX) = 7.70 \ +Provides: perl(ExtUtils::MM_UWIN) = 7.70 \ +Provides: perl(ExtUtils::MM_Unix) = 7.70 \ +Provides: perl(ExtUtils::MM_VMS) = 7.70 \ +Provides: perl(ExtUtils::MM_VOS) = 7.70 \ +Provides: perl(ExtUtils::MM_Win32) = 7.70 \ +Provides: perl(ExtUtils::MM_Win95) = 7.70 \ +Provides: perl(ExtUtils::MY) = 7.70 \ +Provides: perl(ExtUtils::MakeMaker) = 7.70 \ +Provides: perl(ExtUtils::MakeMaker::Config) = 7.70 \ +Provides: perl(ExtUtils::MakeMaker::Locale) = 7.70 \ +Provides: perl(ExtUtils::MakeMaker::version) = 7.70 \ +Provides: perl(ExtUtils::Mkbootstrap) = 7.70 \ +Provides: perl(ExtUtils::Mksymlists) = 7.70 \ +Provides: perl(ExtUtils::testlib) = 7.70 \ +Provides: perl(MM) \ +Provides: perl(MY) \ +%{nil} +%global gendep_perl_ExtUtils_Manifest \ +Requires: perl(Carp) \ +Requires: perl(Config) \ +Requires: perl(Exporter) \ +Requires: perl(File::Basename) \ +Requires: perl(File::Copy) \ +Requires: perl(File::Find) \ +Requires: perl(File::Spec) >= 0.8 \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(ExtUtils::Manifest) = 1.75 \ +%{nil} +%global gendep_perl_ExtUtils_Miniperl \ +Requires: perl(Exporter) \ +Requires: perl(ExtUtils::Embed) >= 1.31 \ +Requires: perl(strict) \ +Provides: perl(ExtUtils::Miniperl) = 1.14 \ +%{nil} +%global gendep_perl_ExtUtils_ParseXS \ +Requires: perl(:VERSION) >= 5.6.0 \ +Requires: perl(:VERSION) >= 5.6.1 \ +Requires: perl(Config) \ +Requires: perl(Cwd) \ +Requires: perl(Exporter) \ +Requires: perl(ExtUtils::ParseXS) \ +Requires: perl(ExtUtils::ParseXS::Constants) \ +Requires: perl(ExtUtils::ParseXS::Utilities) \ +Requires: perl(ExtUtils::Typemaps) \ +Requires: perl(ExtUtils::Typemaps::InputMap) \ +Requires: perl(ExtUtils::Typemaps::OutputMap) \ +Requires: perl(ExtUtils::Typemaps::Type) \ +Requires: perl(File::Basename) \ +Requires: perl(File::Spec) \ +Requires: perl(Getopt::Long) \ +Requires: perl(Symbol) \ +Requires: perl(re) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(ExtUtils::ParseXS) = 3.51 \ +Provides: perl(ExtUtils::ParseXS::Constants) = 3.51 \ +Provides: perl(ExtUtils::ParseXS::CountLines) = 3.51 \ +Provides: perl(ExtUtils::ParseXS::Eval) = 3.51 \ +Provides: perl(ExtUtils::ParseXS::Utilities) = 3.51 \ +Provides: perl(ExtUtils::Typemaps) = 3.51 \ +Provides: perl(ExtUtils::Typemaps::Cmd) = 3.51 \ +Provides: perl(ExtUtils::Typemaps::InputMap) = 3.51 \ +Provides: perl(ExtUtils::Typemaps::OutputMap) = 3.51 \ +Provides: perl(ExtUtils::Typemaps::Type) = 3.51 \ +%{nil} +%global gendep_perl_Fcntl \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(Exporter) \ +Requires: perl(XSLoader) \ +Requires: perl(strict) \ +Provides: perl(Fcntl) = 1.18 \ +%{nil} +%global gendep_perl_Fcntl_debuginfo \ +%{nil} +%global gendep_perl_File_Basename \ +Requires: perl(:VERSION) >= 5.6.0 \ +Requires: perl(Exporter) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(File::Basename) = 2.86 \ +%{nil} +%global gendep_perl_File_Compare \ +Requires: perl(:VERSION) >= 5.12.0 \ +Requires: perl(Exporter) \ +Requires: perl(warnings) \ +Provides: perl(File::Compare) = 1.1008 \ +%{nil} +%global gendep_perl_File_Copy \ +Requires: perl(:VERSION) >= 5.35.7 \ +Requires: perl(Config) \ +Requires: perl(Exporter) \ +Requires: perl(File::Spec) \ +Requires: perl(builtin) \ +Requires: perl(overload) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(File::Copy) = 2.41 \ +%{nil} +%global gendep_perl_File_DosGlob \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(XSLoader) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(File::DosGlob) = 1.12 \ +%{nil} +%global gendep_perl_File_DosGlob_debuginfo \ +%{nil} +%global gendep_perl_File_Fetch \ +Requires: perl(Carp) \ +Requires: perl(Cwd) \ +Requires: perl(File::Basename) \ +Requires: perl(File::Copy) \ +Requires: perl(File::Path) \ +Requires: perl(File::Spec) \ +Requires: perl(File::Spec::Unix) \ +Requires: perl(File::Temp) \ +Requires: perl(FileHandle) \ +Requires: perl(IPC::Cmd) \ +Requires: perl(Locale::Maketext::Simple) \ +Requires: perl(Module::Load::Conditional) \ +Requires: perl(Params::Check) \ +Requires: perl(constant) \ +Requires: perl(strict) \ +Requires: perl(vars) \ +Provides: perl(File::Fetch) = 1.04 \ +%{nil} +%global gendep_perl_File_Find \ +Requires: perl(:VERSION) >= 5.6.0 \ +Requires: perl(Cwd) \ +Requires: perl(Exporter) \ +Requires: perl(File::Basename) \ +Requires: perl(File::Spec) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Requires: perl(warnings::register) \ +Provides: perl(File::Find) = 1.44 \ +%{nil} +%global gendep_perl_File_Path \ +Requires: perl(:VERSION) >= 5.5.0 \ +Requires: perl(Cwd) \ +Requires: perl(Exporter) \ +Requires: perl(File::Basename) \ +Requires: perl(File::Spec) \ +Requires: perl(strict) \ +Requires: perl(vars) \ +Provides: perl(File::Path) = 2.18 \ +%{nil} +%global gendep_perl_File_Temp \ +Requires: perl(:VERSION) >= 5.6.0 \ +Requires: perl(Carp) \ +Requires: perl(Cwd) \ +Requires: perl(Errno) \ +Requires: perl(Exporter) >= 5.57 \ +Requires: perl(Fcntl) >= 1.03 \ +Requires: perl(File::Path) >= 2.06 \ +Requires: perl(File::Spec) >= 0.8 \ +Requires: perl(IO::Handle) \ +Requires: perl(IO::Seekable) \ +Requires: perl(Scalar::Util) \ +Requires: perl(Symbol) \ +Requires: perl(constant) \ +Requires: perl(overload) \ +Requires: perl(parent) >= 0.221 \ +Requires: perl(strict) \ +Provides: perl(File::Temp) = 0.2311 \ +%{nil} +%global gendep_perl_File_stat \ +Requires: perl(:VERSION) >= 5.38.0 \ +Requires: perl(Carp) \ +Requires: perl(Class::Struct) \ +Requires: perl(Exporter) \ +Requires: perl(Fcntl) \ +Requires: perl(constant) \ +Requires: perl(overload) \ +Requires: perl(warnings::register) \ +Provides: perl(File::stat) = 1.14 \ +%{nil} +%global gendep_perl_FileCache \ +Requires: perl(:VERSION) >= 5.6.0 \ +Requires: perl(Carp) \ +Requires: perl(Exporter) \ +Requires: perl(parent) \ +Requires: perl(strict) \ +Provides: perl(FileCache) = 1.10 \ +%{nil} +%global gendep_perl_FileHandle \ +Requires: perl(:VERSION) >= 5.6.0 \ +Requires: perl(IO::File) \ +Requires: perl(strict) \ +Provides: perl(FileHandle) = 2.05 \ +%{nil} +%global gendep_perl_Filter \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(:VERSION) >= 5.6.0 \ +Requires: perl(Exporter) \ +Requires: perl(XSLoader) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(Filter::Util::Call) = 1.64 \ +%{nil} +%global gendep_perl_Filter_Simple \ +Requires: perl(Carp) \ +Requires: perl(Filter::Util::Call) \ +Requires: perl(Text::Balanced) \ +Provides: perl(Filter::Simple) = 0.96 \ +%{nil} +%global gendep_perl_Filter_debuginfo \ +%{nil} +%global gendep_perl_FindBin \ +Requires: perl(Carp) \ +Requires: perl(Cwd) \ +Requires: perl(Exporter) \ +Requires: perl(File::Basename) \ +Requires: perl(File::Spec) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(FindBin) = 1.54 \ +%{nil} +%global gendep_perl_GDBM_File \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(Carp) \ +Requires: perl(Exporter) \ +Requires: perl(Tie::Hash) \ +Requires: perl(XSLoader) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(GDBM_File) = 1.24 \ +%{nil} +%global gendep_perl_GDBM_File_debuginfo \ +%{nil} +%global gendep_perl_Getopt_Long \ +Requires: perl(:VERSION) >= 5.6.1 \ +Requires: perl(Exporter) \ +Requires: perl(Getopt::Long) \ +Requires: perl(base) \ +Requires: perl(constant) \ +Requires: perl(overload) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(Getopt::Long) = 2.57 \ +Provides: perl(Getopt::Long::CallBack) \ +Provides: perl(Getopt::Long::Parser) = 2.57 \ +%{nil} +%global gendep_perl_Getopt_Std \ +Requires: perl(Exporter) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(Getopt::Std) = 1.14 \ +%{nil} +%global gendep_perl_HTTP_Tiny \ +Requires: perl(Errno) \ +Requires: perl(IO::Socket) \ +Requires: perl(Socket) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(HTTP::Tiny) = 0.088 \ +%{nil} +%global gendep_perl_Hash_Util \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(:VERSION) >= 5.7.3 \ +Requires: perl(Carp) \ +Requires: perl(Exporter) \ +Requires: perl(builtin) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Requires: perl(warnings::register) \ +Provides: perl(Hash::Util) = 0.32 \ +%{nil} +%global gendep_perl_Hash_Util_FieldHash \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(Exporter) \ +Requires: perl(builtin) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(Hash::Util::FieldHash) = 1.27 \ +%{nil} +%global gendep_perl_Hash_Util_FieldHash_debuginfo \ +%{nil} +%global gendep_perl_Hash_Util_debuginfo \ +%{nil} +%global gendep_perl_I18N_Collate \ +Requires: perl(Exporter) \ +Requires: perl(POSIX) \ +Requires: perl(overload) \ +Requires: perl(strict) \ +Requires: perl(warnings::register) \ +Provides: perl(I18N::Collate) = 1.02 \ +%{nil} +%global gendep_perl_I18N_LangTags \ +Requires: perl(:VERSION) >= 5.0.0 \ +Requires: perl(Exporter) \ +Requires: perl(I18N::LangTags) \ +Requires: perl(strict) \ +Provides: perl(I18N::LangTags) = 0.45 \ +Provides: perl(I18N::LangTags::Detect) = 1.08 \ +Provides: perl(I18N::LangTags::List) = 0.41 \ +%{nil} +%global gendep_perl_I18N_Langinfo \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(:VERSION) >= 5.6.0 \ +Requires: perl(Carp) \ +Requires: perl(Exporter) \ +Requires: perl(XSLoader) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(I18N::Langinfo) = 0.24 \ +%{nil} +%global gendep_perl_I18N_Langinfo_debuginfo \ +%{nil} +%global gendep_perl_IO \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(:VERSION) >= 5.8.0 \ +Requires: perl(Carp) \ +Requires: perl(Errno) \ +Requires: perl(Exporter) \ +Requires: perl(Fcntl) \ +Requires: perl(File::Spec) \ +Requires: perl(File::stat) \ +Requires: perl(IO) \ +Requires: perl(IO::File) \ +Requires: perl(IO::Handle) \ +Requires: perl(IO::Seekable) \ +Requires: perl(IO::Socket) \ +Requires: perl(IO::Socket::INET) \ +Requires: perl(IO::Socket::UNIX) \ +Requires: perl(SelectSaver) \ +Requires: perl(Socket) >= 1.3 \ +Requires: perl(Symbol) \ +Requires: perl(Tie::Hash) \ +Requires: perl(XSLoader) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Requires: perl(warnings::register) \ +Provides: perl(IO) = 1.55 \ +Provides: perl(IO::Dir) = 1.55 \ +Provides: perl(IO::File) = 1.55 \ +Provides: perl(IO::Handle) = 1.55 \ +Provides: perl(IO::Pipe) = 1.55 \ +Provides: perl(IO::Pipe::End) \ +Provides: perl(IO::Poll) = 1.55 \ +Provides: perl(IO::Seekable) = 1.55 \ +Provides: perl(IO::Select) = 1.55 \ +Provides: perl(IO::Socket) = 1.55 \ +Provides: perl(IO::Socket::INET) = 1.55 \ +Provides: perl(IO::Socket::UNIX) = 1.55 \ +%{nil} +%global gendep_perl_IO_Compress \ +Requires: perl(:VERSION) >= 5.10.0 \ +Requires: perl(:VERSION) >= 5.6.0 \ +Requires: perl(Carp) \ +Requires: perl(Compress::Raw::Bzip2) >= 2.212 \ +Requires: perl(Compress::Raw::Zlib) >= 2.212 \ +Requires: perl(Config) \ +Requires: perl(Data::Dumper) \ +Requires: perl(Encode) \ +Requires: perl(Exporter) \ +Requires: perl(Fcntl) \ +Requires: perl(File::GlobMapper) \ +Requires: perl(File::Spec) \ +Requires: perl(Getopt::Long) \ +Requires: perl(IO::Compress::Adapter::Bzip2) >= 2.212 \ +Requires: perl(IO::Compress::Adapter::Deflate) >= 2.212 \ +Requires: perl(IO::Compress::Adapter::Identity) >= 2.212 \ +Requires: perl(IO::Compress::Base) >= 2.212 \ +Requires: perl(IO::Compress::Base::Common) >= 2.212 \ +Requires: perl(IO::Compress::Gzip) >= 2.212 \ +Requires: perl(IO::Compress::Gzip::Constants) >= 2.212 \ +Requires: perl(IO::Compress::RawDeflate) >= 2.212 \ +Requires: perl(IO::Compress::Zip) \ +Requires: perl(IO::Compress::Zip::Constants) >= 2.212 \ +Requires: perl(IO::Compress::Zlib::Constants) >= 2.212 \ +Requires: perl(IO::Compress::Zlib::Extra) >= 2.212 \ +Requires: perl(IO::File) \ +Requires: perl(IO::Handle) \ +Requires: perl(IO::Uncompress::Adapter::Bunzip2) >= 2.212 \ +Requires: perl(IO::Uncompress::Adapter::Identity) >= 2.212 \ +Requires: perl(IO::Uncompress::Adapter::Inflate) >= 2.212 \ +Requires: perl(IO::Uncompress::Base) >= 2.212 \ +Requires: perl(IO::Uncompress::Gunzip) >= 2.212 \ +Requires: perl(IO::Uncompress::Inflate) >= 2.212 \ +Requires: perl(IO::Uncompress::RawInflate) >= 2.212 \ +Requires: perl(IO::Uncompress::Unzip) >= 2.212 \ +Requires: perl(List::Util) \ +Requires: perl(Scalar::Util) \ +Requires: perl(Symbol) \ +Requires: perl(Time::Local) \ +Requires: perl(bytes) \ +Requires: perl(constant) \ +Requires: perl(feature) \ +Requires: perl(parent) \ +Requires: perl(strict) \ +Requires: perl(utf8) \ +Requires: perl(warnings) \ +Provides: perl(Compress::Zlib) = 2.212 \ +Provides: perl(File::GlobMapper) = 1.001 \ +Provides: perl(IO::Compress::Adapter::Bzip2) = 2.212 \ +Provides: perl(IO::Compress::Adapter::Deflate) = 2.212 \ +Provides: perl(IO::Compress::Adapter::Identity) = 2.212 \ +Provides: perl(IO::Compress::Base) = 2.212 \ +Provides: perl(IO::Compress::Base::Common) = 2.212 \ +Provides: perl(IO::Compress::Bzip2) = 2.212 \ +Provides: perl(IO::Compress::Deflate) = 2.212 \ +Provides: perl(IO::Compress::Gzip) = 2.212 \ +Provides: perl(IO::Compress::Gzip::Constants) = 2.212 \ +Provides: perl(IO::Compress::RawDeflate) = 2.212 \ +Provides: perl(IO::Compress::Zip) = 2.212 \ +Provides: perl(IO::Compress::Zip::Constants) = 2.212 \ +Provides: perl(IO::Compress::Zlib::Constants) = 2.212 \ +Provides: perl(IO::Compress::Zlib::Extra) = 2.212 \ +Provides: perl(IO::Uncompress::Adapter::Bunzip2) = 2.212 \ +Provides: perl(IO::Uncompress::Adapter::Identity) = 2.212 \ +Provides: perl(IO::Uncompress::Adapter::Inflate) = 2.212 \ +Provides: perl(IO::Uncompress::AnyInflate) = 2.212 \ +Provides: perl(IO::Uncompress::AnyUncompress) = 2.212 \ +Provides: perl(IO::Uncompress::Base) = 2.212 \ +Provides: perl(IO::Uncompress::Bunzip2) \ +Provides: perl(IO::Uncompress::Bunzip2) = 2.212 \ +Provides: perl(IO::Uncompress::Gunzip) = 2.212 \ +Provides: perl(IO::Uncompress::Inflate) = 2.212 \ +Provides: perl(IO::Uncompress::RawInflate) = 2.212 \ +Provides: perl(IO::Uncompress::Unzip) = 2.212 \ +Provides: perl(U64) \ +Provides: perl(Zlib::OldDeflate) \ +Provides: perl(Zlib::OldInflate) \ +%{nil} +%global gendep_perl_IO_Socket_IP \ +Requires: perl(:VERSION) >= 5.14.0 \ +Requires: perl(Carp) \ +Requires: perl(Errno) \ +Requires: perl(IO::Socket) \ +Requires: perl(POSIX) \ +Requires: perl(Socket) >= 1.97 \ +Requires: perl(base) \ +Requires: perl(constant) \ +Requires: perl(warnings) \ +Provides: perl(IO::Socket::IP) = 0.42 \ +%{nil} +%global gendep_perl_IO_Zlib \ +Requires: perl(:VERSION) >= 5.6.0 \ +Requires: perl(Carp) \ +Requires: perl(Fcntl) \ +Requires: perl(Symbol) \ +Requires: perl(Tie::Handle) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(IO::Zlib) = 1.15 \ +%{nil} +%global gendep_perl_IO_debuginfo \ +%{nil} +%global gendep_perl_IPC_Cmd \ +Requires: perl(Carp) \ +Requires: perl(Exporter) \ +Requires: perl(File::Spec) \ +Requires: perl(Locale::Maketext::Simple) \ +Requires: perl(Module::Load::Conditional) \ +Requires: perl(Params::Check) \ +Requires: perl(Symbol) \ +Requires: perl(Text::ParseWords) \ +Requires: perl(constant) \ +Requires: perl(strict) \ +Requires: perl(vars) \ +Provides: perl(IPC::Cmd) = 1.04 \ +%{nil} +%global gendep_perl_IPC_Open3 \ +Requires: perl(:VERSION) >= 5.6.0 \ +Requires: perl(Carp) \ +Requires: perl(Exporter) \ +Requires: perl(IPC::Open3) \ +Requires: perl(Symbol) \ +Requires: perl(constant) \ +Requires: perl(strict) \ +Provides: perl(IPC::Open2) = 1.06 \ +Provides: perl(IPC::Open3) = 1.22 \ +%{nil} +%global gendep_perl_IPC_SysV \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(Carp) \ +Requires: perl(Class::Struct) \ +Requires: perl(Config) \ +Requires: perl(Exporter) \ +Requires: perl(IPC::SysV) \ +Requires: perl(XSLoader) \ +Requires: perl(strict) \ +Requires: perl(vars) \ +Provides: perl(IPC::Msg) = 2.09 \ +Provides: perl(IPC::Msg::stat) \ +Provides: perl(IPC::Semaphore) = 2.09 \ +Provides: perl(IPC::Semaphore::stat) \ +Provides: perl(IPC::SharedMem) = 2.09 \ +Provides: perl(IPC::SharedMem::stat) \ +Provides: perl(IPC::SysV) = 2.09 \ +%{nil} +%global gendep_perl_IPC_SysV_debuginfo \ +%{nil} +%global gendep_perl_JSON_PP \ +Requires: perl(:VERSION) >= 5.8.0 \ +Requires: perl(Carp) \ +Requires: perl(Encode) \ +Requires: perl(Exporter) \ +Requires: perl(Getopt::Long) \ +Requires: perl(JSON::PP) \ +Requires: perl(JSON::PP::Boolean) \ +Requires: perl(Scalar::Util) \ +Requires: perl(bytes) \ +Requires: perl(constant) \ +Requires: perl(overload) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(JSON::PP) = 4.16 \ +Provides: perl(JSON::PP::Boolean) = 4.16 \ +Provides: perl(JSON::PP::IncrParser) = 1.01 \ +%{nil} +%global gendep_perl_Locale_Maketext \ +Requires: perl(Carp) \ +Requires: perl(I18N::LangTags) \ +Requires: perl(I18N::LangTags::Detect) \ +Requires: perl(Locale::Maketext) \ +Requires: perl(integer) \ +Requires: perl(strict) \ +Provides: perl(Locale::Maketext) = 1.33 \ +Provides: perl(Locale::Maketext::Guts) = 1.20 \ +Provides: perl(Locale::Maketext::GutsLoader) = 1.20 \ +%{nil} +%global gendep_perl_Locale_Maketext_Simple \ +Requires: perl(:VERSION) >= 5.5.0 \ +Requires: perl(Locale::Maketext) \ +Requires: perl(base) \ +Requires: perl(strict) \ +Provides: perl(Locale::Maketext::Simple) = 0.21 \ +%{nil} +%global gendep_perl_MIME_Base64 \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(Exporter) \ +Requires: perl(MIME::Base64) \ +Requires: perl(XSLoader) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(MIME::Base64) = 3.16 \ +Provides: perl(MIME::QuotedPrint) = 3.16 \ +%{nil} +%global gendep_perl_MIME_Base64_debuginfo \ +%{nil} +%global gendep_perl_Math_BigInt \ +Requires: perl(:VERSION) >= 5.6.0 \ +Requires: perl(:VERSION) >= 5.6.1 \ +Requires: perl(Carp) \ +Requires: perl(Exporter) \ +Requires: perl(Math::BigFloat) \ +Requires: perl(Math::BigInt) \ +Requires: perl(Math::BigInt::Lib) \ +Requires: perl(Scalar::Util) \ +Requires: perl(constant) \ +Requires: perl(integer) \ +Requires: perl(overload) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(Math::BigFloat) = 2.003002 \ +Provides: perl(Math::BigInt) = 2.003002 \ +Provides: perl(Math::BigInt::Calc) = 2.003002 \ +Provides: perl(Math::BigInt::Lib) = 2.003002 \ +Provides: perl(Math::BigRat) = 2.003002 \ +%{nil} +%global gendep_perl_Math_BigInt_FastCalc \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(:VERSION) >= 5.6.1 \ +Requires: perl(Carp) \ +Requires: perl(Math::BigInt::Calc) >= 1.999801 \ +Requires: perl(XSLoader) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(Math::BigInt::FastCalc) = 0.5018 \ +%{nil} +%global gendep_perl_Math_BigInt_FastCalc_debuginfo \ +%{nil} +%global gendep_perl_Math_Complex \ +Requires: perl(Config) \ +Requires: perl(Exporter) \ +Requires: perl(Math::Complex) >= 1.59 \ +Requires: perl(Scalar::Util) \ +Requires: perl(overload) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(Math::Complex) = 1.62 \ +Provides: perl(Math::Trig) = 1.62 \ +%{nil} +%global gendep_perl_Memoize \ +Requires: perl(Carp) \ +Requires: perl(Exporter) \ +Requires: perl(NDBM_File) \ +Requires: perl(SDBM_File) >= 1.01 \ +Requires: perl(Scalar::Util) >= 1.11 \ +Requires: perl(Storable) >= 1.002 \ +Requires: perl(strict) \ +Provides: perl(Memoize) = 1.16 \ +Provides: perl(Memoize::AnyDBM_File) = 1.16 \ +Provides: perl(Memoize::Expire) = 1.16 \ +Provides: perl(Memoize::NDBM_File) = 1.16 \ +Provides: perl(Memoize::SDBM_File) = 1.16 \ +Provides: perl(Memoize::Storable) = 1.16 \ +%{nil} +%global gendep_perl_Module_CoreList \ +Requires: perl(Module::CoreList) \ +Requires: perl(strict) \ +Requires: perl(version) \ +Requires: perl(warnings) \ +Provides: perl(Module::CoreList) = 5.20240609 \ +Provides: perl(Module::CoreList::Utils) = 5.20240609 \ +%{nil} +%global gendep_perl_Module_CoreList_tools \ +Requires: perl(Getopt::Long) \ +Requires: perl(List::Util) \ +Requires: perl(Module::CoreList) \ +Requires: perl(Pod::Usage) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +%{nil} +%global gendep_perl_Module_Load \ +Requires: perl(File::Spec) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(Module::Load) = 0.36 \ +%{nil} +%global gendep_perl_Module_Load_Conditional \ +Requires: perl(Carp) \ +Requires: perl(Exporter) \ +Requires: perl(File::Spec) \ +Requires: perl(FileHandle) \ +Requires: perl(Locale::Maketext::Simple) \ +Requires: perl(Module::Load) \ +Requires: perl(Module::Metadata) \ +Requires: perl(Params::Check) \ +Requires: perl(constant) \ +Requires: perl(strict) \ +Requires: perl(vars) \ +Requires: perl(version) \ +Provides: perl(Module::Load::Conditional) = 0.74 \ +%{nil} +%global gendep_perl_Module_Loaded \ +Requires: perl(Carp) \ +Requires: perl(Exporter) \ +Requires: perl(base) \ +Requires: perl(strict) \ +Requires: perl(vars) \ +Provides: perl(Module::Loaded) = 0.08 \ +%{nil} +%global gendep_perl_Module_Metadata \ +Requires: perl(Carp) \ +Requires: perl(File::Find) \ +Requires: perl(File::Spec) \ +Requires: perl(strict) \ +Requires: perl(version) >= 0.87 \ +Requires: perl(warnings) \ +Provides: perl(Module::Metadata) = 1.000038 \ +%{nil} +%global gendep_perl_NDBM_File \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(Tie::Hash) \ +Requires: perl(XSLoader) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(NDBM_File) = 1.17 \ +%{nil} +%global gendep_perl_NDBM_File_debuginfo \ +%{nil} +%global gendep_perl_NEXT \ +Requires: perl(Carp) \ +Requires: perl(overload) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(EVERY::LAST) \ +Provides: perl(NEXT) = 0.69 \ +Provides: perl(NEXT::ACTUAL) \ +Provides: perl(NEXT::ACTUAL::DISTINCT) \ +Provides: perl(NEXT::ACTUAL::UNSEEN) \ +Provides: perl(NEXT::DISTINCT) \ +Provides: perl(NEXT::DISTINCT::ACTUAL) \ +Provides: perl(NEXT::UNSEEN) \ +Provides: perl(NEXT::UNSEEN::ACTUAL) \ +%{nil} +%global gendep_perl_Net \ +Requires: perl(:VERSION) >= 5.38.0 \ +Requires: perl(Class::Struct) \ +Requires: perl(Exporter) \ +Provides: perl(Net::hostent) = 1.04 \ +Provides: perl(Net::netent) = 1.02 \ +Provides: perl(Net::protoent) = 1.03 \ +Provides: perl(Net::servent) = 1.04 \ +%{nil} +%global gendep_perl_Net_Ping \ +Requires: perl(:VERSION) >= 5.2.0 \ +Requires: perl(Carp) \ +Requires: perl(Exporter) \ +Requires: perl(Fcntl) \ +Requires: perl(FileHandle) \ +Requires: perl(POSIX) \ +Requires: perl(Socket) >= 2.007 \ +Requires: perl(Time::HiRes) \ +Requires: perl(constant) \ +Requires: perl(strict) \ +Requires: perl(vars) \ +Provides: perl(Net::Ping) = 2.76 \ +%{nil} +%global gendep_perl_ODBM_File \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(Tie::Hash) \ +Requires: perl(XSLoader) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(ODBM_File) = 1.18 \ +%{nil} +%global gendep_perl_ODBM_File_debuginfo \ +%{nil} +%global gendep_perl_Opcode \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(Carp) \ +Requires: perl(Exporter) \ +Requires: perl(Opcode) \ +Requires: perl(XSLoader) \ +Requires: perl(strict) \ +Requires: perl(subs) \ +Provides: perl(Opcode) = 1.65 \ +Provides: perl(ops) = 1.02 \ +%{nil} +%global gendep_perl_Opcode_debuginfo \ +%{nil} +%global gendep_perl_POSIX \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(Exporter) \ +Requires: perl(Fcntl) \ +Requires: perl(Tie::Hash) \ +Requires: perl(XSLoader) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(POSIX) = 2.20 \ +Provides: perl(POSIX::SigAction) \ +Provides: perl(POSIX::SigRt) \ +Provides: perl(POSIX::SigSet) \ +%{nil} +%global gendep_perl_POSIX_debuginfo \ +%{nil} +%global gendep_perl_Params_Check \ +Requires: perl(Carp) \ +Requires: perl(Exporter) \ +Requires: perl(Locale::Maketext::Simple) \ +Requires: perl(strict) \ +Requires: perl(vars) \ +Provides: perl(Params::Check) = 0.38 \ +%{nil} +%global gendep_perl_PathTools \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(Cwd) \ +Requires: perl(Exporter) \ +Requires: perl(File::Spec) \ +Requires: perl(File::Spec::Unix) \ +Requires: perl(constant) \ +Requires: perl(strict) \ +Provides: perl(Cwd) = 3.90 \ +Provides: perl(File::Spec) = 3.90 \ +Provides: perl(File::Spec::AmigaOS) = 3.91 \ +Provides: perl(File::Spec::Cygwin) = 3.91 \ +Provides: perl(File::Spec::Epoc) = 3.91 \ +Provides: perl(File::Spec::Functions) = 3.91 \ +Provides: perl(File::Spec::Mac) = 3.91 \ +Provides: perl(File::Spec::OS2) = 3.91 \ +Provides: perl(File::Spec::Unix) = 3.91 \ +Provides: perl(File::Spec::Win32) = 3.91 \ +%{nil} +%global gendep_perl_PathTools_debuginfo \ +%{nil} +%global gendep_perl_Perl_OSType \ +Requires: perl(Exporter) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(Perl::OSType) = 1.010 \ +%{nil} +%global gendep_perl_PerlIO_via_QuotedPrint \ +Requires: perl(:VERSION) >= 5.8.1 \ +Requires: perl(MIME::QuotedPrint) \ +Requires: perl(strict) \ +Provides: perl(PerlIO::via::QuotedPrint) = 0.10 \ +%{nil} +%global gendep_perl_Pod_Checker \ +Requires: perl(Carp) \ +Requires: perl(Exporter) \ +Requires: perl(Getopt::Long) \ +Requires: perl(Pod::Checker) \ +Requires: perl(Pod::Simple::Methody) \ +Requires: perl(Pod::Usage) \ +Requires: perl(base) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(Pod::Checker) = 1.77 \ +%{nil} +%global gendep_perl_Pod_Escapes \ +Requires: perl(:VERSION) >= 5.6.0 \ +Requires: perl(Exporter) \ +Requires: perl(strict) \ +Requires: perl(vars) \ +Requires: perl(warnings) \ +Provides: perl(Pod::Escapes) = 1.07 \ +%{nil} +%global gendep_perl_Pod_Functions \ +Requires: perl(Exporter) \ +Requires: perl(strict) \ +Provides: perl(Pod::Functions) = 1.14 \ +%{nil} +%global gendep_perl_Pod_Html \ +Requires: perl(Config) \ +Requires: perl(Cwd) \ +Requires: perl(Exporter) \ +Requires: perl(File::Basename) \ +Requires: perl(File::Spec) \ +Requires: perl(File::Spec::Unix) \ +Requires: perl(Getopt::Long) \ +Requires: perl(Pod::Html) \ +Requires: perl(Pod::Html::Util) \ +Requires: perl(Pod::Simple::Search) \ +Requires: perl(Pod::Simple::SimpleTree) \ +Requires: perl(Pod::Simple::XHTML) \ +Requires: perl(Text::Tabs) \ +Requires: perl(locale) \ +Requires: perl(parent) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(Pod::Html) = 1.35 \ +Provides: perl(Pod::Html::Util) = 1.35 \ +Provides: perl(Pod::Simple::XHTML::LocalPodLinks) \ +%{nil} +%global gendep_perl_Pod_Perldoc \ +Requires: perl(:VERSION) >= 5.0.0 \ +Requires: perl(:VERSION) >= 5.6.0 \ +Requires: perl(Carp) \ +Requires: perl(Config) \ +Requires: perl(Encode) \ +Requires: perl(Fcntl) \ +Requires: perl(File::Basename) \ +Requires: perl(File::Spec::Functions) \ +Requires: perl(IO::Select) \ +Requires: perl(Pod::Man) >= 2.18 \ +Requires: perl(Pod::Perldoc) \ +Requires: perl(Pod::Perldoc::BaseTo) \ +Requires: perl(Pod::Perldoc::GetOptsOO) \ +Requires: perl(Pod::Simple::RTF) \ +Requires: perl(Pod::Simple::XMLOutStream) \ +Requires: perl(Pod::Text) \ +Requires: perl(Pod::Text::Color) \ +Requires: perl(Pod::Text::Termcap) \ +Requires: perl(parent) \ +Requires: perl(strict) \ +Requires: perl(vars) \ +Requires: perl(warnings) \ +Provides: perl(Pod::Perldoc) = 3.2801 \ +Provides: perl(Pod::Perldoc::BaseTo) = 3.28 \ +Provides: perl(Pod::Perldoc::GetOptsOO) = 3.28 \ +Provides: perl(Pod::Perldoc::ToANSI) = 3.28 \ +Provides: perl(Pod::Perldoc::ToChecker) = 3.28 \ +Provides: perl(Pod::Perldoc::ToMan) = 3.28 \ +Provides: perl(Pod::Perldoc::ToNroff) = 3.28 \ +Provides: perl(Pod::Perldoc::ToPod) = 3.28 \ +Provides: perl(Pod::Perldoc::ToRtf) = 3.28 \ +Provides: perl(Pod::Perldoc::ToTerm) = 3.28 \ +Provides: perl(Pod::Perldoc::ToText) = 3.28 \ +Provides: perl(Pod::Perldoc::ToTk) = 3.28 \ +Provides: perl(Pod::Perldoc::ToXml) = 3.28 \ +%{nil} +%global gendep_perl_Pod_Simple \ +Requires: perl(:VERSION) >= 5.8.0 \ +Requires: perl(Carp) \ +Requires: perl(Config) \ +Requires: perl(Cwd) \ +Requires: perl(Encode) \ +Requires: perl(File::Basename) \ +Requires: perl(File::Spec) \ +Requires: perl(Getopt::Long) \ +Requires: perl(Pod::Escapes) >= 1.04 \ +Requires: perl(Pod::Simple) \ +Requires: perl(Pod::Simple::BlackBox) \ +Requires: perl(Pod::Simple::HTML) \ +Requires: perl(Pod::Simple::LinkSection) \ +Requires: perl(Pod::Simple::Methody) \ +Requires: perl(Pod::Simple::PullParser) \ +Requires: perl(Pod::Simple::PullParserEndToken) \ +Requires: perl(Pod::Simple::PullParserStartToken) \ +Requires: perl(Pod::Simple::PullParserTextToken) \ +Requires: perl(Pod::Simple::PullParserToken) \ +Requires: perl(Pod::Simple::Search) \ +Requires: perl(Pod::Simple::TiedOutFH) \ +Requires: perl(Symbol) \ +Requires: perl(Text::Wrap) >= 98.112902 \ +Requires: perl(if) \ +Requires: perl(integer) \ +Requires: perl(overload) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(Pod::Simple) = 3.45 \ +Provides: perl(Pod::Simple::BlackBox) = 3.45 \ +Provides: perl(Pod::Simple::Checker) = 3.45 \ +Provides: perl(Pod::Simple::Debug) = 3.45 \ +Provides: perl(Pod::Simple::DumpAsText) = 3.45 \ +Provides: perl(Pod::Simple::DumpAsXML) = 3.45 \ +Provides: perl(Pod::Simple::HTML) = 3.45 \ +Provides: perl(Pod::Simple::HTMLBatch) = 3.45 \ +Provides: perl(Pod::Simple::HTMLLegacy) = 5.02 \ +Provides: perl(Pod::Simple::JustPod) \ +Provides: perl(Pod::Simple::LinkSection) = 3.45 \ +Provides: perl(Pod::Simple::Methody) = 3.45 \ +Provides: perl(Pod::Simple::Progress) = 3.45 \ +Provides: perl(Pod::Simple::PullParser) = 3.45 \ +Provides: perl(Pod::Simple::PullParserEndToken) = 3.45 \ +Provides: perl(Pod::Simple::PullParserStartToken) = 3.45 \ +Provides: perl(Pod::Simple::PullParserTextToken) = 3.45 \ +Provides: perl(Pod::Simple::PullParserToken) = 3.45 \ +Provides: perl(Pod::Simple::RTF) = 3.45 \ +Provides: perl(Pod::Simple::Search) = 3.45 \ +Provides: perl(Pod::Simple::SimpleTree) = 3.45 \ +Provides: perl(Pod::Simple::Text) = 3.45 \ +Provides: perl(Pod::Simple::TextContent) = 3.45 \ +Provides: perl(Pod::Simple::TiedOutFH) = 3.45 \ +Provides: perl(Pod::Simple::Transcode) = 3.45 \ +Provides: perl(Pod::Simple::TranscodeDumb) = 3.45 \ +Provides: perl(Pod::Simple::TranscodeSmart) = 3.45 \ +Provides: perl(Pod::Simple::XHTML) = 3.45 \ +Provides: perl(Pod::Simple::XMLOutStream) = 3.45 \ +%{nil} +%global gendep_perl_Pod_Usage \ +Requires: perl(:VERSION) >= 5.6.0 \ +Requires: perl(Carp) \ +Requires: perl(Config) \ +Requires: perl(Exporter) \ +Requires: perl(File::Spec) \ +Requires: perl(Getopt::Long) \ +Requires: perl(Pod::Usage) \ +Requires: perl(strict) \ +Provides: perl(Pod::Usage) = 2.03 \ +%{nil} +%global gendep_perl_Safe \ +Requires: perl(:VERSION) >= 5.3.0 \ +Requires: perl(B) \ +Requires: perl(Carp) \ +Requires: perl(Opcode) >= 1.01 \ +Requires: perl(Scalar::Util) \ +Requires: perl(strict) \ +Requires: perl(utf8) \ +Provides: perl(Safe) = 2.46 \ +%{nil} +%global gendep_perl_Scalar_List_Utils \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(Exporter) \ +Requires: perl(List::Util) \ +Requires: perl(XSLoader) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(List::Util) = 1.63 \ +Provides: perl(List::Util::XS) = 1.63 \ +Provides: perl(Scalar::Util) = 1.63 \ +Provides: perl(Sub::Util) = 1.63 \ +%{nil} +%global gendep_perl_Scalar_List_Utils_debuginfo \ +%{nil} +%global gendep_perl_Search_Dict \ +Requires: perl(:VERSION) >= 5.0.0 \ +Requires: perl(Exporter) \ +Requires: perl(strict) \ +Provides: perl(Search::Dict) = 1.07 \ +%{nil} +%global gendep_perl_SelectSaver \ +Requires: perl(:VERSION) >= 5.0.0 \ +Requires: perl(Carp) \ +Requires: perl(Symbol) \ +Provides: perl(SelectSaver) = 1.02 \ +%{nil} +%global gendep_perl_SelfLoader \ +Requires: perl(:VERSION) >= 5.8.0 \ +Requires: perl(Exporter) \ +Requires: perl(IO::Handle) \ +Requires: perl(strict) \ +Provides: perl(SelfLoader) = 1.27 \ +%{nil} +%global gendep_perl_Socket \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(:VERSION) >= 5.6.1 \ +Requires: perl(Carp) \ +Requires: perl(Exporter) \ +Requires: perl(XSLoader) \ +Requires: perl(strict) \ +Requires: perl(warnings::register) \ +Provides: perl(Socket) = 2.038 \ +%{nil} +%global gendep_perl_Socket_debuginfo \ +%{nil} +%global gendep_perl_Storable \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(Carp) \ +Requires: perl(Exporter) \ +Requires: perl(XSLoader) \ +Provides: perl(Storable) = 3.32 \ +%{nil} +%global gendep_perl_Storable_debuginfo \ +%{nil} +%global gendep_perl_Symbol \ +Requires: perl(Exporter) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(Symbol) = 1.09 \ +%{nil} +%global gendep_perl_Sys_Hostname \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(Carp) \ +Requires: perl(Exporter) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(Sys::Hostname) = 1.25 \ +%{nil} +%global gendep_perl_Sys_Hostname_debuginfo \ +%{nil} +%global gendep_perl_Sys_Syslog \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(:VERSION) >= 5.5.0 \ +Requires: perl(Carp) \ +Requires: perl(Config) \ +Requires: perl(Exporter) \ +Requires: perl(File::Basename) \ +Requires: perl(POSIX) \ +Requires: perl(Socket) \ +Requires: perl(constant) \ +Requires: perl(strict) \ +Requires: perl(vars) \ +Requires: perl(warnings) \ +Requires: perl(warnings::register) \ +Provides: perl(Sys::Syslog) = 0.36 \ +%{nil} +%global gendep_perl_Sys_Syslog_debuginfo \ +%{nil} +%global gendep_perl_Term_ANSIColor \ +Requires: perl(:VERSION) >= 5.8.0 \ +Requires: perl(Exporter) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(Term::ANSIColor) = 5.01 \ +%{nil} +%global gendep_perl_Term_Cap \ +Requires: perl(strict) \ +Requires: perl(vars) \ +Provides: perl(Term::Cap) = 1.18 \ +%{nil} +%global gendep_perl_Term_Complete \ +Requires: perl(:VERSION) >= 5.0.0 \ +Requires: perl(Exporter) \ +Requires: perl(strict) \ +Provides: perl(Term::Complete) = 1.403 \ +%{nil} +%global gendep_perl_Term_ReadLine \ +Requires: perl(strict) \ +Provides: perl(Term::ReadLine) = 1.17 \ +Provides: perl(Term::ReadLine::Stub) \ +Provides: perl(Term::ReadLine::TermCap) \ +Provides: perl(Term::ReadLine::Tk) \ +%{nil} +%global gendep_perl_Term_Table \ +Requires: perl(Carp) \ +Requires: perl(Config) \ +Requires: perl(Exporter) \ +Requires: perl(List::Util) \ +Requires: perl(Scalar::Util) \ +Requires: perl(Term::Table::Cell) \ +Requires: perl(Term::Table::HashBase) \ +Requires: perl(Term::Table::LineBreak) \ +Requires: perl(Term::Table::Util) \ +Requires: perl(base) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(Term::Table) = 0.018 \ +Provides: perl(Term::Table::Cell) = 0.018 \ +Provides: perl(Term::Table::CellStack) = 0.018 \ +Provides: perl(Term::Table::HashBase) = 0.018 \ +Provides: perl(Term::Table::LineBreak) = 0.018 \ +Provides: perl(Term::Table::Spacer) = 0.018 \ +Provides: perl(Term::Table::Util) = 0.018 \ +%{nil} +%global gendep_perl_Test \ +Requires: perl(:VERSION) >= 5.4.0 \ +Requires: perl(Carp) \ +Requires: perl(Exporter) \ +Requires: perl(strict) \ +Provides: perl(Test) = 1.31 \ +%{nil} +%global gendep_perl_Test_Harness \ +Requires: perl(:VERSION) >= 5.6.0 \ +Requires: perl(App::Prove) \ +Requires: perl(App::Prove::State) \ +Requires: perl(App::Prove::State::Result) \ +Requires: perl(App::Prove::State::Result::Test) \ +Requires: perl(Benchmark) \ +Requires: perl(Carp) \ +Requires: perl(Config) \ +Requires: perl(Errno) \ +Requires: perl(Exporter) \ +Requires: perl(File::Basename) \ +Requires: perl(File::Find) \ +Requires: perl(File::Path) \ +Requires: perl(File::Spec) \ +Requires: perl(Getopt::Long) \ +Requires: perl(IO::Handle) \ +Requires: perl(IO::Select) \ +Requires: perl(POSIX) \ +Requires: perl(TAP::Base) \ +Requires: perl(TAP::Formatter::Base) \ +Requires: perl(TAP::Formatter::Console::Session) \ +Requires: perl(TAP::Formatter::File::Session) \ +Requires: perl(TAP::Formatter::Session) \ +Requires: perl(TAP::Harness) \ +Requires: perl(TAP::Harness::Env) \ +Requires: perl(TAP::Object) \ +Requires: perl(TAP::Parser::Aggregator) \ +Requires: perl(TAP::Parser::Grammar) \ +Requires: perl(TAP::Parser::Iterator) \ +Requires: perl(TAP::Parser::Iterator::Array) \ +Requires: perl(TAP::Parser::Iterator::Process) \ +Requires: perl(TAP::Parser::Iterator::Stream) \ +Requires: perl(TAP::Parser::IteratorFactory) \ +Requires: perl(TAP::Parser::Result) \ +Requires: perl(TAP::Parser::Result::Bailout) \ +Requires: perl(TAP::Parser::Result::Comment) \ +Requires: perl(TAP::Parser::Result::Plan) \ +Requires: perl(TAP::Parser::Result::Pragma) \ +Requires: perl(TAP::Parser::Result::Test) \ +Requires: perl(TAP::Parser::Result::Unknown) \ +Requires: perl(TAP::Parser::Result::Version) \ +Requires: perl(TAP::Parser::Result::YAML) \ +Requires: perl(TAP::Parser::ResultFactory) \ +Requires: perl(TAP::Parser::Scheduler::Job) \ +Requires: perl(TAP::Parser::Scheduler::Spinner) \ +Requires: perl(TAP::Parser::Source) \ +Requires: perl(TAP::Parser::SourceHandler) \ +Requires: perl(TAP::Parser::SourceHandler::Executable) \ +Requires: perl(TAP::Parser::SourceHandler::File) \ +Requires: perl(TAP::Parser::SourceHandler::Handle) \ +Requires: perl(TAP::Parser::SourceHandler::Perl) \ +Requires: perl(TAP::Parser::SourceHandler::RawTAP) \ +Requires: perl(TAP::Parser::YAMLish::Reader) \ +Requires: perl(TAP::Parser::YAMLish::Writer) \ +Requires: perl(Text::ParseWords) \ +Requires: perl(base) \ +Requires: perl(constant) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(App::Prove) = 3.48 \ +Provides: perl(App::Prove::State) = 3.48 \ +Provides: perl(App::Prove::State::Result) = 3.48 \ +Provides: perl(App::Prove::State::Result::Test) = 3.48 \ +Provides: perl(TAP::Base) = 3.48 \ +Provides: perl(TAP::Formatter::Base) = 3.48 \ +Provides: perl(TAP::Formatter::Color) = 3.48 \ +Provides: perl(TAP::Formatter::Console) = 3.48 \ +Provides: perl(TAP::Formatter::Console::ParallelSession) = 3.48 \ +Provides: perl(TAP::Formatter::Console::Session) = 3.48 \ +Provides: perl(TAP::Formatter::File) = 3.48 \ +Provides: perl(TAP::Formatter::File::Session) = 3.48 \ +Provides: perl(TAP::Formatter::Session) = 3.48 \ +Provides: perl(TAP::Harness) = 3.48 \ +Provides: perl(TAP::Harness::Env) = 3.48 \ +Provides: perl(TAP::Object) = 3.48 \ +Provides: perl(TAP::Parser) = 3.48 \ +Provides: perl(TAP::Parser::Aggregator) = 3.48 \ +Provides: perl(TAP::Parser::Grammar) = 3.48 \ +Provides: perl(TAP::Parser::Iterator) = 3.48 \ +Provides: perl(TAP::Parser::Iterator::Array) = 3.48 \ +Provides: perl(TAP::Parser::Iterator::Process) = 3.48 \ +Provides: perl(TAP::Parser::Iterator::Stream) = 3.48 \ +Provides: perl(TAP::Parser::IteratorFactory) = 3.48 \ +Provides: perl(TAP::Parser::Multiplexer) = 3.48 \ +Provides: perl(TAP::Parser::Result) = 3.48 \ +Provides: perl(TAP::Parser::Result::Bailout) = 3.48 \ +Provides: perl(TAP::Parser::Result::Comment) = 3.48 \ +Provides: perl(TAP::Parser::Result::Plan) = 3.48 \ +Provides: perl(TAP::Parser::Result::Pragma) = 3.48 \ +Provides: perl(TAP::Parser::Result::Test) = 3.48 \ +Provides: perl(TAP::Parser::Result::Unknown) = 3.48 \ +Provides: perl(TAP::Parser::Result::Version) = 3.48 \ +Provides: perl(TAP::Parser::Result::YAML) = 3.48 \ +Provides: perl(TAP::Parser::ResultFactory) = 3.48 \ +Provides: perl(TAP::Parser::Scheduler) = 3.48 \ +Provides: perl(TAP::Parser::Scheduler::Job) = 3.48 \ +Provides: perl(TAP::Parser::Scheduler::Spinner) = 3.48 \ +Provides: perl(TAP::Parser::Source) = 3.48 \ +Provides: perl(TAP::Parser::SourceHandler) = 3.48 \ +Provides: perl(TAP::Parser::SourceHandler::Executable) = 3.48 \ +Provides: perl(TAP::Parser::SourceHandler::File) = 3.48 \ +Provides: perl(TAP::Parser::SourceHandler::Handle) = 3.48 \ +Provides: perl(TAP::Parser::SourceHandler::Perl) = 3.48 \ +Provides: perl(TAP::Parser::SourceHandler::RawTAP) = 3.48 \ +Provides: perl(TAP::Parser::YAMLish::Reader) = 3.48 \ +Provides: perl(TAP::Parser::YAMLish::Writer) = 3.48 \ +Provides: perl(Test::Harness) = 3.48 \ +%{nil} +%global gendep_perl_Test_Simple \ +Requires: perl(:VERSION) >= 5.5.0 \ +Requires: perl(:VERSION) >= 5.6.0 \ +Requires: perl(Carp) \ +Requires: perl(Config) \ +Requires: perl(Exporter) \ +Requires: perl(File::Spec) \ +Requires: perl(File::Temp) \ +Requires: perl(IO::Handle) \ +Requires: perl(List::Util) \ +Requires: perl(POSIX) \ +Requires: perl(Scalar::Util) \ +Requires: perl(Storable) \ +Requires: perl(Symbol) \ +Requires: perl(Test2::API) \ +Requires: perl(Test2::API::Context) \ +Requires: perl(Test2::API::Instance) \ +Requires: perl(Test2::API::InterceptResult::Event) \ +Requires: perl(Test2::API::InterceptResult::Facet) \ +Requires: perl(Test2::API::InterceptResult::Hub) \ +Requires: perl(Test2::API::InterceptResult::Squasher) \ +Requires: perl(Test2::API::Stack) \ +Requires: perl(Test2::Event) \ +Requires: perl(Test2::Event::Bail) \ +Requires: perl(Test2::Event::Diag) \ +Requires: perl(Test2::Event::Exception) \ +Requires: perl(Test2::Event::Note) \ +Requires: perl(Test2::Event::Ok) \ +Requires: perl(Test2::Event::Plan) \ +Requires: perl(Test2::Event::Skip) \ +Requires: perl(Test2::Event::Subtest) \ +Requires: perl(Test2::Event::Waiting) \ +Requires: perl(Test2::EventFacet) \ +Requires: perl(Test2::EventFacet::About) \ +Requires: perl(Test2::EventFacet::Amnesty) \ +Requires: perl(Test2::EventFacet::Assert) \ +Requires: perl(Test2::EventFacet::Control) \ +Requires: perl(Test2::EventFacet::Error) \ +Requires: perl(Test2::EventFacet::Hub) \ +Requires: perl(Test2::EventFacet::Info) \ +Requires: perl(Test2::EventFacet::Meta) \ +Requires: perl(Test2::EventFacet::Parent) \ +Requires: perl(Test2::EventFacet::Plan) \ +Requires: perl(Test2::EventFacet::Trace) \ +Requires: perl(Test2::Formatter) \ +Requires: perl(Test2::Formatter::TAP) \ +Requires: perl(Test2::Hub) \ +Requires: perl(Test2::Hub::Interceptor) \ +Requires: perl(Test2::Hub::Interceptor::Terminator) \ +Requires: perl(Test2::Hub::Subtest) \ +Requires: perl(Test2::IPC::Driver) \ +Requires: perl(Test2::Util) \ +Requires: perl(Test2::Util::ExternalMeta) \ +Requires: perl(Test2::Util::Facets2Legacy) \ +Requires: perl(Test2::Util::HashBase) \ +Requires: perl(Test2::Util::Trace) \ +Requires: perl(Test::Builder) \ +Requires: perl(Test::Builder::Formatter) \ +Requires: perl(Test::Builder::Module) \ +Requires: perl(Test::Builder::Tester) \ +Requires: perl(Test::Builder::TodoDiag) \ +Requires: perl(Test::More) \ +Requires: perl(Test::Tester::Capture) \ +Requires: perl(Test::Tester::CaptureRunner) \ +Requires: perl(Test::Tester::Delegate) \ +Requires: perl(Time::HiRes) \ +Requires: perl(base) \ +Requires: perl(strict) \ +Requires: perl(vars) \ +Requires: perl(warnings) \ +Provides: perl(Test2) = 1.302199 \ +Provides: perl(Test2::API) = 1.302199 \ +Provides: perl(Test2::API::Breakage) = 1.302199 \ +Provides: perl(Test2::API::Context) = 1.302199 \ +Provides: perl(Test2::API::Instance) = 1.302199 \ +Provides: perl(Test2::API::InterceptResult) = 1.302199 \ +Provides: perl(Test2::API::InterceptResult::Event) = 1.302199 \ +Provides: perl(Test2::API::InterceptResult::Facet) = 1.302199 \ +Provides: perl(Test2::API::InterceptResult::Hub) = 1.302199 \ +Provides: perl(Test2::API::InterceptResult::Squasher) = 1.302199 \ +Provides: perl(Test2::API::Stack) = 1.302199 \ +Provides: perl(Test2::Event) = 1.302199 \ +Provides: perl(Test2::Event::Bail) = 1.302199 \ +Provides: perl(Test2::Event::Diag) = 1.302199 \ +Provides: perl(Test2::Event::Encoding) = 1.302199 \ +Provides: perl(Test2::Event::Exception) = 1.302199 \ +Provides: perl(Test2::Event::Fail) = 1.302199 \ +Provides: perl(Test2::Event::Generic) = 1.302199 \ +Provides: perl(Test2::Event::Note) = 1.302199 \ +Provides: perl(Test2::Event::Ok) = 1.302199 \ +Provides: perl(Test2::Event::Pass) = 1.302199 \ +Provides: perl(Test2::Event::Plan) = 1.302199 \ +Provides: perl(Test2::Event::Skip) = 1.302199 \ +Provides: perl(Test2::Event::Subtest) = 1.302199 \ +Provides: perl(Test2::Event::TAP::Version) = 1.302199 \ +Provides: perl(Test2::Event::V2) = 1.302199 \ +Provides: perl(Test2::Event::Waiting) = 1.302199 \ +Provides: perl(Test2::EventFacet) = 1.302199 \ +Provides: perl(Test2::EventFacet::About) = 1.302199 \ +Provides: perl(Test2::EventFacet::Amnesty) = 1.302199 \ +Provides: perl(Test2::EventFacet::Assert) = 1.302199 \ +Provides: perl(Test2::EventFacet::Control) = 1.302199 \ +Provides: perl(Test2::EventFacet::Error) = 1.302199 \ +Provides: perl(Test2::EventFacet::Hub) = 1.302199 \ +Provides: perl(Test2::EventFacet::Info) = 1.302199 \ +Provides: perl(Test2::EventFacet::Info::Table) = 1.302199 \ +Provides: perl(Test2::EventFacet::Meta) = 1.302199 \ +Provides: perl(Test2::EventFacet::Parent) = 1.302199 \ +Provides: perl(Test2::EventFacet::Plan) = 1.302199 \ +Provides: perl(Test2::EventFacet::Render) = 1.302199 \ +Provides: perl(Test2::EventFacet::Trace) = 1.302199 \ +Provides: perl(Test2::Formatter) = 1.302199 \ +Provides: perl(Test2::Formatter::TAP) = 1.302199 \ +Provides: perl(Test2::Hub) = 1.302199 \ +Provides: perl(Test2::Hub::Interceptor) = 1.302199 \ +Provides: perl(Test2::Hub::Interceptor::Terminator) = 1.302199 \ +Provides: perl(Test2::Hub::Subtest) = 1.302199 \ +Provides: perl(Test2::IPC) = 1.302199 \ +Provides: perl(Test2::IPC::Driver) = 1.302199 \ +Provides: perl(Test2::IPC::Driver::Files) = 1.302199 \ +Provides: perl(Test2::Tools::Tiny) = 1.302199 \ +Provides: perl(Test2::Util) = 1.302199 \ +Provides: perl(Test2::Util::ExternalMeta) = 1.302199 \ +Provides: perl(Test2::Util::Facets2Legacy) = 1.302199 \ +Provides: perl(Test2::Util::HashBase) = 1.302199 \ +Provides: perl(Test2::Util::Trace) = 1.302199 \ +Provides: perl(Test::Builder) = 1.302199 \ +Provides: perl(Test::Builder::Formatter) = 1.302199 \ +Provides: perl(Test::Builder::IO::Scalar) = 2.114 \ +Provides: perl(Test::Builder::Module) = 1.302199 \ +Provides: perl(Test::Builder::Tester) = 1.302199 \ +Provides: perl(Test::Builder::Tester::Color) = 1.302199 \ +Provides: perl(Test::Builder::Tester::Tie) \ +Provides: perl(Test::Builder::TodoDiag) = 1.302199 \ +Provides: perl(Test::More) = 1.302199 \ +Provides: perl(Test::Simple) = 1.302199 \ +Provides: perl(Test::Tester) = 1.302199 \ +Provides: perl(Test::Tester::Capture) = 1.302199 \ +Provides: perl(Test::Tester::CaptureRunner) = 1.302199 \ +Provides: perl(Test::Tester::Delegate) = 1.302199 \ +Provides: perl(Test::use::ok) = 1.302199 \ +Provides: perl(ok) = 1.302199 \ +%{nil} +%global gendep_perl_Test2_Suite \ +Requires: perl(B) \ +Requires: perl(Carp) \ +Requires: perl(Exporter) \ +Requires: perl(File::Spec) \ +Requires: perl(File::Temp) \ +Requires: perl(List::Util) \ +Requires: perl(Scalar::Util) \ +Requires: perl(Term::Table) \ +Requires: perl(Term::Table::Cell) \ +Requires: perl(Term::Table::LineBreak) \ +Requires: perl(Term::Table::Util) \ +Requires: perl(Test2::API) \ +Requires: perl(Test2::API::Context) \ +Requires: perl(Test2::AsyncSubtest) \ +Requires: perl(Test2::AsyncSubtest::Event::Attach) \ +Requires: perl(Test2::AsyncSubtest::Event::Detach) \ +Requires: perl(Test2::AsyncSubtest::Hub) \ +Requires: perl(Test2::Compare) \ +Requires: perl(Test2::Compare::Array) \ +Requires: perl(Test2::Compare::Bag) \ +Requires: perl(Test2::Compare::Base) \ +Requires: perl(Test2::Compare::Bool) \ +Requires: perl(Test2::Compare::Custom) \ +Requires: perl(Test2::Compare::DeepRef) \ +Requires: perl(Test2::Compare::Delta) \ +Requires: perl(Test2::Compare::Event) \ +Requires: perl(Test2::Compare::EventMeta) \ +Requires: perl(Test2::Compare::Float) \ +Requires: perl(Test2::Compare::Hash) \ +Requires: perl(Test2::Compare::Isa) \ +Requires: perl(Test2::Compare::Meta) \ +Requires: perl(Test2::Compare::Negatable) \ +Requires: perl(Test2::Compare::Number) \ +Requires: perl(Test2::Compare::Object) \ +Requires: perl(Test2::Compare::OrderedSubset) \ +Requires: perl(Test2::Compare::Pattern) \ +Requires: perl(Test2::Compare::Ref) \ +Requires: perl(Test2::Compare::Regex) \ +Requires: perl(Test2::Compare::Scalar) \ +Requires: perl(Test2::Compare::Set) \ +Requires: perl(Test2::Compare::String) \ +Requires: perl(Test2::Compare::Undef) \ +Requires: perl(Test2::Compare::Wildcard) \ +Requires: perl(Test2::Event) \ +Requires: perl(Test2::Event::Exception) \ +Requires: perl(Test2::EventFacet::Info::Table) \ +Requires: perl(Test2::EventFacet::Trace) \ +Requires: perl(Test2::Hub::Interceptor) \ +Requires: perl(Test2::Hub::Subtest) \ +Requires: perl(Test2::IPC) \ +Requires: perl(Test2::Mock) \ +Requires: perl(Test2::Plugin::ExitSummary) \ +Requires: perl(Test2::Plugin::SRand) \ +Requires: perl(Test2::Plugin::UTF8) \ +Requires: perl(Test2::Require) \ +Requires: perl(Test2::Todo) \ +Requires: perl(Test2::Tools::Basic) \ +Requires: perl(Test2::Tools::Class) \ +Requires: perl(Test2::Tools::ClassicCompare) \ +Requires: perl(Test2::Tools::Compare) \ +Requires: perl(Test2::Tools::Defer) \ +Requires: perl(Test2::Tools::Encoding) \ +Requires: perl(Test2::Tools::Event) \ +Requires: perl(Test2::Tools::Exception) \ +Requires: perl(Test2::Tools::Exports) \ +Requires: perl(Test2::Tools::Mock) \ +Requires: perl(Test2::Tools::Ref) \ +Requires: perl(Test2::Tools::Refcount) \ +Requires: perl(Test2::Tools::Subtest) \ +Requires: perl(Test2::Tools::Target) \ +Requires: perl(Test2::Tools::Warnings) \ +Requires: perl(Test2::Util) \ +Requires: perl(Test2::Util::Grabber) \ +Requires: perl(Test2::Util::Guard) \ +Requires: perl(Test2::Util::HashBase) \ +Requires: perl(Test2::Util::Importer) \ +Requires: perl(Test2::Util::Ref) \ +Requires: perl(Test2::Util::Stash) \ +Requires: perl(Test2::Util::Sub) \ +Requires: perl(Test2::Util::Table) \ +Requires: perl(Test2::Util::Times) \ +Requires: perl(Test2::Util::Trace) \ +Requires: perl(Test2::V0) \ +Requires: perl(Test2::Workflow) \ +Requires: perl(Test2::Workflow::BlockBase) \ +Requires: perl(Test2::Workflow::Build) \ +Requires: perl(Test2::Workflow::Runner) \ +Requires: perl(Test2::Workflow::Task) \ +Requires: perl(Test2::Workflow::Task::Action) \ +Requires: perl(Test2::Workflow::Task::Group) \ +Requires: perl(Time::HiRes) \ +Requires: perl(base) \ +Requires: perl(constant) \ +Requires: perl(overload) \ +Requires: perl(strict) \ +Requires: perl(vars) \ +Requires: perl(warnings) \ +Provides: perl(Test2::AsyncSubtest) = 0.000162 \ +Provides: perl(Test2::AsyncSubtest::Event::Attach) = 0.000162 \ +Provides: perl(Test2::AsyncSubtest::Event::Detach) = 0.000162 \ +Provides: perl(Test2::AsyncSubtest::Formatter) = 0.000162 \ +Provides: perl(Test2::AsyncSubtest::Hub) = 0.000162 \ +Provides: perl(Test2::Bundle) = 0.000162 \ +Provides: perl(Test2::Bundle::Extended) = 0.000162 \ +Provides: perl(Test2::Bundle::More) = 0.000162 \ +Provides: perl(Test2::Bundle::Simple) = 0.000162 \ +Provides: perl(Test2::Compare) = 0.000162 \ +Provides: perl(Test2::Compare::Array) = 0.000162 \ +Provides: perl(Test2::Compare::Bag) = 0.000162 \ +Provides: perl(Test2::Compare::Base) = 0.000162 \ +Provides: perl(Test2::Compare::Bool) = 0.000162 \ +Provides: perl(Test2::Compare::Custom) = 0.000162 \ +Provides: perl(Test2::Compare::DeepRef) = 0.000162 \ +Provides: perl(Test2::Compare::Delta) = 0.000162 \ +Provides: perl(Test2::Compare::Event) = 0.000162 \ +Provides: perl(Test2::Compare::EventMeta) = 0.000162 \ +Provides: perl(Test2::Compare::Float) = 0.000162 \ +Provides: perl(Test2::Compare::Hash) = 0.000162 \ +Provides: perl(Test2::Compare::Isa) = 0.000162 \ +Provides: perl(Test2::Compare::Meta) = 0.000162 \ +Provides: perl(Test2::Compare::Negatable) = 0.000162 \ +Provides: perl(Test2::Compare::Number) = 0.000162 \ +Provides: perl(Test2::Compare::Object) = 0.000162 \ +Provides: perl(Test2::Compare::OrderedSubset) = 0.000162 \ +Provides: perl(Test2::Compare::Pattern) = 0.000162 \ +Provides: perl(Test2::Compare::Ref) = 0.000162 \ +Provides: perl(Test2::Compare::Regex) = 0.000162 \ +Provides: perl(Test2::Compare::Scalar) = 0.000162 \ +Provides: perl(Test2::Compare::Set) = 0.000162 \ +Provides: perl(Test2::Compare::String) = 0.000162 \ +Provides: perl(Test2::Compare::Undef) = 0.000162 \ +Provides: perl(Test2::Compare::Wildcard) = 0.000162 \ +Provides: perl(Test2::Manual) = 0.000162 \ +Provides: perl(Test2::Manual::Anatomy) = 0.000162 \ +Provides: perl(Test2::Manual::Anatomy::API) = 0.000162 \ +Provides: perl(Test2::Manual::Anatomy::Context) = 0.000162 \ +Provides: perl(Test2::Manual::Anatomy::EndToEnd) = 0.000162 \ +Provides: perl(Test2::Manual::Anatomy::Event) = 0.000162 \ +Provides: perl(Test2::Manual::Anatomy::Hubs) = 0.000162 \ +Provides: perl(Test2::Manual::Anatomy::IPC) = 0.000162 \ +Provides: perl(Test2::Manual::Anatomy::Utilities) = 0.000162 \ +Provides: perl(Test2::Manual::Concurrency) = 0.000162 \ +Provides: perl(Test2::Manual::Contributing) = 0.000162 \ +Provides: perl(Test2::Manual::Testing) = 0.000162 \ +Provides: perl(Test2::Manual::Testing::Introduction) = 0.000162 \ +Provides: perl(Test2::Manual::Testing::Migrating) = 0.000162 \ +Provides: perl(Test2::Manual::Testing::Planning) = 0.000162 \ +Provides: perl(Test2::Manual::Testing::Todo) = 0.000162 \ +Provides: perl(Test2::Manual::Tooling) = 0.000162 \ +Provides: perl(Test2::Manual::Tooling::FirstTool) = 0.000162 \ +Provides: perl(Test2::Manual::Tooling::Formatter) = 0.000162 \ +Provides: perl(Test2::Manual::Tooling::Nesting) = 0.000162 \ +Provides: perl(Test2::Manual::Tooling::Plugin::TestExit) = 0.000162 \ +Provides: perl(Test2::Manual::Tooling::Plugin::TestingDone) = 0.000162 \ +Provides: perl(Test2::Manual::Tooling::Plugin::ToolCompletes) = 0.000162 \ +Provides: perl(Test2::Manual::Tooling::Plugin::ToolStarts) = 0.000162 \ +Provides: perl(Test2::Manual::Tooling::Subtest) = 0.000162 \ +Provides: perl(Test2::Manual::Tooling::TestBuilder) = 0.000162 \ +Provides: perl(Test2::Manual::Tooling::Testing) = 0.000162 \ +Provides: perl(Test2::Mock) = 0.000162 \ +Provides: perl(Test2::Plugin) = 0.000162 \ +Provides: perl(Test2::Plugin::BailOnFail) = 0.000162 \ +Provides: perl(Test2::Plugin::DieOnFail) = 0.000162 \ +Provides: perl(Test2::Plugin::ExitSummary) = 0.000162 \ +Provides: perl(Test2::Plugin::SRand) = 0.000162 \ +Provides: perl(Test2::Plugin::Times) = 0.000162 \ +Provides: perl(Test2::Plugin::UTF8) = 0.000162 \ +Provides: perl(Test2::Require) = 0.000162 \ +Provides: perl(Test2::Require::AuthorTesting) = 0.000162 \ +Provides: perl(Test2::Require::AutomatedTesting) = 0.000162 \ +Provides: perl(Test2::Require::EnvVar) = 0.000162 \ +Provides: perl(Test2::Require::ExtendedTesting) = 0.000162 \ +Provides: perl(Test2::Require::Fork) = 0.000162 \ +Provides: perl(Test2::Require::Module) = 0.000162 \ +Provides: perl(Test2::Require::NonInteractiveTesting) = 0.000162 \ +Provides: perl(Test2::Require::Perl) = 0.000162 \ +Provides: perl(Test2::Require::RealFork) = 0.000162 \ +Provides: perl(Test2::Require::ReleaseTesting) = 0.000162 \ +Provides: perl(Test2::Require::Threads) = 0.000162 \ +Provides: perl(Test2::Suite) = 0.000162 \ +Provides: perl(Test2::Todo) = 0.000162 \ +Provides: perl(Test2::Tools) = 0.000162 \ +Provides: perl(Test2::Tools::AsyncSubtest) = 0.000162 \ +Provides: perl(Test2::Tools::Basic) = 0.000162 \ +Provides: perl(Test2::Tools::Class) = 0.000162 \ +Provides: perl(Test2::Tools::ClassicCompare) = 0.000162 \ +Provides: perl(Test2::Tools::Compare) = 0.000162 \ +Provides: perl(Test2::Tools::Defer) = 0.000162 \ +Provides: perl(Test2::Tools::Encoding) = 0.000162 \ +Provides: perl(Test2::Tools::Event) = 0.000162 \ +Provides: perl(Test2::Tools::Exception) = 0.000162 \ +Provides: perl(Test2::Tools::Exports) = 0.000162 \ +Provides: perl(Test2::Tools::GenTemp) = 0.000162 \ +Provides: perl(Test2::Tools::Grab) = 0.000162 \ +Provides: perl(Test2::Tools::Mock) = 0.000162 \ +Provides: perl(Test2::Tools::Ref) = 0.000162 \ +Provides: perl(Test2::Tools::Refcount) = 0.000162 \ +Provides: perl(Test2::Tools::Spec) = 0.000162 \ +Provides: perl(Test2::Tools::Subtest) = 0.000162 \ +Provides: perl(Test2::Tools::Target) = 0.000162 \ +Provides: perl(Test2::Tools::Tester) = 0.000162 \ +Provides: perl(Test2::Tools::Warnings) = 0.000162 \ +Provides: perl(Test2::Util::Grabber) = 0.000162 \ +Provides: perl(Test2::Util::Guard) = 0.000162 \ +Provides: perl(Test2::Util::Importer) = 0.000162 \ +Provides: perl(Test2::Util::Ref) = 0.000162 \ +Provides: perl(Test2::Util::Stash) = 0.000162 \ +Provides: perl(Test2::Util::Sub) = 0.000162 \ +Provides: perl(Test2::Util::Table) = 0.000162 \ +Provides: perl(Test2::Util::Table::Cell) = 0.000162 \ +Provides: perl(Test2::Util::Table::LineBreak) = 0.000162 \ +Provides: perl(Test2::Util::Term) = 0.000162 \ +Provides: perl(Test2::Util::Times) = 0.000162 \ +Provides: perl(Test2::V0) = 0.000162 \ +Provides: perl(Test2::Workflow) = 0.000162 \ +Provides: perl(Test2::Workflow::BlockBase) = 0.000162 \ +Provides: perl(Test2::Workflow::Build) = 0.000162 \ +Provides: perl(Test2::Workflow::Runner) = 0.000162 \ +Provides: perl(Test2::Workflow::Task) = 0.000162 \ +Provides: perl(Test2::Workflow::Task::Action) = 0.000162 \ +Provides: perl(Test2::Workflow::Task::Group) = 0.000162 \ +%{nil} +%global gendep_perl_Text_Abbrev \ +Requires: perl(:VERSION) >= 5.5.0 \ +Requires: perl(Exporter) \ +Provides: perl(Text::Abbrev) = 1.02 \ +%{nil} +%global gendep_perl_Text_Balanced \ +Requires: perl(:VERSION) >= 5.8.1 \ +Requires: perl(Carp) \ +Requires: perl(Exporter) \ +Requires: perl(overload) \ +Requires: perl(strict) \ +Requires: perl(vars) \ +Provides: perl(Text::Balanced) = 2.06 \ +Provides: perl(Text::Balanced::ErrorMsg) \ +Provides: perl(Text::Balanced::Extractor) \ +%{nil} +%global gendep_perl_Text_ParseWords \ +Requires: perl(:VERSION) >= 5.6.0 \ +Requires: perl(Exporter) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(Text::ParseWords) = 3.31 \ +%{nil} +%global gendep_perl_Text_Tabs_Wrap \ +Requires: perl(Exporter) \ +Requires: perl(Text::Tabs) \ +Requires: perl(re) \ +Requires: perl(strict) \ +Requires: perl(warnings::register) \ +Provides: perl(Text::Tabs) = 2024.001 \ +Provides: perl(Text::Wrap) = 2024.001 \ +%{nil} +%global gendep_perl_Thread \ +Requires: perl(Config) \ +Requires: perl(Exporter) \ +Requires: perl(strict) \ +Requires: perl(threads) \ +Requires: perl(threads::shared) \ +Requires: perl(warnings) \ +Provides: perl(Thread) = 3.05 \ +%{nil} +%global gendep_perl_Thread_Queue \ +Requires: perl(Scalar::Util) >= 1.10 \ +Requires: perl(strict) \ +Requires: perl(threads::shared) >= 1.21 \ +Requires: perl(warnings) \ +Provides: perl(Thread::Queue) = 3.14 \ +%{nil} +%global gendep_perl_Thread_Semaphore \ +Requires: perl(Scalar::Util) >= 1.10 \ +Requires: perl(strict) \ +Requires: perl(threads::shared) \ +Requires: perl(warnings) \ +Provides: perl(Thread::Semaphore) = 2.13 \ +%{nil} +%global gendep_perl_Tie \ +Requires: perl(:VERSION) >= 5.6.0 \ +Requires: perl(Carp) \ +Requires: perl(Tie::Handle) \ +Requires: perl(Tie::StdHandle) \ +Requires: perl(integer) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Requires: perl(warnings::register) \ +Provides: perl(Tie::Array) = 1.07 \ +Provides: perl(Tie::Handle) = 4.3 \ +Provides: perl(Tie::Scalar) = 1.06 \ +Provides: perl(Tie::StdArray) \ +Provides: perl(Tie::StdHandle) = 4.6 \ +Provides: perl(Tie::StdScalar) \ +Provides: perl(Tie::SubstrHash) = 1.01 \ +%{nil} +%global gendep_perl_Tie_File \ +Requires: perl(Carp) \ +Requires: perl(Fcntl) \ +Requires: perl(POSIX) \ +Requires: perl(constant) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(Tie::File) = 1.09 \ +Provides: perl(Tie::File::Cache) \ +Provides: perl(Tie::File::Heap) \ +%{nil} +%global gendep_perl_Tie_Memoize \ +Requires: perl(Tie::Hash) \ +Requires: perl(strict) \ +Provides: perl(Tie::Memoize) = 1.1 \ +%{nil} +%global gendep_perl_Tie_RefHash \ +Requires: perl(Carp) \ +Requires: perl(Config) \ +Requires: perl(Tie::Hash) \ +Requires: perl(strict) \ +Provides: perl(Tie::RefHash) = 1.40 \ +%{nil} +%global gendep_perl_Time \ +Requires: perl(:VERSION) >= 5.38.0 \ +Requires: perl(Class::Struct) \ +Requires: perl(Exporter) \ +Requires: perl(Time::tm) \ +Requires: perl(parent) \ +Provides: perl(Time::gmtime) = 1.05 \ +Provides: perl(Time::localtime) = 1.04 \ +Provides: perl(Time::tm) = 1.01 \ +%{nil} +%global gendep_perl_Time_HiRes \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(Exporter) \ +Requires: perl(XSLoader) \ +Requires: perl(strict) \ +Provides: perl(Time::HiRes) = 1.9777 \ +%{nil} +%global gendep_perl_Time_HiRes_debuginfo \ +%{nil} +%global gendep_perl_Time_Local \ +Requires: perl(Carp) \ +Requires: perl(Exporter) \ +Requires: perl(constant) \ +Requires: perl(parent) \ +Requires: perl(strict) \ +Provides: perl(Time::Local) = 1.35 \ +%{nil} +%global gendep_perl_Time_Piece \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(Carp) \ +Requires: perl(Exporter) >= 5.57 \ +Requires: perl(Scalar::Util) \ +Requires: perl(Time::Local) \ +Requires: perl(Time::Seconds) \ +Requires: perl(XSLoader) \ +Requires: perl(constant) \ +Requires: perl(integer) \ +Requires: perl(overload) \ +Requires: perl(strict) \ +Provides: perl(Time::Piece) = 1.3401 \ +Provides: perl(Time::Seconds) = 1.3401 \ +%{nil} +%global gendep_perl_Time_Piece_debuginfo \ +%{nil} +%global gendep_perl_Unicode_Collate \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(:VERSION) >= 5.6.0 \ +Requires: perl(Carp) \ +Requires: perl(File::Spec) \ +Requires: perl(Unicode::Collate) \ +Requires: perl(XSLoader) \ +Requires: perl(base) \ +Requires: perl(constant) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(Unicode::Collate) = 1.31 \ +Provides: perl(Unicode::Collate::CJK::Big5) = 1.31 \ +Provides: perl(Unicode::Collate::CJK::GB2312) = 1.31 \ +Provides: perl(Unicode::Collate::CJK::JISX0208) = 1.31 \ +Provides: perl(Unicode::Collate::CJK::Korean) = 1.31 \ +Provides: perl(Unicode::Collate::CJK::Pinyin) = 1.31 \ +Provides: perl(Unicode::Collate::CJK::Stroke) = 1.31 \ +Provides: perl(Unicode::Collate::CJK::Zhuyin) = 1.31 \ +Provides: perl(Unicode::Collate::Locale) = 1.31 \ +%{nil} +%global gendep_perl_Unicode_Collate_debuginfo \ +%{nil} +%global gendep_perl_Unicode_Normalize \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(:VERSION) >= 5.6.0 \ +Requires: perl(Carp) \ +Requires: perl(Exporter) \ +Requires: perl(XSLoader) \ +Requires: perl(bytes) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(Unicode::Normalize) = 1.32 \ +%{nil} +%global gendep_perl_Unicode_Normalize_debuginfo \ +%{nil} +%global gendep_perl_Unicode_UCD \ +Requires: perl(Carp) \ +Requires: perl(Exporter) \ +Requires: perl(File::Spec) \ +Requires: perl(Unicode::Normalize) \ +Requires: perl(charnames) \ +Requires: perl(feature) \ +Requires: perl(if) \ +Requires: perl(integer) \ +Requires: perl(re) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(Unicode::UCD) = 0.78 \ +%{nil} +%global gendep_perl_User_pwent \ +Requires: perl(:VERSION) >= 5.38.0 \ +Requires: perl(Carp) \ +Requires: perl(Class::Struct) \ +Requires: perl(Config) \ +Requires: perl(Exporter) \ +Provides: perl(User::grent) = 1.05 \ +Provides: perl(User::pwent) = 1.03 \ +%{nil} +%global gendep_perl_autodie \ +Requires: perl(:VERSION) >= 5.8.0 \ +Requires: perl(Carp) \ +Requires: perl(Config) \ +Requires: perl(Exporter) >= 5.57 \ +Requires: perl(Fatal) \ +Requires: perl(Scalar::Util) \ +Requires: perl(Tie::RefHash) \ +Requires: perl(autodie::Scope::Guard) \ +Requires: perl(autodie::Scope::GuardStack) \ +Requires: perl(autodie::Util) \ +Requires: perl(autodie::exception) \ +Requires: perl(constant) \ +Requires: perl(lib) \ +Requires: perl(overload) \ +Requires: perl(parent) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(Fatal) = 2.37 \ +Provides: perl(autodie) = 2.37 \ +Provides: perl(autodie::Scope::Guard) = 2.37 \ +Provides: perl(autodie::Scope::GuardStack) = 2.37 \ +Provides: perl(autodie::Util) = 2.37 \ +Provides: perl(autodie::exception) = 2.37 \ +Provides: perl(autodie::exception::system) = 2.37 \ +Provides: perl(autodie::hints) = 2.37 \ +Provides: perl(autodie::skip) = 2.37 \ +%{nil} +%global gendep_perl_autouse \ +Requires: perl(:VERSION) >= 5.6.0 \ +Provides: perl(autouse) = 1.11 \ +%{nil} +%global gendep_perl_base \ +Requires: perl(:VERSION) >= 5.8.0 \ +Requires: perl(strict) \ +Provides: perl(base) = 2.27 \ +%{nil} +%global gendep_perl_bignum \ +Requires: perl(Carp) \ +Requires: perl(Exporter) \ +Requires: perl(Math::BigFloat) \ +Requires: perl(Math::BigInt) \ +Requires: perl(Math::BigRat) \ +Requires: perl(constant) \ +Requires: perl(overload) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(Math::BigFloat::Trace) = 0.67 \ +Provides: perl(Math::BigInt::Trace) = 0.67 \ +Provides: perl(Math::BigRat::Trace) = 0.67 \ +Provides: perl(bigfloat) = 0.67 \ +Provides: perl(bigint) = 0.67 \ +Provides: perl(bignum) = 0.67 \ +Provides: perl(bigrat) = 0.67 \ +%{nil} +%global gendep_perl_blib \ +Requires: perl(Cwd) \ +Requires: perl(File::Spec) \ +Provides: perl(blib) = 1.07 \ +%{nil} +%global gendep_perl_constant \ +Requires: perl(:VERSION) >= 5.8.0 \ +Requires: perl(strict) \ +Requires: perl(warnings::register) \ +Provides: perl(constant) = 1.33 \ +%{nil} +%global gendep_perl_debugger \ +Requires: perl(strict) \ +Provides: perl(DB) = 1.08 \ +Provides: perl(dumpvar.pl) = 5.40.0 \ +Provides: perl(perl5db.pl) = 1.60 \ +%{nil} +%global gendep_perl_debuginfo \ +%{nil} +%global gendep_perl_debugsource \ +%{nil} +%global gendep_perl_deprecate \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(deprecate) = 0.04 \ +%{nil} +%global gendep_perl_devel \ +Requires: perl(Config) \ +Requires: perl(ExtUtils::Constant) \ +Requires: perl(ExtUtils::Installed) \ +Requires: perl(File::Compare) \ +Requires: perl(File::Path) \ +Requires: perl(File::Spec) \ +Requires: perl(Getopt::Long) \ +Requires: perl(Text::Wrap) \ +Requires: perl(strict) \ +Requires: perl(vars) \ +Requires: perl(warnings) \ +%{nil} +%global gendep_perl_diagnostics \ +Requires: perl(:VERSION) >= 5.9.1 \ +Requires: perl(Carp) \ +Requires: perl(Config) \ +Requires: perl(Text::Tabs) \ +Requires: perl(strict) \ +Provides: perl(diagnostics) = 1.40 \ +%{nil} +%global gendep_perl_doc \ +%{nil} +%global gendep_perl_encoding \ +Requires: perl(Config) \ +Requires: perl(Encode) \ +Requires: perl(constant) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(encoding) = 3.00 \ +%{nil} +%global gendep_perl_encoding_warnings \ +Requires: perl(:VERSION) >= 5.7.0 \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(encoding::warnings) = 0.14 \ +%{nil} +%global gendep_perl_experimental \ +Requires: perl(Carp) \ +Requires: perl(experimental) \ +Requires: perl(strict) \ +Requires: perl(version) \ +Requires: perl(warnings) \ +Provides: perl(experimental) = 0.032 \ +Provides: perl(stable) = 0.033 \ +%{nil} +%global gendep_perl_fields \ +Requires: perl(:VERSION) >= 5.8.0 \ +Requires: perl(strict) \ +Provides: perl(fields) = 2.25 \ +%{nil} +%global gendep_perl_filetest \ +Provides: perl(filetest) = 1.03 \ +%{nil} +%global gendep_perl_if \ +Requires: perl(strict) \ +Provides: perl(if) = 0.0610 \ +%{nil} +%global gendep_perl_interpreter \ +%{nil} +%global gendep_perl_interpreter_debuginfo \ +%{nil} +%global gendep_perl_less \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(less) = 0.03 \ +%{nil} +%global gendep_perl_lib \ +Requires: perl(Config) \ +Requires: perl(strict) \ +Provides: perl(lib) = 0.65 \ +%{nil} +%global gendep_perl_libnet \ +Requires: perl(:VERSION) >= 5.8.1 \ +Requires: perl(Carp) \ +Requires: perl(Errno) \ +Requires: perl(Exporter) \ +Requires: perl(Fcntl) \ +Requires: perl(FileHandle) \ +Requires: perl(IO::Select) \ +Requires: perl(IO::Socket) \ +Requires: perl(Net::Cmd) \ +Requires: perl(Net::Config) \ +Requires: perl(Net::FTP::I) \ +Requires: perl(Net::FTP::dataconn) \ +Requires: perl(Socket) \ +Requires: perl(Symbol) \ +Requires: perl(Time::Local) \ +Requires: perl(constant) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(Net::Cmd) = 3.15 \ +Provides: perl(Net::Config) = 3.15 \ +Provides: perl(Net::Domain) = 3.15 \ +Provides: perl(Net::FTP) = 3.15 \ +Provides: perl(Net::FTP::A) = 3.15 \ +Provides: perl(Net::FTP::E) = 3.15 \ +Provides: perl(Net::FTP::I) = 3.15 \ +Provides: perl(Net::FTP::L) = 3.15 \ +Provides: perl(Net::FTP::dataconn) = 3.15 \ +Provides: perl(Net::NNTP) = 3.15 \ +Provides: perl(Net::NNTP::_SSL) \ +Provides: perl(Net::Netrc) = 3.15 \ +Provides: perl(Net::POP3) = 3.15 \ +Provides: perl(Net::POP3::_SSL) \ +Provides: perl(Net::SMTP) = 3.15 \ +Provides: perl(Net::SMTP::_SSL) \ +Provides: perl(Net::Time) = 3.15 \ +%{nil} +%global gendep_perl_libnetcfg \ +Requires: perl(ExtUtils::MakeMaker) \ +Requires: perl(File::Spec) \ +Requires: perl(Getopt::Std) \ +Requires: perl(IO::File) \ +Requires: perl(strict) \ +Requires: perl(vars) \ +%{nil} +%global gendep_perl_libs \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(:VERSION) >= 5.38.0 \ +Requires: perl(:VERSION) >= 5.6.0 \ +Requires: perl(Carp) \ +Requires: perl(Exporter) \ +Requires: perl(Tie::Hash) \ +Requires: perl(XSLoader) \ +Requires: perl(_charnames) \ +Requires: perl(bytes) \ +Requires: perl(integer) \ +Requires: perl(re) \ +Requires: perl(strict) \ +Requires: perl(unicore::Name) \ +Requires: perl(warnings) \ +Requires: perl(warnings::register) \ +Provides: perl(:MODULE_COMPAT_5.40.0) \ +Provides: perl(:VERSION) = 5.40.0 \ +Provides: perl(:WITH_64BIT) \ +Provides: perl(:WITH_ITHREADS) \ +Provides: perl(:WITH_LARGEFILES) \ +Provides: perl(:WITH_PERLIO) \ +Provides: perl(:WITH_THREADS) \ +Provides: perl(AnyDBM_File) = 1.01 \ +Provides: perl(Config) = 5.040000 \ +Provides: perl(File::Glob) = 1.42 \ +Provides: perl(PerlIO) = 1.12 \ +Provides: perl(PerlIO::encoding) = 0.31 \ +Provides: perl(PerlIO::mmap) = 0.017 \ +Provides: perl(PerlIO::scalar) = 0.32 \ +Provides: perl(PerlIO::via) = 0.19 \ +Provides: perl(SDBM_File) = 1.17 \ +Provides: perl(Tie::ExtraHash) \ +Provides: perl(Tie::Hash) = 1.06 \ +Provides: perl(Tie::Hash::NamedCapture) = 0.13 \ +Provides: perl(Tie::StdHash) \ +Provides: perl(UNIVERSAL) = 1.17 \ +Provides: perl(XSLoader) = 0.32 \ +Provides: perl(_charnames) = 1.50 \ +Provides: perl(attributes) = 0.36 \ +Provides: perl(builtin) = 0.014 \ +Provides: perl(bytes) = 1.09 \ +Provides: perl(charnames) = 1.50 \ +Provides: perl(feature) = 1.89 \ +Provides: perl(integer) = 1.01 \ +Provides: perl(re) = 0.47 \ +Provides: perl(strict) = 1.13 \ +Provides: perl(unicore::Name) \ +Provides: perl(utf8) = 1.25 \ +Provides: perl(utf8_heavy.pl) \ +Provides: perl(warnings) = 1.70 \ +Provides: perl(warnings::register) = 1.06 \ +%{nil} +%global gendep_perl_libs_debuginfo \ +%{nil} +%global gendep_perl_locale \ +Requires: perl(Config) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(locale) = 1.12 \ +%{nil} +%global gendep_perl_macros \ +%{nil} +%global gendep_perl_meta_notation \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(meta_notation) = 5.40.0 \ +%{nil} +%global gendep_perl_mro \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(XSLoader) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(mro) = 1.29 \ +%{nil} +%global gendep_perl_mro_debuginfo \ +%{nil} +%global gendep_perl_open \ +Requires: perl(:VERSION) >= 5.8.1 \ +Requires: perl(warnings) \ +Provides: perl(open) = 1.13 \ +%{nil} +%global gendep_perl_overload \ +Requires: perl(strict) \ +Requires: perl(warnings::register) \ +Provides: perl(overload) = 1.37 \ +%{nil} +%global gendep_perl_overloading \ +Requires: perl(:VERSION) >= 5.10.1 \ +Requires: perl(warnings) \ +Provides: perl(overload::numbers) \ +Provides: perl(overloading) = 0.02 \ +%{nil} +%global gendep_perl_parent \ +Requires: perl(strict) \ +Provides: perl(parent) = 0.241 \ +%{nil} +%global gendep_perl_perlfaq \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(perlfaq) = 5.20240218 \ +%{nil} +%global gendep_perl_ph \ +Provides: perl(sys/ioctl.ph) = 5.40.0 \ +Provides: perl(sys/syscall.ph) = 5.40.0 \ +Provides: perl(syscall.ph) = 5.40.0 \ +%{nil} +%global gendep_perl_podlators \ +Requires: perl(:VERSION) >= 5.10.0 \ +Requires: perl(:VERSION) >= 5.6.0 \ +Requires: perl(Carp) \ +Requires: perl(Encode) \ +Requires: perl(Exporter) \ +Requires: perl(Getopt::Long) \ +Requires: perl(POSIX) \ +Requires: perl(Pod::Man) \ +Requires: perl(Pod::Simple) \ +Requires: perl(Pod::Text) \ +Requires: perl(Pod::Usage) \ +Requires: perl(Term::ANSIColor) \ +Requires: perl(Term::Cap) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(Pod::Man) = 5.01 \ +Provides: perl(Pod::ParseLink) = 5.01 \ +Provides: perl(Pod::Text) = 5.01 \ +Provides: perl(Pod::Text::Color) = 5.01 \ +Provides: perl(Pod::Text::Overstrike) = 5.01 \ +Provides: perl(Pod::Text::Termcap) = 5.01 \ +%{nil} +%global gendep_perl_sigtrap \ +Requires: perl(Carp) \ +Provides: perl(sigtrap) = 1.10 \ +%{nil} +%global gendep_perl_sort \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(sort) = 2.05 \ +%{nil} +%global gendep_perl_subs \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(subs) = 1.04 \ +%{nil} +%global gendep_perl_tests \ +%{nil} +%global gendep_perl_threads \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(:VERSION) >= 5.8.0 \ +Requires: perl(Config) \ +Requires: perl(XSLoader) \ +Requires: perl(overload) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(threads) = 2.40 \ +%{nil} +%global gendep_perl_threads_debuginfo \ +%{nil} +%global gendep_perl_threads_shared \ +Requires: perl(:MODULE_COMPAT_5.40.0) \ +Requires: perl(:VERSION) >= 5.8.0 \ +Requires: perl(Config) \ +Requires: perl(Scalar::Util) \ +Requires: perl(strict) \ +Requires: perl(warnings) \ +Provides: perl(threads::shared) = 1.69 \ +%{nil} +%global gendep_perl_threads_shared_debuginfo \ +%{nil} +%global gendep_perl_utils \ +Requires: perl(Config) \ +Requires: perl(File::Basename) \ +Requires: perl(File::Path) \ +Requires: perl(File::Spec) \ +Requires: perl(Getopt::Std) \ +Requires: perl(re) \ +Requires: perl(strict) \ +Requires: perl(vars) \ +Requires: perl(warnings) \ +%{nil} +%global gendep_perl_vars \ +Requires: perl(:VERSION) >= 5.6.0 \ +Requires: perl(strict) \ +Requires: perl(warnings::register) \ +Provides: perl(vars) = 1.05 \ +%{nil} +%global gendep_perl_version \ +Requires: perl(:VERSION) >= 5.6.2 \ +Requires: perl(strict) \ +Requires: perl(version::regex) \ +Requires: perl(warnings::register) \ +Provides: perl(version) = 0.9930 \ +Provides: perl(version::regex) = 0.9930 \ +%{nil} +%global gendep_perl_vmsish \ +Provides: perl(vmsish) = 1.04 \ +%{nil} diff --git a/SOURCES/macros.perl b/macros.perl similarity index 91% rename from SOURCES/macros.perl rename to macros.perl index 9c1fd0c..9de4eff 100644 --- a/SOURCES/macros.perl +++ b/macros.perl @@ -22,6 +22,13 @@ export PERL_AUTOINSTALL="--defaultdeps" export PERL_MM_USE_DEFAULT=1 } +############################################################################# +# Perl specific macros, no longer part of rpm >= 4.15 +%perl_vendorarch %(eval "`%{__perl} -V:installvendorarch`"; echo $installvendorarch) +%perl_vendorlib %(eval "`%{__perl} -V:installvendorlib`"; echo $installvendorlib) +%perl_archlib %(eval "`%{__perl} -V:installarchlib`"; echo $installarchlib) +%perl_privlib %(eval "`%{__perl} -V:installprivlib`"; echo $installprivlib) + ############################################################################# # Filtering macro incantations diff --git a/SOURCES/perl-5.10.0-libresolv.patch b/perl-5.10.0-libresolv.patch similarity index 73% rename from SOURCES/perl-5.10.0-libresolv.patch rename to perl-5.10.0-libresolv.patch index a844a28..3733a03 100644 --- a/SOURCES/perl-5.10.0-libresolv.patch +++ b/perl-5.10.0-libresolv.patch @@ -1,12 +1,12 @@ diff -up perl-5.10.0/Configure.didi perl-5.10.0/Configure --- perl-5.10.0/Configure.didi 2007-12-18 11:47:07.000000000 +0100 +++ perl-5.10.0/Configure 2008-07-21 10:51:16.000000000 +0200 -@@ -1479,7 +1479,7 @@ archname='' +@@ -1510,7 +1510,7 @@ archname='' usereentrant='undef' : List of libraries we want. : If anyone needs extra -lxxx, put those in a hint file. --libswanted="cl pthread socket bind inet nsl ndbm gdbm dbm db malloc dl ld" -+libswanted="cl pthread socket resolv inet nsl ndbm gdbm dbm db malloc dl ld" +-libswanted="cl pthread socket bind inet ndbm gdbm dbm db malloc dl ld" ++libswanted="cl pthread socket resolv inet ndbm gdbm dbm db malloc dl ld" libswanted="$libswanted sun m crypt sec util c cposix posix ucb bsd BSD" : We probably want to search /usr/shlib before most other libraries. : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist. diff --git a/SOURCES/perl-5.10.0-x86_64-io-test-failure.patch b/perl-5.10.0-x86_64-io-test-failure.patch similarity index 62% rename from SOURCES/perl-5.10.0-x86_64-io-test-failure.patch rename to perl-5.10.0-x86_64-io-test-failure.patch index 08adda8..6ffc84b 100644 --- a/SOURCES/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 -@@ -227,7 +227,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.14.1-offtest.patch b/perl-5.14.1-offtest.patch new file mode 100644 index 0000000..ecdbd07 --- /dev/null +++ b/perl-5.14.1-offtest.patch @@ -0,0 +1,21 @@ +diff -up perl-5.33.9/cpan/File-Temp/t/fork.t.orig perl-5.33.9/cpan/File-Temp/t/fork.t +--- perl-5.33.9/cpan/File-Temp/t/fork.t.orig 2021-04-22 16:24:11.736220616 +0200 ++++ perl-5.33.9/cpan/File-Temp/t/fork.t 2021-04-22 16:26:31.466593123 +0200 +@@ -12,16 +12,8 @@ BEGIN { + $Config::Config{useithreads} and + $Config::Config{ccflags} =~ /-DPERL_IMPLICIT_SYS/ + ); +- if ( $can_fork && !(($^O eq 'MSWin32') && $Devel::Cover::VERSION) ) { +- print "1..8\n"; +- } else { +- if ( ($^O eq 'MSWin32') && $Devel::Cover::VERSION ) { +- print "1..0 # Skip Devel::Cover coverage testing is incompatible with fork under 'MSWin32'\n"; +- } else { +- print "1..0 # Skip No fork available\n"; +- } ++ print "1..0 # Skip Koji doesn't work with Perl fork tests\n"; + exit; +- } + } + + use File::Temp; diff --git a/SOURCES/perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-CBuilder-on-Li.patch b/perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-CBuilder-on-Li.patch similarity index 83% rename from SOURCES/perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-CBuilder-on-Li.patch rename to perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-CBuilder-on-Li.patch index d87aca7..f5b1e51 100644 --- a/SOURCES/perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-CBuilder-on-Li.patch +++ b/perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-CBuilder-on-Li.patch @@ -20,14 +20,14 @@ diff --git a/MANIFEST b/MANIFEST index 397252a..d7c519b 100644 --- a/MANIFEST +++ b/MANIFEST -@@ -3093,6 +3093,7 @@ dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/aix.pm CBuilder methods fo - dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/cygwin.pm CBuilder methods for cygwin - dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/darwin.pm CBuilder methods for darwin +@@ -3886,6 +3886,7 @@ dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/aix.pm CBuilder methods fo + dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/cygwin.pm CBuilder methods for cygwin + dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/darwin.pm CBuilder methods for darwin dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/dec_osf.pm CBuilder methods for OSF -+dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/linux.pm CBuilder methods for Linux - dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/os2.pm CBuilder methods for OS/2 - dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Unix.pm CBuilder methods for Unix - dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/VMS.pm CBuilder methods for VMS ++dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/linux.pm CBuilder methods for Linux + dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/os2.pm CBuilder methods for OS/2 + dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Unix.pm CBuilder methods for Unix + dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/VMS.pm CBuilder methods for VMS diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/linux.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/linux.pm new file mode 100644 index 0000000..e3251c4 diff --git a/SOURCES/perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-MM-on-Linux.patch b/perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-MM-on-Linux.patch similarity index 89% rename from SOURCES/perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-MM-on-Linux.patch rename to perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-MM-on-Linux.patch index e8ae658..f1f76ac 100644 --- a/SOURCES/perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-MM-on-Linux.patch +++ b/perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-MM-on-Linux.patch @@ -18,7 +18,7 @@ diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-Mak index a8b172f..a3fbce2 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm -@@ -31,6 +31,7 @@ BEGIN { +@@ -30,6 +30,7 @@ BEGIN { $Is{IRIX} = $^O eq 'irix'; $Is{NetBSD} = $^O eq 'netbsd'; $Is{Interix} = $^O eq 'interix'; @@ -26,7 +26,7 @@ index a8b172f..a3fbce2 100644 $Is{SunOS4} = $^O eq 'sunos'; $Is{Solaris} = $^O eq 'solaris'; $Is{SunOS} = $Is{SunOS4} || $Is{Solaris}; -@@ -932,7 +933,7 @@ $(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(BOOTSTRAP) $(INST_ARCHAUTODIR)$(DFSEP). +@@ -1028,7 +1029,7 @@ sub xs_make_dynamic_lib { push(@m," \$(RM_F) \$\@\n"); my $libs = '$(LDLOADLIBS)'; @@ -35,7 +35,7 @@ index a8b172f..a3fbce2 100644 # Use nothing on static perl platforms, and to the flags needed # to link against the shared libperl library on shared perl # platforms. We peek at lddlflags to see if we need -Wl,-R -@@ -941,6 +942,11 @@ $(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(BOOTSTRAP) $(INST_ARCHAUTODIR)$(DFSEP). +@@ -1041,6 +1042,11 @@ sub xs_make_dynamic_lib { # The Android linker will not recognize symbols from # libperl unless the module explicitly depends on it. $libs .= ' "-L$(PERL_INC)" -lperl'; diff --git a/SOURCES/perl-5.16.3-create_libperl_soname.patch b/perl-5.16.3-create_libperl_soname.patch similarity index 57% rename from SOURCES/perl-5.16.3-create_libperl_soname.patch rename to perl-5.16.3-create_libperl_soname.patch index fabadf4..b6e271b 100644 --- a/SOURCES/perl-5.16.3-create_libperl_soname.patch +++ b/perl-5.16.3-create_libperl_soname.patch @@ -14,16 +14,21 @@ diff --git a/Makefile.SH b/Makefile.SH index d1da0a0..7733a32 100755 --- a/Makefile.SH +++ b/Makefile.SH -@@ -58,7 +58,7 @@ true) - ${api_revision}.${api_version}.${api_subversion} \ - -current_version \ - ${revision}.${patchlevel}.${subversion} \ -- -install_name \$(shrpdir)/\$@" -+ -install_name \$(shrpdir)/libperl.${revision}.${patchlevel}.dylib" +@@ -64,11 +64,11 @@ true) + ${revision}.${patchlevel}.${subversion}" + case "$osvers" in + 1[5-9]*|[2-9]*) +- shrpldflags="$shrpldflags -install_name `pwd`/\$@ -Xlinker -headerpad_max_install_names" ++ shrpldflags="$shrpldflags -install_name `pwd`/libperl.${revision}.${patchlevel}.dylib -Xlinker -headerpad_max_install_names" + exeldflags="-Xlinker -headerpad_max_install_names" + ;; + *) +- shrpldflags="$shrpldflags -install_name \$(shrpdir)/\$@" ++ shrpldflags="$shrpldflags -install_name \$(shrpdir)/libperl.${revision}.${patchlevel}.dylib" + ;; + esac ;; - cygwin*) - shrpldflags="$shrpldflags -Wl,--out-implib=libperl.dll.a -Wl,--image-base,0x52000000" -@@ -66,13 +66,15 @@ true) +@@ -78,13 +78,15 @@ true) ;; sunos*) linklibperl="-lperl" @@ -40,12 +45,12 @@ index d1da0a0..7733a32 100755 ;; aix*) case "$cc" in -@@ -110,6 +112,9 @@ true) - linklibperl='libperl.x' - DPERL_EXTERNAL_GLOB='' - ;; +@@ -127,6 +129,9 @@ true) + ;; + esac + ;; + linux*) -+ shrpldflags="$shrpldflags -Wl,-soname -Wl,libperl.so.${revision}.${patchlevel}" ++ shrpldflags="$shrpldflags -Wl,-soname -Wl,libperl.so.${revision}.${patchlevel}" + ;; esac case "$ldlibpthname" in diff --git a/SOURCES/perl-5.22.0-Install-libperl.so-to-shrpdir-on-Linux.patch b/perl-5.22.0-Install-libperl.so-to-shrpdir-on-Linux.patch similarity index 92% rename from SOURCES/perl-5.22.0-Install-libperl.so-to-shrpdir-on-Linux.patch rename to perl-5.22.0-Install-libperl.so-to-shrpdir-on-Linux.patch index 6d43814..49de388 100644 --- a/SOURCES/perl-5.22.0-Install-libperl.so-to-shrpdir-on-Linux.patch +++ b/perl-5.22.0-Install-libperl.so-to-shrpdir-on-Linux.patch @@ -16,7 +16,7 @@ diff --git a/Configure b/Configure index 2f30261..825496e 100755 --- a/Configure +++ b/Configure -@@ -8249,7 +8249,9 @@ esac +@@ -8762,7 +8762,9 @@ esac # Detect old use of shrpdir via undocumented Configure -Dshrpdir case "$shrpdir" in @@ -27,7 +27,7 @@ index 2f30261..825496e 100755 *) $cat >&4 < -Date: Fri, 6 Jun 2014 14:31:59 +0200 +From 8067179e65a28d91f00df7d36778229a07514471 Mon Sep 17 00:00:00 2001 +From: Jitka Plesnikova +Date: Thu, 29 Apr 2021 12:21:18 +0200 Subject: [PATCH] Destroy {GDBM,NDBM,ODBM,SDBM}_File objects only from original - thread context -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit This patch fixes a crash when destroing a hash tied to a *_File database after spawning a thread: @@ -20,17 +16,17 @@ This crashed or paniced depending on how perl was configured. Closes RT#61912. -Signed-off-by: Petr Písař +Updated original ppisar's patch for perl 5.18.2 --- - ext/GDBM_File/GDBM_File.xs | 16 ++++++++++------ + ext/GDBM_File/GDBM_File.xs | 20 ++++++++++++-------- ext/NDBM_File/NDBM_File.xs | 16 ++++++++++------ ext/ODBM_File/ODBM_File.xs | 18 +++++++++++------- ext/SDBM_File/SDBM_File.xs | 4 +++- t/lib/dbmt_common.pl | 35 +++++++++++++++++++++++++++++++++++ - 5 files changed, 69 insertions(+), 20 deletions(-) + 5 files changed, 71 insertions(+), 22 deletions(-) diff --git a/ext/GDBM_File/GDBM_File.xs b/ext/GDBM_File/GDBM_File.xs -index 33e08e2..7160f54 100644 +index cd0bb6f..0c395ac 100644 --- a/ext/GDBM_File/GDBM_File.xs +++ b/ext/GDBM_File/GDBM_File.xs @@ -13,6 +13,7 @@ @@ -41,37 +37,42 @@ index 33e08e2..7160f54 100644 GDBM_FILE dbp ; SV * filter[4]; int filtering ; -@@ -89,6 +90,7 @@ gdbm_TIEHASH(dbtype, name, read_write, mode) - if ((dbp = gdbm_open(name, GDBM_BLOCKSIZE, read_write, mode, - (FATALFUNC) croak_string))) { - RETVAL = (GDBM_File)safecalloc(1, sizeof(GDBM_File_type)) ; -+ RETVAL->owner = aTHX; - RETVAL->dbp = dbp ; - } - -@@ -109,12 +111,14 @@ gdbm_DESTROY(db) - PREINIT: +@@ -276,6 +277,7 @@ gdbm_TIEHASH(dbtype, name, read_write, mode) + } + if (dbp) { + RETVAL = (GDBM_File)safecalloc(1, sizeof(GDBM_File_type)); ++ RETVAL->owner = aTHX; + RETVAL->dbp = dbp; + } else { + RETVAL = NULL; +@@ -289,15 +291,17 @@ gdbm_DESTROY(db) + PREINIT: int i = store_value; - CODE: -- gdbm_close(db); + CODE: +- if (gdbm_file_close(db)) { +- croak("gdbm_close: %s; %s", gdbm_strerror(gdbm_errno), +- strerror(errno)); ++ if (db && db->owner == aTHX) { ++ if (gdbm_file_close(db)) { ++ croak("gdbm_close: %s; %s", gdbm_strerror(gdbm_errno), ++ strerror(errno)); ++ } ++ do { ++ if (db->filter[i]) ++ SvREFCNT_dec(db->filter[i]); ++ } while (i-- > 0); ++ safefree(db); + } - do { - if (db->filter[i]) - SvREFCNT_dec(db->filter[i]); - } while (i-- > 0); - safefree(db); -+ if (db && db->owner == aTHX) { -+ gdbm_close(db); -+ do { -+ if (db->filter[i]) -+ SvREFCNT_dec(db->filter[i]); -+ } while (i-- > 0); -+ safefree(db); -+ } - #define gdbm_FETCH(db,key) gdbm_fetch(db->dbp,key) - datum_value + void + gdbm_UNTIE(db, count) diff --git a/ext/NDBM_File/NDBM_File.xs b/ext/NDBM_File/NDBM_File.xs -index 52e60fc..af223e5 100644 +index eed671a..651fe0f 100644 --- a/ext/NDBM_File/NDBM_File.xs +++ b/ext/NDBM_File/NDBM_File.xs @@ -33,6 +33,7 @@ END_EXTERN_C @@ -103,7 +104,7 @@ index 52e60fc..af223e5 100644 + if (db && db->owner == aTHX) { + dbm_close(db->dbp); + do { -+ if (db->filter[i]) ++ if (db->filter[i]) + SvREFCNT_dec(db->filter[i]); + } while (i-- > 0); + safefree(db); @@ -112,10 +113,10 @@ index 52e60fc..af223e5 100644 #define ndbm_FETCH(db,key) dbm_fetch(db->dbp,key) datum_value diff --git a/ext/ODBM_File/ODBM_File.xs b/ext/ODBM_File/ODBM_File.xs -index d1ece7f..f7e00a0 100644 +index 38e6dbf..4b15a42 100644 --- a/ext/ODBM_File/ODBM_File.xs +++ b/ext/ODBM_File/ODBM_File.xs -@@ -45,6 +45,7 @@ datum nextkey(datum key); +@@ -49,6 +49,7 @@ datum nextkey(datum key); #define store_value 3 typedef struct { @@ -123,7 +124,7 @@ index d1ece7f..f7e00a0 100644 void * dbp ; SV * filter[4]; int filtering ; -@@ -112,6 +113,7 @@ odbm_TIEHASH(dbtype, filename, flags, mode) +@@ -137,6 +138,7 @@ odbm_TIEHASH(dbtype, filename, flags, mode) } dbp = (void*)(dbminit(filename) >= 0 ? &dbmrefcnt : 0); RETVAL = (ODBM_File)safecalloc(1, sizeof(ODBM_File_type)); @@ -131,7 +132,7 @@ index d1ece7f..f7e00a0 100644 RETVAL->dbp = dbp ; } OUTPUT: -@@ -124,13 +126,15 @@ DESTROY(db) +@@ -149,13 +151,15 @@ DESTROY(db) dMY_CXT; int i = store_value; CODE: @@ -146,7 +147,7 @@ index d1ece7f..f7e00a0 100644 + dbmrefcnt--; + dbmclose(); + do { -+ if (db->filter[i]) ++ if (db->filter[i]) + SvREFCNT_dec(db->filter[i]); + } while (i-- > 0); + safefree(db); @@ -155,7 +156,7 @@ index d1ece7f..f7e00a0 100644 datum_value odbm_FETCH(db, key) diff --git a/ext/SDBM_File/SDBM_File.xs b/ext/SDBM_File/SDBM_File.xs -index 291e41b..0bdae9a 100644 +index 0df2855..0e2bd58 100644 --- a/ext/SDBM_File/SDBM_File.xs +++ b/ext/SDBM_File/SDBM_File.xs @@ -10,6 +10,7 @@ @@ -166,7 +167,7 @@ index 291e41b..0bdae9a 100644 DBM * dbp ; SV * filter[4]; int filtering ; -@@ -49,6 +50,7 @@ sdbm_TIEHASH(dbtype, filename, flags, mode) +@@ -51,6 +52,7 @@ sdbm_TIEHASH(dbtype, filename, flags, mode, pagname=NULL) } if (dbp) { RETVAL = (SDBM_File)safecalloc(1, sizeof(SDBM_File_type)); @@ -174,7 +175,7 @@ index 291e41b..0bdae9a 100644 RETVAL->dbp = dbp ; } -@@ -60,7 +62,7 @@ void +@@ -62,7 +64,7 @@ void sdbm_DESTROY(db) SDBM_File db CODE: @@ -184,10 +185,10 @@ index 291e41b..0bdae9a 100644 sdbm_close(db->dbp); do { diff --git a/t/lib/dbmt_common.pl b/t/lib/dbmt_common.pl -index 5d4098c..a0a4d52 100644 +index 60c66ae..a7f81fe 100644 --- a/t/lib/dbmt_common.pl +++ b/t/lib/dbmt_common.pl -@@ -511,5 +511,40 @@ unlink , $Dfile; +@@ -510,5 +510,40 @@ unlink , $Dfile; unlink ; } @@ -229,5 +230,5 @@ index 5d4098c..a0a4d52 100644 done_testing(); 1; -- -1.9.3 +2.26.3 diff --git a/SOURCES/perl-5.36.0-Add-definition-of-OPTIMIZE-to-.ph-files.patch b/perl-5.36.0-Add-definition-of-OPTIMIZE-to-.ph-files.patch similarity index 100% rename from SOURCES/perl-5.36.0-Add-definition-of-OPTIMIZE-to-.ph-files.patch rename to perl-5.36.0-Add-definition-of-OPTIMIZE-to-.ph-files.patch diff --git a/SOURCES/perl-5.8.0-libdir64.patch b/perl-5.8.0-libdir64.patch similarity index 79% rename from SOURCES/perl-5.8.0-libdir64.patch rename to perl-5.8.0-libdir64.patch index 0ab67a0..a29ee87 100644 --- a/SOURCES/perl-5.8.0-libdir64.patch +++ b/perl-5.8.0-libdir64.patch @@ -1,6 +1,7 @@ ---- perl-5.8.0/Configure.orig 2002-09-09 11:31:19.000000000 -0400 -+++ perl-5.8.0/Configure 2002-09-09 11:40:37.000000000 -0400 -@@ -6458,8 +6458,8 @@ +diff -up perl-5.28.0-RC1/Configure.orig perl-5.28.0-RC1/Configure +--- perl-5.28.0-RC1/Configure.orig 2018-05-21 12:44:04.000000000 +0200 ++++ perl-5.28.0-RC1/Configure 2018-05-22 12:21:53.908599933 +0200 +@@ -7269,8 +7269,8 @@ esac' : Reproduce behavior of 5.005 and earlier, maybe drop that in 5.7. case "$installstyle" in '') case "$prefix" in @@ -11,7 +12,7 @@ esac ;; *) dflt="$installstyle" ;; -@@ -6475,8 +6475,8 @@ +@@ -7336,8 +7336,8 @@ esac : /opt/perl/lib/perl5... would be redundant. : The default "style" setting is made in installstyle.U case "$installstyle" in @@ -22,7 +23,7 @@ esac eval $prefixit $cat <_PRINT_PREREQ; @@ -54,7 +54,7 @@ diff -up perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm.usem perl print "MakeMaker (v$VERSION)\n" if $Verbose; if (-f "MANIFEST" && ! -f "Makefile" && ! $UNDER_CORE){ -@@ -2352,6 +2372,40 @@ precedence. A typemap in the current di +@@ -2821,6 +2841,40 @@ precedence. A typemap in the current di precedence, even if it isn't listed in TYPEMAPS. The default system typemap has lowest precedence. @@ -98,7 +98,7 @@ diff -up perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm.usem perl diff -up perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm.usem perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm --- perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm.usem 2011-05-08 05:10:08.000000000 +0200 +++ perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm 2011-05-17 11:14:22.172115972 +0200 -@@ -944,7 +944,7 @@ $(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $ +@@ -1045,7 +1045,7 @@ $(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $ } my $ld_run_path_shell = ""; diff --git a/SOURCES/perl-example.stp b/perl-example.stp similarity index 100% rename from SOURCES/perl-example.stp rename to perl-example.stp diff --git a/SOURCES/perl-perlbug-tag.patch b/perl-perlbug-tag.patch similarity index 68% rename from SOURCES/perl-perlbug-tag.patch rename to perl-perlbug-tag.patch index 0f96ab3..9988d86 100644 --- a/SOURCES/perl-perlbug-tag.patch +++ b/perl-perlbug-tag.patch @@ -1,7 +1,7 @@ -diff -up perl-5.16.0-RC2/utils/perlbug.PL.fedora perl-5.16.0-RC2/utils/perlbug.PL ---- perl-5.16.0-RC2/utils/perlbug.PL.fedora 2012-05-16 16:15:51.000000000 +0200 -+++ perl-5.16.0-RC2/utils/perlbug.PL 2012-05-16 16:18:36.018894464 +0200 -@@ -271,17 +271,6 @@ sub Init { +diff -up perl-5.28.0-RC1/utils/perlbug.PL.orig perl-5.28.0-RC1/utils/perlbug.PL +--- perl-5.28.0-RC1/utils/perlbug.PL.orig 2018-05-21 12:44:04.000000000 +0200 ++++ perl-5.28.0-RC1/utils/perlbug.PL 2018-05-22 12:17:58.584993588 +0200 +@@ -288,17 +288,6 @@ sub Init { $ok = ''; if ($opt{o}) { if ($opt{o} eq 'k' or $opt{o} eq 'kay') { diff --git a/SPECS/perl.spec b/perl.spec similarity index 56% rename from SPECS/perl.spec rename to perl.spec index 80ee1b2..247050b 100644 --- a/SPECS/perl.spec +++ b/perl.spec @@ -1,4 +1,4 @@ -%global perl_version 5.26.3 +%global perl_version 5.40.2 %global perl_epoch 4 %global perl_arch_stem -thread-multi %global perl_archname %{_arch}-%{_os}%{perl_arch_stem} @@ -13,7 +13,10 @@ # This overrides filters from build root (/usr/lib/rpm/macros.d/macros.perl) # intentionally (unversioned perl(DB) is removed and versioned one is kept). # Filter provides from *.pl files, bug #924938 -%global __provides_exclude_from .*%{_docdir}|.*%{perl_archlib}/.*\\.pl$|.*%{perl_privlib}/.*\\.pl$ +%global __provides_exclude_from .*%{_docdir} +%if %{defined perl_archlib} +%global __provides_exclude_from %{?__provides_exclude_from:%__provides_exclude_from|}.*%{perl_archlib}/.*\\.pl$|.*%{perl_privlib}/.*\\.pl$ +%endif %global __requires_exclude_from %{_docdir} %global __provides_exclude perl\\((VMS|Win32|BSD::|DB\\)$) %global __requires_exclude perl\\((VMS|BSD::|Win32|Tk|Mac::|Your::Module::Here) @@ -21,10 +24,20 @@ %global perl5_testdir %{_libexecdir}/perl5-tests # Optional features +# Run C++ tests +%bcond_without perl_enables_cplusplus_test +# We can build without libdb (BerkeleyDB) +%if 0%{?rhel} +%bcond_with bdb +%else +%bcond_without bdb +%endif # We can bootstrap without gdbm %bcond_without gdbm # Support for groff, bug #135101 %bcond_without perl_enables_groff +# Run Turkish locale tests +%bcond_without perl_enables_turkish_test # Run syslog tests %bcond_with perl_enables_syslog_test # SystemTap support @@ -34,57 +47,80 @@ # We can skip %%check phase %bcond_without test +# The additional linker flags break binary perl- packages. +# https://bugzilla.redhat.com/show_bug.cgi?id=2043092 +%undefine _package_note_file + Name: perl # These are all found licenses. They are distributed among various # subpackages. -# dist/Tie-File/lib/Tie/File.pm: GPLv2+ or Artistic -# cpan/Getopt-Long/lib/Getopt/Long.pm: GPLv2+ or Artistic -# cpan/Compress-Raw-Zlib/Zlib.xs: (GPL+ or Artistic) and zlib -# cpan/Digest-MD5/MD5.xs: (GPL+ or Artistic) and BSD -# cpan/Time-Piece/Piece.xs: (GPL+ or Artistic) and BSD -# dist/PathTools/Cwd.xs: (GPL+ or Artistic) and BSD -# util.c: (GPL+ or Artistic) and BSD -# cpan/perlfaq/lib/perlfaq4.pod: (GPL+ or Artistic) and Public Domain -# cpan/Test-Simple/lib/Test/Tutorial.pod: (GPL+ or Artistic) and -# Public Domain -# cpan/MIME-Base64/Base64.xs: (GPL+ or Artistic) and MIT -# cpan/Test-Simple/lib/ok.pm: CC0 +# dist/Tie-File/lib/Tie/File.pm: GPL-2.0-or-later OR Artistic-1.0-Perl +# cpan/Getopt-Long/lib/Getopt/Long.pm: GPL-2.0-or-later OR Artistic-1.0-Perl +# cpan/Compress-Raw-Zlib/Zlib.xs: (GPL-1.0-or-later OR Artistic-1.0-Perl) AND Zlib +# RSA-MD does not have to be recorded in the License +# cpan/Digest-MD5/MD5.xs: (GPL-1.0-or-later OR Artistic-1.0-Perl) +# AND RSA-MD +# cpan/Time-Piece/Piece.xs: (GPL-1.0-or-later OR Artistic-1.0-Perl) +# AND BSD-2-Clause-Views +# dist/PathTools/Cwd.xs: (GPL-1.0-or-later OR Artistic-1.0-Perl) +# AND BSD-3-Clause +# util.c: (GPL-1.0-or-later OR Artistic-1.0-Perl) AND Martin-Birgmeier +# cpan/perlfaq/lib/perlfaq4.pod: (GPL-1.0-or-later OR Artistic-1.0-Perl) AND LicenseRef-Fedora-Public-Domain +# cpan/Test-Simple/lib/Test/Tutorial.pod: (GPL-1.0-or-later OR Artistic-1.0-Perl) +# AND LicenseRef-Fedora-Public-Domain +# cpan/MIME-Base64/Base64.xs: (GPL-1.0-or-later OR Artistic-1.0-Perl) +# AND MIT (Bellcore) +# cpan/Test-Simple/lib/ok.pm: CC0-1.0 # cpan/Text-Tabs/lib/Text/Wrap.pm: TTWL -# cpan/Encode/bin/encguess: Artistic 2.0 -# cpan/libnet/lib/Net/libnetFAQ.pod: Artistic (CPAN RT#117888) -# cpan/Unicode-Collate/Collate/allkeys.txt: Unicode -# lib/unicore: UCD +# cpan/Encode/bin/encguess: Artistic-2.0 +# cpan/Unicode-Collate/Collate/allkeys.txt: Unicode-DFS-2015 +# inline.h: MIT +# lib/unicore: Unicode-3.0 # ext/SDBM_File/sdbm.{c,h}: Public domain -# regexec.c, regcomp.c: HSRL +# regexec.c, regcomp.c: Spencer-86 # cpan/Locale-Maketext-Simple/lib/Locale/Maketext/Simple.pm: MIT (with # exception for Perl) # time64.c: MIT +# perly.h: GPL-3.0-or-later WITH Bison-exception-2.2 # pod/perlpodstyle.pod: MIT -# pod/perlunicook.pod: (GPL+ or Artistic) and Public Domain +# pod/perlunicook.pod: (GPL-1.0-or-later OR Artistic-1.0-Perl) AND LicenseRef-Fedora-UltraPermissive # pod/perlgpl.pod: GPL text # pod/perlartistic.pod: Artistic text -# ext/File-Glob/bsd_glob.{c,h}: BSD -# Other files: GPL+ or Artistic -## Not is a binary package -# cpan/podlators/t/style/minimum-version.t MIT +# ext/File-Glob/bsd_glob.{c,h}: BSD-3-Clause +# Other files: GPL-1.0-or-later OR Artistic-1.0-Perl +## Not in a binary package +# ebcdic_tables.h: MIT +# cpan/podlators/t/docs/pod.t: MIT +# cpan/podlators/t/docs/pod-spelling.t: MIT +# cpan/podlators/t/docs/spdx-license.t: MIT +# cpan/podlators/t/docs/synopsis.t: MIT +# cpan/podlators/t/docs/urls.t : MIT +# cpan/podlators/t/lib/Test/RRA.pm: MIT +# cpan/podlators/t/lib/Test/RRA/Config.pm: MIT +# cpan/podlators/t/lib/Test/RRA/ModuleVersion.pm: MIT +# cpan/podlators/t/style/minimum-version.t: MIT +# cpan/podlators/t/style/module-version.t: MIT +# cpan/podlators/t/style/strict.t: MIT # cpan/Term-ANSIColor/t/lib/Test/RRA/Config.pm: MIT ## Unbundled -# cpan/Compress-Raw-Bzip2/bzip2-src: BSD -# cpan/Compress-Raw-Zlib/zlib-src: zlib +# cpan/Compress-Raw-Bzip2/bzip2-src: bzip2-1.0.6 +# cpan/Compress-Raw-Zlib/zlib-src: Zlib +# perl.h (EBDIC parts) MIT ## perl sub-package notice -# perluniprops.pod is generated from lib/unicore sources: UCD +# perluniprops.pod is generated from lib/unicore sources: Unicode-3.0 +# uni_keywords.h is generated from lib/unicore sources: Unicode-3.0 # # This sub-subpackage doesn't contain any copyrightable material. # Nevertheless, it needs a License tag, so we'll use the generic # "perl" license. -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: %{perl_epoch} Version: %{perl_version} # release number must be even higher, because dual-lived modules will be broken otherwise -Release: 422%{?dist} +Release: 512.1%{?dist} Summary: Practical Extraction and Report Language -Url: http://www.perl.org/ -Source0: http://www.cpan.org/src/5.0/perl-%{perl_version}.tar.bz2 +Url: https://www.perl.org/ +Source0: https://www.cpan.org/src/5.0/perl-%{perl_version}.tar.xz Source3: macros.perl #Systemtap tapset and example that make use of systemtap-sdt-devel # build requirement. Written by lberk; Not yet upstream. @@ -100,220 +136,52 @@ Source7: gendep.macros %if %{defined perl_bootstrap} %include %{SOURCE7} %endif +# Use config.over to make build of perl reproducible +Source8: config.over # Removes date check, Fedora/RHEL specific Patch1: perl-perlbug-tag.patch # Fedora/RHEL only (64bit only) -Patch3: perl-5.8.0-libdir64.patch +Patch2: perl-5.8.0-libdir64.patch # Fedora/RHEL specific (use libresolv instead of libbind), bug #151127 -Patch4: perl-5.10.0-libresolv.patch +Patch3: perl-5.10.0-libresolv.patch # FIXME: May need the "Fedora" references removed before upstreaming # patches ExtUtils-MakeMaker -Patch5: perl-USE_MM_LD_RUN_PATH.patch +Patch4: perl-USE_MM_LD_RUN_PATH.patch # Provide maybe_command independently, bug #1129443 -Patch6: perl-5.22.1-Provide-ExtUtils-MM-methods-as-standalone-ExtUtils-M.patch +Patch5: perl-5.22.1-Provide-ExtUtils-MM-methods-as-standalone-ExtUtils-M.patch # The Fedora builders started randomly failing this futime test # only on x86_64, so we just don't run it. Works fine on normal # systems. -Patch7: perl-5.10.0-x86_64-io-test-failure.patch +Patch6: perl-5.10.0-x86_64-io-test-failure.patch # switch off test, which is failing only on koji (fork) -Patch8: perl-5.14.1-offtest.patch +Patch7: perl-5.14.1-offtest.patch # Define SONAME for libperl.so -Patch15: perl-5.16.3-create_libperl_soname.patch +Patch8: perl-5.16.3-create_libperl_soname.patch # Install libperl.so to -Dshrpdir value -Patch16: perl-5.22.0-Install-libperl.so-to-shrpdir-on-Linux.patch - -# Document Math::BigInt::CalcEmu requires Math::BigInt, rhbz#959096, -# CPAN RT#85015 -Patch22: perl-5.18.1-Document-Math-BigInt-CalcEmu-requires-Math-BigInt.patch +Patch9: perl-5.22.0-Install-libperl.so-to-shrpdir-on-Linux.patch # Make *DBM_File desctructors thread-safe, bug #1107543, RT#61912 -Patch26: perl-5.18.2-Destroy-GDBM-NDBM-ODBM-SDBM-_File-objects-only-from-.patch +Patch10: perl-5.34.0-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 -Patch30: perl-5.22.1-Replace-EU-MM-dependnecy-with-EU-MM-Utils-in-IPC-Cmd.patch - -# Make File::Glob more resistant against degenerative matching, RT#131211, -# in upstream after 5.27.0 -Patch31: perl-5.27.0-perl-131211-fixup-File-Glob-degenerate-matching.patch - -# Fix glob UTF-8 flag on a glob reassignment, RT#131263, -# in upstream after 5.27.0 -Patch36: perl-5.26.0-perl-131263-clear-the-UTF8-flag-on-a-glob-if-it-isn-.patch - -# Fix handling backslashes in PATH environment variable when executing -# "perl -S", RT#129183, in upstream after 5.27.0 -Patch38: perl-5.27.0-perl-129183-don-t-treat-as-an-escape-in-PATH-for-S.patch - -# Fix reporting malformed UTF-8 character, RT#131646, in upstream after 5.27.1 -Patch43: perl-5.27.1-t-lib-warnings-utf8-Fix-test.patch - -# Fix File::Glob rt131211.t test random failures, in upstream after 5.27.1 -Patch45: perl-5.27.1-File-Glob-tweak-rt131211.t-to-be-less-sensitive-on-w.patch - -# Fix t/op/hash.t test random failures, in upstream after 5.27.1 -Patch46: perl-5.26.0-t-op-hash.t-fixup-intermittently-failing-test.patch - -# Parse caret variables with subscripts as normal variables inside ${...} -# escaping, RT#131664, in upstream after 5.27.1 -Patch47: perl-5.26.2-RC1-Parse-caret-vars-with-subscripts-the-same-as-normal-.patch -Patch48: perl-5.26.2-RC1-add-an-additional-test-for-whitespace-tolerance-in-c.patch - -# Do not display too many bytes when reporting malformed UTF-8 character, -# in upstream after 5.27.1 -Patch49: perl-5.27.1-utf8n_to_uvchr-Don-t-display-too-many-bytes-in-msg.patch - -# Fix error message for "our sub foo::bar", RT#131679, in upstream after 5.27.1 -Patch51: perl-5.27.1-perl-131679-Fix-our-sub-foo-bar-message.patch - -# Fix executing arybase::_tie_it() in Safe compartement, RT#131588, -# not yet accepted by upstream -Patch52: perl-5.26.0-perl-131588-be-a-little-more-careful-in-arybase-_tie.patch - -# Fix splitting non-ASCII strings if unicode_strings feature is enabled, -# RT#130907 in upstream after 5.27.1 -Patch54: perl-5.27.1-RT-130907-Fix-the-Unicode-Bug-in-split.patch - -# Fix compiler warnings in code generated by ExtUtils::Constant, CPAN RT#63832, -# in upstream after 5.27.2 -Patch55: perl-5.27.2-Avoid-compiler-warnings-due-to-mismatched-types-in-p.patch - -# Fix compiler warnings in code generated by ExtUtils::Constant, CPAN RT#101487, -# in upstream after 5.27.2 -Patch56: perl-5.27.2-EU-Constant-avoid-uninit-warning.patch - -# Fix unreliable Time-HiRes tests, CPAN RT#122819, in Time-HiRes-1.9746 -Patch58: perl-5.26.0-Time-HiRes-Fix-unreliable-t-usleep.t-and-t-utime.t.patch - -# Fix Term::ReadLine not to create spurious &STDERR files, RT#132008, -# in upstream after 5.27.3 -Patch61: perl-5.27.3-perl-132008-try-to-prevent-the-similar-mistakes-in-t.patch - -# Fix an overflow when parsing a character range with no preceding character, -# RT#132245, in upstream after 5.27.5 -Patch64: perl-5.26.1-perl-132245-don-t-try-to-process-a-char-range-with-n.patch - -# Fix walking symbol table for ISA in Carp, in upstream after 5.27.5 -Patch65: perl-5.27.5-Carp-Don-t-choke-on-ISA-constant.patch - -# Fix handling file names with null bytes in stat and lstat functions, -# RT#131895, in upstream after 5.27.5 -Patch66: perl-5.26.1-perl-131895-fail-stat-on-names-with-0-embedded.patch - -# Fix a crash when untying an object witout a stash, in upstream after 5.27.5 -Patch67: perl-5.27.5-Avoid-a-segfault-when-untying-an-object.patch - -# Fix deparsing of transliterations with unprintable characters, RT#132405, -# in upstream after 5.27.5 -Patch68: perl-5.26.1-Fix-deparsing-of-transliterations-with-unprintable-c.patch - -# Fix error reporting on do() on a directory, RT#125774, -# in upstream after 5.27.5 -Patch69: perl-5.26.1-fix-do-dir-returning-no.patch - -# Fix stack manipulation when a lexical subroutine is defined in a do block in -# a member of an iteration list, RT#132442, in upstream after 5.27.5 -Patch70: perl-5.27.5-perl-132442-Fix-stack-with-do-my-sub-l-1.patch - -# Fix setting $! when statting a closed filehandle, RT#108288, -# in upstream after 5.27.5 -Patch71: perl-5.26.1-set-when-statting-a-closed-filehandle.patch - -# Fix tainting of s/// with overloaded replacement, RT#115266, -# in upstream after 5.27.5 -Patch72: perl-5.27.5-fix-tainting-of-s-with-overloaded-replacement.patch - -# Expand system() arguments before a fork, RT#121105, -# in upstream after 5.27.6 -Patch73: perl-5.26.2-RC1-perform-system-arg-processing-before-fork.patch -# in upstream after 5.27.7 -Patch74: perl-5.27.7-preserve-numericness-of-system-args-on-Win32.patch -Patch75: perl-5.27.7-Reenable-numeric-first-argument-of-system-on-VMS.patch - -# Avoid undefined behavior when copying memory in Glob and pp_caller, -# RT#131746, in upstream after 5.27.3 -Patch76: perl-5.26.1-perl-131746-avoid-undefined-behaviour-in-Copy-etc.patch -Patch77: perl-5.27.3-avoid-the-address-of-.-will-always-evaluate-as-.-war.patch - -# Conditionalize a fix for an old and long fixed bug -# in libcrypt / glibc, rhbz#1536752, RT#133184, in upstream after 5.27.11 -Patch78: perl-5.26.1-guard_old_libcrypt_fix.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, # -Patch79: perl-5.27.8-hints-linux-Add-lphtread-to-lddlflags.patch - -# Fix parsing braced subscript after parentheses, RT#8045, -# in upstream after 5.27.7 -Patch80: perl-5.26.1-fix-parsing-of-braced-subscript-after-parens.patch - -# Do not clobber file bytes in :encoding layer, RT#132833, -# in upstream after 5.27.8 -Patch81: perl-5.27.8-don-t-clobber-file-bytes-in-encoding-layer.patch - -# Fix line numbers in multi-line s///, RT#131930, in upstream after 5.27.9 -Patch82: perl-5.27.9-fix-line-numbers-in-multi-line-s.patch - -# Fix parsing extended bracketed character classes, RT#132167, -# in upstream after 5.27.10 -Patch83: perl-5.27.10-PATCH-perl-132167-Parse-error-in-regex_sets.patch - -# Fix a possibly unitialized memory read in the Perl parser, RT#133074, -# in upstream after 5.27.10 -Patch84: perl-5.27.10-PATCH-perl-133074-5.26.1-some-coverity-fixes.patch - -# Fix an infinite loop in the regular expression compiler, RT#133185, -# in upstream after 5.27.11 -Patch85: perl-5.26.2-PATCH-perl-133185-Infinite-loop-in-qr.patch - -# Adjust tests to gdbm-1.15, RT#133295 -Patch86: perl-5.29.0-Remove-ext-GDBM_File-t-fatal.t.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 -Patch88: 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 -Patch89: perl-5.26.2-perl.h-Add-parens-around-macro-arguments.patch +Patch12: perl-5.27.8-hints-linux-Add-lphtread-to-lddlflags.patch # Pass the correct CFLAGS to dtrace -Patch90: perl-5.26.2-Pass-CFLAGS-to-dtrace.patch - -# Fix Time-Local tests to pass after year 2019, bug #1807120, CPAN RT#124787, -# GH#17410, in Time-Local-1.26 -Patch91: perl-5.28.2-Only-pass-2-digit-years-to-tests-when-testing-2-digi.patch - -# Fix CVE-2020-12723, bug #1839279, GH#16947, fixed in upstream 5.28.3, ported from -# upstream 3f4ba871d2d397dcd4386ed75e05353c36135c29. -Patch92: perl-5.26.3-CVE-2020-12723.patch - -# Fix CVE-2020-10543, bug #1839273, fixed in upstream 5.28.3 -# Fix heap buffer overflow in Perl's regular expression compiler -Patch93: perl-5.26.3-CVE-2020-10543.patch - -# Fix CVE-2020-10878, bug #1839276, fixed in upstream 5.28.3 -# Fix integer overflows in the calculation of offsets between instructions -# for the regex engine -Patch94: perl-5.26.3-CVE-2020-10878.patch - -# Fix bug #1973030, fixed in Net-Ping 2.68 -# Fixed _resolv return value on failing DNS name lookup -Patch95: perl-5.26.3-Net-Ping-carp-not-croak-on-most-name-lookup-failures.patch -Patch96: perl-5.26.3-Net-Ping-Fix-_resolv-return-value.patch - -# Fix a memory leak when compiling a regular expression with a non-word class, -# GH#17218, in upstream after 5.31.5 -Patch97: perl-5.31.5-PATCH-gh-17218-memory-leak.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 @@ -341,7 +209,9 @@ BuildRequires: glibc-common # Build-require groff tools for populating %%Config correctly, bug #135101 BuildRequires: groff-base %endif +%if %{with bdb} BuildRequires: libdb-devel +%endif BuildRequires: make %if !%{defined perl_bootstrap} BuildRequires: perl-interpreter @@ -350,6 +220,7 @@ BuildRequires: perl-generators BuildRequires: sed %if %{with perl_enables_systemtap} BuildRequires: systemtap-sdt-devel +BuildRequires: systemtap-sdt-dtrace %endif BuildRequires: tar %if %{with perl_enables_tcsh} @@ -359,7 +230,15 @@ BuildRequires: zlib-devel # For tests %if %{with test} +%if %{with perl_enables_cplusplus_test} +# An optional ExtUtils-CBuilder's test +BuildRequires: gcc-c++ +%endif BuildRequires: procps +%if %{with perl_enables_turkish_test} +# An optional t/re/fold_grind_T.t test +BuildRequires: glibc-langpack-tr +%endif %if %{with perl_enables_syslog_test} BuildRequires: rsyslog %endif @@ -367,7 +246,7 @@ BuildRequires: rsyslog # compat macro needed for rebuild -%global perl_compat perl(:MODULE_COMPAT_5.26.3) +%global perl_compat perl(:MODULE_COMPAT_5.40.2) Requires: %perl_compat Requires: perl-interpreter%{?_isa} = %{perl_epoch}:%{perl_version}-%{release} @@ -380,54 +259,90 @@ Requires: perl-utils %endif Requires: perl-Archive-Tar, perl-Attribute-Handlers, perl-autodie, -Requires: perl-B-Debug, perl-bignum -Requires: perl-Compress-Raw-Bzip2, -Requires: perl-Carp, perl-Compress-Raw-Zlib, perl-Config-Perl-V, -Requires: perl-constant, +Requires: perl-AutoLoader, perl-AutoSplit, perl-autouse, +Requires: perl-B, perl-base, perl-Benchmark, perl-bignum, perl-blib, +Requires: perl-Carp, perl-Class-Struct, +Requires: perl-Compress-Raw-Bzip2, perl-Compress-Raw-Zlib, +Requires: perl-Config-Extensions, perl-Config-Perl-V, perl-constant, Requires: perl-CPAN, perl-CPAN-Meta, perl-CPAN-Meta-Requirements, -Requires: perl-CPAN-Meta-YAML -Requires: perl-Data-Dumper, perl-DB_File, +Requires: perl-CPAN-Meta-YAML, perl-Data-Dumper, +%if %{with bdb} +Requires: perl-DB_File, +%endif +Requires: perl-DBM_Filter, perl-debugger, perl-deprecate, Requires: perl-Devel-Peek, perl-Devel-PPPort, perl-Devel-SelfStubber, -Requires: perl-Digest, perl-Digest-MD5, -Requires: perl-Digest-SHA, -Requires: perl-Encode, perl-Encode-devel, perl-encoding -Requires: perl-Env, perl-Errno, perl-Exporter, perl-experimental -Requires: perl-ExtUtils-CBuilder, perl-ExtUtils-Command, -Requires: perl-ExtUtils-Embed, -Requires: perl-ExtUtils-Install, perl-ExtUtils-MakeMaker -Requires: perl-ExtUtils-Manifest, perl-ExtUtils-Miniperl -Requires: perl-ExtUtils-ParseXS, perl-File-Fetch -Requires: perl-File-Path, perl-File-Temp, perl-Filter, -Requires: perl-Filter-Simple, perl-Getopt-Long -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-Simple -Requires: perl-Math-BigInt, perl-Math-BigInt-FastCalc, perl-Math-BigRat, -Requires: perl-Math-Complex, perl-Memoize, +Requires: perl-diagnostics, perl-Digest, perl-Digest-MD5, perl-Digest-SHA, +Requires: perl-DirHandle, +Requires: perl-doc, +Requires: perl-Dumpvalue, +Requires: perl-DynaLoader, +Requires: perl-Encode, perl-Encode-devel, perl-encoding, +Requires: perl-encoding-warnings, perl-English, +Requires: perl-Env, perl-Errno, perl-experimental, perl-Exporter, +Requires: perl-ExtUtils-CBuilder, perl-ExtUtils-Constant, +Requires: perl-ExtUtils-Command, +Requires: perl-ExtUtils-Embed, perl-ExtUtils-Install, +Requires: perl-ExtUtils-MakeMaker, perl-ExtUtils-Manifest, +Requires: perl-ExtUtils-Miniperl, perl-ExtUtils-MM-Utils, +Requires: perl-ExtUtils-ParseXS, +Requires: perl-Fcntl, perl-fields, +Requires: perl-File-Basename, perl-File-Compare, perl-File-Copy, +Requires: perl-File-DosGlob, perl-File-Fetch, +Requires: perl-File-Find, perl-File-Path, perl-File-stat, perl-File-Temp, +Requires: perl-FileCache, perl-FileHandle, perl-filetest, +Requires: perl-Filter, perl-Filter-Simple, +Requires: perl-FindBin, +%if %{with gdbm} +Requires: perl-GDBM_File, +%endif +Requires: perl-Getopt-Long, perl-Getopt-Std, +Requires: perl-Hash-Util, perl-Hash-Util-FieldHash, perl-HTTP-Tiny, +Requires: perl-if, perl-IO, perl-IO-Compress, perl-IO-Socket-IP, +Requires: perl-IO-Zlib, perl-IPC-Cmd, perl-IPC-Open3, perl-IPC-SysV, +Requires: perl-I18N-Collate, perl-I18N-Langinfo, perl-I18N-LangTags, +Requires: perl-JSON-PP, +Requires: perl-less, +Requires: perl-lib, perl-libnet, perl-libnetcfg, +Requires: perl-locale, perl-Locale-Maketext, perl-Locale-Maketext-Simple, +Requires: perl-Math-BigInt, perl-Math-BigInt-FastCalc, +Requires: perl-Math-Complex, perl-Memoize, perl-meta-notation, Requires: perl-MIME-Base64, -Requires: perl-Module-CoreList, -Requires: perl-Module-CoreList-tools, perl-Module-Load -Requires: perl-Module-Load-Conditional, perl-Module-Loaded, -Requires: perl-Module-Metadata, perl-Net-Ping, -Requires: perl-open, perl-PathTools -Requires: perl-Params-Check -Requires: perl-perlfaq, -Requires: perl-PerlIO-via-QuotedPrint, perl-Perl-OSType -Requires: perl-Pod-Checker, perl-Pod-Escapes, perl-Pod-Html, -Requires: perl-Pod-Parser, perl-Pod-Perldoc, perl-Pod-Usage -Requires: perl-podlators, perl-Pod-Simple, perl-Scalar-List-Utils -Requires: perl-SelfLoader, perl-Socket, perl-Storable, perl-Sys-Syslog, -Requires: perl-Term-ANSIColor, perl-Term-Cap, -Requires: perl-Test, perl-Test-Harness, perl-Test-Simple -Requires: perl-Text-Balanced, perl-Text-ParseWords, perl-Text-Tabs+Wrap, -Requires: perl-Thread-Queue -Requires: perl-Time-HiRes -Requires: perl-Time-Local, perl-Time-Piece -Requires: perl-Unicode-Collate, perl-Unicode-Normalize, -Requires: perl-version, perl-threads, perl-threads-shared, perl-parent +Requires: perl-Module-CoreList, perl-Module-CoreList-tools, +Requires: perl-Module-Load, perl-Module-Load-Conditional, +Requires: perl-Module-Loaded, perl-Module-Metadata, +Requires: perl-mro, +%if %{with gdbm} +Requires: perl-NDBM_File, +%endif +Requires: perl-Net, perl-Net-Ping, perl-NEXT, +%if %{with gdbm} +Requires: perl-ODBM_File, +%endif +Requires: perl-Opcode, perl-open, perl-overload, perl-overloading, +Requires: perl-parent, perl-PathTools, perl-Params-Check, perl-perlfaq, +Requires: perl-PerlIO-via-QuotedPrint, perl-Perl-OSType, +Requires: perl-ph, +Requires: perl-Pod-Checker, perl-Pod-Escapes, perl-Pod-Functions, +Requires: perl-Pod-Html, perl-Pod-Perldoc, +Requires: perl-Pod-Simple, perl-Pod-Usage, perl-podlators, perl-POSIX, +Requires: perl-Safe, perl-Scalar-List-Utils, +Requires: perl-Search-Dict, perl-SelectSaver, +Requires: perl-SelfLoader, perl-sigtrap, perl-Socket, perl-sort, +Requires: perl-Storable, +Requires: perl-subs, +Requires: perl-Symbol, perl-Sys-Hostname, perl-Sys-Syslog, +Requires: perl-Term-ANSIColor, perl-Term-Cap, perl-Term-Complete, +Requires: perl-Term-ReadLine, perl-Term-Table, +Requires: perl-Test, perl-Test-Harness, perl-Test-Simple, perl-Test2-Suite, +Requires: perl-Text-Abbrev, perl-Text-Balanced, perl-Text-ParseWords, +Requires: perl-Text-Tabs+Wrap, +Requires: perl-Thread, perl-Thread-Queue, perl-Thread-Semaphore, +Requires: perl-threads, perl-threads-shared, +Requires: perl-Tie, perl-Tie-File, perl-Tie-Memoize, perl-Tie-RefHash, +Requires: perl-Time, perl-Time-HiRes, perl-Time-Local, perl-Time-Piece, +Requires: perl-Unicode-Collate, perl-Unicode-Normalize, perl-Unicode-UCD, +Requires: perl-User-pwent, +Requires: perl-vars, perl-version, perl-vmsish, # Full EVR is for compatibility with systems that swapped perl and perl-core # , @@ -456,7 +371,7 @@ details on the Perl decomposition into packages. %package interpreter Summary: Standalone executable Perl interpreter -License: (GPL+ or Artistic) and (GPLv2+ or Artistic) and BSD and Public Domain and UCD +License: GPL-1.0-or-later OR Artistic-1.0-Perl # perl-interpreter denotes a package with the perl executable. # Full EVR is for compatibility with systems that swapped perl and perl-core # , @@ -465,23 +380,16 @@ Version: %{perl_version} Epoch: %{perl_epoch} Requires: perl-libs%{?_isa} = %{perl_epoch}:%{perl_version}-%{release} +Suggests: perl-doc = %{perl_version}-%{release} +%if %{defined perl_bootstrap} # Require this till perl-interpreter sub-package provides any modules Requires: %perl_compat -%if %{defined perl_bootstrap} %gendep_perl_interpreter %endif # We need this to break the dependency loop, and ensure that perl-libs # gets installed before perl-interpreter. Requires(post): perl-libs -# Same as perl-libs. We need macros in basic buildroot, where Perl is only -# because of git. -Requires(post): perl-macros - -# File provides -Provides: perl(bytes_heavy.pl) -Provides: perl(dumpvar.pl) -Provides: perl(perl5db.pl) # suidperl isn't created by upstream since 5.12.0 Obsoletes: perl-suidperl <= 4:5.12.2 @@ -490,7 +398,6 @@ Obsoletes: perl-suidperl <= 4:5.12.2 # bug #1464903. Obsoletes: perl < 4:5.26.0-395 - %description interpreter This is a Perl interpreter as a standalone executable %{_bindir}/perl required for handling Perl scripts. It does not provide all the other Perl @@ -511,17 +418,19 @@ embedded into another application, the only essential package is perl-libs. Perl header files can be found in perl-devel package. -Perl utils like "splain" or "perlbug" can be found in perl-utils package. +Perl utils like "h2ph" or "perlbug" can be found in perl-utils package. + +Perl debugger, usually invoked with "perl -d", is available in perl-debugger +package. %package libs Summary: The libraries for the perl run-time -License: (GPL+ or Artistic) and HSRL and MIT and UCD +License: (GPL-1.0-or-later OR Artistic-1.0-Perl) AND Martin-Birgmeier AND Spencer-86 AND MIT AND Unicode-3.0 AND LicenseRef-Fedora-Public-Domain # Compat provides Provides: %perl_compat -Provides: perl(:MODULE_COMPAT_5.26.2) -Provides: perl(:MODULE_COMPAT_5.26.1) -Provides: perl(:MODULE_COMPAT_5.26.0) +Provides: perl(:MODULE_COMPAT_5.40.0) +Provides: perl(:MODULE_COMPAT_5.40.1) # Interpreter version to fulfil required genersted from "require 5.006;" Provides: perl(:VERSION) = %{perl_version} # Integeres are 64-bit on all platforms @@ -539,19 +448,30 @@ Provides: perl(unicore::Name) # causes loading utf8 and unicore/Heave.pl and unicore/lib files. Provides: perl(utf8_heavy.pl) # utf8 and utf8_heavy.pl require Carp, re, strict, warnings, XSLoader -Requires: perl(Carp) +# For AnyDBM_File +%if %{with bdb} +Suggests: perl(DB_File) +%endif +# XSLoader requires DynaLoder +Requires: perl(DynaLoader) # Encode is loaded in BOOT section of PerlIO::encoding Requires: perl(Encode) -Requires: perl(Exporter) +# File::Spec loaded by _charnames.pm that is loaded by \N{} +Requires: perl(File::Spec) +%if %{with gdbm} +# For AnyDBM_File +Suggests: perl(GDBM_File) +Recommends: perl(NDBM_File) +Suggests: perl(ODBM_File) +%endif # Term::Cap is optional -Requires: perl(XSLoader) %if %{defined perl_bootstrap} %gendep_perl_libs %endif # Remove private redefinitions -# XSLoader redefines DynaLoader name space for compatibility, but does not -# load the DynaLoader.pm (though the DynaLoader.xs is compiled into libperl). +# XSLoader redefines DynaLoader name space for compatibility, but it still +# loads DynaLoader.pm (though DynaLoader.xs is compiled into libperl). %global __provides_exclude %{?__provides_exclude:%__provides_exclude|}^perl\\((charnames|DynaLoader)\\)$ %description libs @@ -560,22 +480,29 @@ directories). %package devel -Summary: Header #files for use in perl development -# l1_char_class_tab.h is generated from lib/unicore sources: UCD -License: (GPL+ or Artistic) and UCD +Summary: Header files for use in perl development +# l1_char_class_tab.h is generated from lib/unicore sources: Unicode-3.0 +License: (GPL-1.0-or-later OR Artistic-1.0-Perl) AND Unicode-3.0 %if %{with perl_enables_systemtap} Requires: systemtap-sdt-devel +Requires: systemtap-sdt-dtrace %endif Requires: perl(ExtUtils::ParseXS) -Requires: %perl_compat # Match library and header files when downgrading releases Requires: perl-libs%{?_isa} = %{perl_epoch}:%{perl_version}-%{release} +Recommends: perl-doc = %{perl_version}-%{release} +# Devel::PPPort for h2xs script +Requires: perl(Devel::PPPort) # Compiler and linker options stored into perl and used when building XS # modules refer to hardering profiles like # /usr/lib/rpm/redhat/redhat-hardened-cc1 that are delivered by # redhat-rpm-config. Bug #1557667. Requires: redhat-rpm-config +# ExtUtils::Embed -e ldopts include libcrypt, bug #1666098 +Requires: libxcrypt-devel%{?_isa} + %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_devel %endif @@ -586,9 +513,11 @@ Most perl packages will need to install perl-devel to build. %package macros Summary: Macros for rpmbuild -License: GPL+ or Artistic -Requires: %perl_compat +License: GPL-1.0-or-later OR Artistic-1.0-Perl +BuildArch: noarch +Requires: perl-interpreter %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_macros %endif @@ -598,13 +527,13 @@ RPM macros that are handy when building binary RPM packages. %package tests Summary: The Perl test suite -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl # right? AutoReqProv: 0 -Requires: %perl_compat # FIXME - note this will need to change when doing the core/minimal swizzle Requires: perl %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_tests %endif @@ -617,11 +546,11 @@ modules). %package utils Summary: Utilities packaged with the Perl distribution -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 Version: %{perl_version} BuildArch: noarch -# Match library exactly for splain messages +# Match library exactly for perlbug version string Requires: perl-libs = %{perl_epoch}:%{perl_version}-%{release} # Keep /usr/sbin/sendmail and Module::CoreList optional for the perlbug tool %if %{defined perl_bootstrap} @@ -631,18 +560,16 @@ Conflicts: perl < 4:5.22.0-351 %description utils Several utilities which come with Perl distribution like h2ph, perlbug, -perlthanks, pl2pm, and splain. Some utilities are provided by more specific -packages like perldoc by perl-Pod-Perldoc. - +perlthanks, and pl2pm. Some utilities are provided by more specific +packages like perldoc by perl-Pod-Perldoc and splain by perl-diagnostics. %if %{dual_life} || %{rebuild_from_scratch} %package Archive-Tar Summary: A module for Perl manipulation of .tar files -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 2.24 +Version: 3.02 BuildArch: noarch -Requires: %perl_compat Requires: perl(IO::Zlib) >= 1.01 # Optional run-time: Requires: perl(IO::Compress::Bzip2) >= 2.015 @@ -653,6 +580,7 @@ Requires: perl(IO::Uncompress::Bunzip2) >= 2.015 Requires: perl(Text::Diff) %endif %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Archive_Tar %endif @@ -666,12 +594,12 @@ gzipped tar files. %package Attribute-Handlers Summary: Simpler definition of attribute handlers -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 0.99 +Version: 1.03 BuildArch: noarch -Requires: %perl_compat %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Attribute_Handlers %endif Conflicts: perl < 4:5.22.0-351 @@ -687,16 +615,16 @@ phases (i.e. in a "BEGIN", "CHECK", "INIT", or "END" block). %if %{dual_life} || %{rebuild_from_scratch} %package autodie Summary: Replace functions with ones that succeed or die -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 2.29 -Requires: %perl_compat +Version: 2.37 BuildArch: noarch Requires: perl(B) Requires: perl(Fcntl) Requires: perl(overload) Requires: perl(POSIX) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_autodie %endif Conflicts: perl < 4:5.16.2-259 @@ -710,35 +638,129 @@ However "Fatal" has been obsoleted by the new autodie pragma. Please use 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 +%package AutoLoader +Summary: Load subroutines only on demand +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 1.24 -Requires: %perl_compat +Version: 5.74 BuildArch: noarch +Requires: perl(Carp) %if %{defined perl_bootstrap} -%gendep_perl_B_Debug +Requires: %perl_compat +%gendep_perl_AutoLoader %endif -Conflicts: perl < 4:5.20.1-310 +Conflicts: perl < 4:5.30.1-451 -%description B-Debug -Walk Perl syntax tree and print debug information about op-codes. See -B::Concise and B::Terse for other details. +%description AutoLoader +The AutoLoader module works with the AutoSplit module and the "__END__" token +to defer the loading of some subroutines until they are used rather than +loading them all at once. +%package AutoSplit +Summary: Split a package for automatic loading +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +# Real version 1.06 +Version: 5.74 +BuildArch: noarch +Requires: perl(Carp) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_AutoSplit +%endif +Conflicts: perl < 4:5.30.1-451 + +%description AutoSplit +Split up your program into files that the AutoLoader module can handle. It is +used by both the standard Perl libraries and by the ExtUtils::MakeMaker +utility, to automatically configure libraries for automatic loading. + +%package autouse +Summary: Postpone load of modules until a function is used +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.11 +BuildArch: noarch +Requires: perl(Carp) +Requires: perl(warnings) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_autouse +%endif +Conflicts: perl < 4:5.30.1-451 + +%description autouse +If a module is not loaded yet, then the autouse declaration declares functions +in the current package. When these functions are called, they load the package +and substitute themselves with the correct definitions. + +%package B +Summary: Perl compiler backend +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.89 +Requires: perl(Data::Dumper) +Requires: perl(overloading) +Requires: perl(XSLoader) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_B +%endif +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description B +The "B" module supplies classes which allow a Perl program to delve into its +own innards. It is the module used to implement the backends of the Perl +compiler. + +%package base +Summary: Establish an ISA relationship with base classes at compile time +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 2.27 +BuildArch: noarch +Requires: perl(Carp) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_base +%endif +Conflicts: perl < 4:5.30.1-451 + +%description base +"base" module allows you to both load one or more modules, while setting up +inheritance from those modules at the same time. Unless you are using the +"fields" pragma, consider this module discouraged in favor of the +lighter-weight "parent". + +%package Benchmark +Summary: Benchmark running times of Perl code +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.25 +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_Benchmark +%endif +BuildArch: noarch +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description Benchmark +The Benchmark module encapsulates a number of routines to help you figure out +how long it takes to execute some code. + +%if %{dual_life} || %{rebuild_from_scratch} %package bignum Summary: Transparent big number support for Perl -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 0.47 -Requires: %perl_compat +Version: 0.67 Requires: perl(Carp) # Math::BigInt::Lite is optional Requires: perl(Math::BigRat) Requires: perl(warnings) BuildArch: noarch %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_bignum %endif Conflicts: perl < 4:5.22.0-348 @@ -746,16 +768,35 @@ Conflicts: perl < 4:5.22.0-348 %description bignum This package attempts to make it easier to write scripts that use BigInts and BigFloats in a transparent way. +%endif +%package blib +Summary: Use uninstalled version of a package +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.07 +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_blib +%endif +BuildArch: noarch +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description blib +This module looks for MakeMaker-like "blib" directory structure starting in +given or current directory and working back up to five levels of directories. +It is intended for use on command line with -M option as a way of testing +arbitrary scripts against an uninstalled version of a package. + +%if %{dual_life} || %{rebuild_from_scratch} %package Carp Summary: Alternative warn and die for modules Epoch: 0 -# Real version 1.42 -Version: 1.42 -License: GPL+ or Artistic -Requires: %perl_compat -Provides: perl(Carp::Heavy) = %{version} +# Real version 1.54 +Version: 1.54 +License: GPL-1.0-or-later OR Artistic-1.0-Perl %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Carp %endif BuildArch: noarch @@ -773,12 +814,29 @@ module was called. There is no guarantee that that is where the error was, but it is a good educated guess. %endif +%package Class-Struct +Summary: Declare struct-like data types as Perl classes +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 0.68 +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_Class_Struct +%endif +BuildArch: noarch +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description Class-Struct +Class::Struct module exports a single function struct(). Given a list of +element names and types, and optionally a class name, struct() creates a +Perl 5 class that implements a struct-like data structure. + %if %{dual_life} || %{rebuild_from_scratch} %package Compress-Raw-Bzip2 Summary: Low-Level Interface to bzip2 compression library -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 2.074 +Version: 2.212 Requires: perl(Exporter), perl(File::Temp) %if %{defined perl_bootstrap} %gendep_perl_Compress_Raw_Bzip2 @@ -790,11 +848,11 @@ It is used by IO::Compress::Bzip2. %package Compress-Raw-Zlib Summary: Low-Level Interface to the zlib compression library -License: (GPL+ or Artistic) and zlib +License: (GPL-1.0-or-later OR Artistic-1.0-Perl) AND Zlib Epoch: 0 -Version: 2.074 -Requires: %perl_compat +Version: 2.212 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Compress_Raw_Zlib %endif @@ -803,14 +861,30 @@ This module provides a Perl interface to the zlib compression library. It is used by IO::Compress::Zlib. %endif +%package Config-Extensions +Summary: Hash lookup of which Perl core extensions were built +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 0.03 +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_Config_Extensions +%endif +BuildArch: noarch +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description Config-Extensions +The Config::Extensions module provides a hash %%Extensions containing all the +core extensions that were enabled for this perl. + %if %{dual_life} || %{rebuild_from_scratch} %package Config-Perl-V Summary: Structured data retrieval of perl -V output -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 0.28 -Requires: %perl_compat +Version: 0.36 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Config_Perl_V %endif BuildArch: noarch @@ -826,12 +900,12 @@ module that will return you the output of "perl -V" in a structure. %if %{dual_life} || %{rebuild_from_scratch} %package constant Summary: Perl pragma to declare constants -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 Version: 1.33 -Requires: %perl_compat Requires: perl(Carp) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_constant %endif BuildArch: noarch @@ -858,10 +932,18 @@ away if the constant is false. %if %{dual_life} || %{rebuild_from_scratch} %package CPAN Summary: Query, download and build perl modules from CPAN sites -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 2.18 +Version: 2.36 Requires: make +# Some subpackaged modules are not dual-lived. E.g. "open". If a distribution +# on CPAN declares a dependency on such module, CPAN client will fail, +# because the only provider is a perl distribution. +# Another issue is with dual-lived modules whose distribution actually does +# not declare all needed core dependencies and the installation would also +# fail. +# As a result, any CPAN client must run-require the complete perl. +Requires: perl # Prefer Archive::Tar and Compress::Zlib over tar and gzip Requires: perl(Archive::Tar) >= 1.50 Requires: perl(base) @@ -905,9 +987,9 @@ Requires: perl(Module::Build) %if ! %{defined perl_bootstrap} Requires: perl(Text::Glob) %endif -Requires: %perl_compat Provides: cpan = %{version} %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_CPAN %endif BuildArch: noarch @@ -924,12 +1006,12 @@ external download clients to fetch distributions from the net. Summary: Distribution metadata for a CPAN dist Epoch: 0 Version: 2.150010 -License: GPL+ or Artistic -Requires: %perl_compat +License: GPL-1.0-or-later OR Artistic-1.0-Perl Requires: perl(CPAN::Meta::YAML) >= 0.011 Requires: perl(Encode) Requires: perl(JSON::PP) >= 2.27300 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_CPAN_Meta %endif BuildArch: noarch @@ -948,13 +1030,13 @@ Summary: Set of version requirements for a CPAN dist Epoch: 0 # Real version 2.140 Version: 2.140 -License: GPL+ or Artistic -Requires: %perl_compat +License: GPL-1.0-or-later OR Artistic-1.0-Perl BuildArch: noarch # CPAN-Meta-Requirements used to have six decimal places %global __provides_exclude %{?__provides_exclude:%__provides_exclude|}^perl\\(CPAN::Meta::Requirements\\) Provides: perl(CPAN::Meta::Requirements) = %{version}000 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_CPAN_Meta_Requirements %endif @@ -970,10 +1052,10 @@ them to the simplest representation. Version: 0.018 Epoch: 0 Summary: Read and write a subset of YAML for CPAN Meta files -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl BuildArch: noarch -Requires: %perl_compat %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_CPAN_Meta_YAML %endif @@ -987,13 +1069,15 @@ used for any other general YAML parsing or generation task. %if %{dual_life} || %{rebuild_from_scratch} %package Data-Dumper Summary: Stringify perl data structures, suitable for printing and eval -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 2.167 -Requires: %perl_compat +Version: 2.189 +Requires: perl(B::Deparse) +Requires: perl(bytes) Requires: perl(Scalar::Util) Requires: perl(XSLoader) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Data_Dumper %endif @@ -1005,15 +1089,16 @@ structures correctly. %endif %if %{dual_life} || %{rebuild_from_scratch} +%if %{with bdb} %package DB_File Summary: Perl5 access to Berkeley DB version 1.x -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 1.840 -Requires: %perl_compat +Version: 1.859 Requires: perl(Fcntl) Requires: perl(XSLoader) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_DB_File %endif Conflicts: perl < 4:5.16.3-264 @@ -1024,14 +1109,100 @@ provided by Berkeley DB version 1.x (if you have a newer version of DB, you will be limited to functionality provided by interface of version 1.x). The interface defined here mirrors the Berkeley DB interface closely. %endif +%endif + +%package DBM_Filter +Summary: Filter DBM keys and values +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 0.06 +Requires: perl(Compress::Zlib) +Requires: perl(Encode) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_DBM_Filter +%endif +BuildArch: noarch +Conflicts: perl-interpreter < 4:5.30.1-451 + +# Remove private redefinitions +# DBM_Filter redefines Tie::Hash, but does not load it. +%global __provides_exclude %{?__provides_exclude:%__provides_exclude|}^perl\\(Tie::Hash\\)$ + +%description DBM_Filter +This module provides an interface that allows filters to be applied to tied +hashes associated with DBM files. + +%package debugger +Summary: Perl debugger +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.60 +BuildArch: noarch +# File provides +Provides: perl(dumpvar.pl) = %{perl_version} +Provides: perl(perl5db.pl) = %{version} +Recommends: perl(Carp) +Recommends: perl(Config) +Requires: perl(Cwd) +Recommends: perl(Devel::Peek) +Requires: perl(feature) +Recommends: perl(IO::Handle) +Recommends: perl(File::Basename) +Recommends: perl(File::Path) +Requires: perl(IO::Socket) +Requires: perl(meta_notation) = %{perl_version} +Requires: perl(mro) +%if !%{defined perl_bootstrap} +Suggests: perl(PadWalker) >= 0.08 +%endif +Recommends: perl(POSIX) +Requires: perl(Term::ReadLine) +# ??? Term::Rendezvous +Requires: perl(threads) +Requires: perl(threads::shared) +Requires: perl(vars) +Requires: perl(warnings) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_debugger +%endif +Conflicts: perl < 4:5.30.1-451 + +%description debugger +This is the perl debugger. It is loaded automatically by Perl when you invoke +a script with "perl -d". There is also "DB" module contained for +a programmatic interface to the debugging API. + +%package deprecate +Summary: Perl pragma for deprecating the inclusion of a module in core +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 0.04 +Requires: perl(Carp) +Requires: perl(Config) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_deprecate +%endif +BuildArch: noarch +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description deprecate +"deprecate" pragma simplifies the maintenance of dual-life modules that will no +longer be included in the Perl core in a future Perl release, but are +still included currently. The purpose of the pragma is to alert users to the +status of such a module by issuing a warning that encourages them to install +the module from CPAN, so that a future upgrade to a perl which omits the +module will not break their code. %package Devel-Peek Summary: A data debugging tool for the XS programmer -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 1.26 -Requires: %perl_compat +Version: 1.34 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Devel_Peek %endif Conflicts: perl < 4:5.22.0-351 @@ -1045,11 +1216,11 @@ should look. %if %{dual_life} || %{rebuild_from_scratch} %package Devel-PPPort Summary: Perl Pollution Portability header generator -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 3.35 -Requires: %perl_compat +Version: 3.72 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Devel_PPPort %endif Conflicts: perl < 4:5.20.1-310 @@ -1065,12 +1236,12 @@ of old releases, but users can still reap the benefit. %package Devel-SelfStubber Summary: Generate stubs for a SelfLoading module -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 Version: 1.06 BuildArch: noarch -Requires: %perl_compat %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Devel_SelfStubber %endif Conflicts: perl < 4:5.22.0-351 @@ -1081,17 +1252,40 @@ __DATA__ token (or you can get it to print the entire module with stubs correctly placed). The stubs ensure that if a method is called, it will get loaded. They are needed specifically for inherited autoloaded methods. +%package diagnostics +Summary: Produce verbose warning diagnostics +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.40 +BuildArch: noarch +# Match library exactly for diagnostics messages +Requires: perl-libs = %{perl_epoch}:%{perl_version}-%{release} +Requires: perl(Getopt::Std) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_diagnostics +%endif +Conflicts: perl-utils < 5.30.1-451 +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description diagnostics +The diagnostics module extends the terse diagnostics normally emitted by both +the perl compiler and the perl interpreter (from running perl with a -w switch +or "use warnings"), augmenting them with the more explicative and endearing +descriptions found in perldiag. splain tool explains perl messages found on +standard input. + %if %{dual_life} || %{rebuild_from_scratch} %package Digest Summary: Modules that calculate message digests -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl # Epoch bump for clean upgrade over old standalone package Epoch: 0 -Version: 1.17 +Version: 1.20 BuildArch: noarch -Requires: %perl_compat Requires: perl(MIME::Base64) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Digest %endif @@ -1106,15 +1300,16 @@ bytes or bits. %if %{dual_life} || %{rebuild_from_scratch} %package Digest-MD5 Summary: Perl interface to the MD5 Algorithm -License: (GPL+ or Artistic) and BSD +License: GPL-1.0-or-later OR Artistic-1.0-Perl # Epoch bump for clean upgrade over old standalone package Epoch: 0 -Version: 2.55 -Requires: %perl_compat +# Real version 2.58 +Version: 2.58 Requires: perl(XSLoader) # Recommended Requires: perl(Digest::base) >= 1.00 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Digest_MD5 %endif @@ -1128,15 +1323,15 @@ input a message of arbitrary length and produces as output a 128-bit %if %{dual_life} || %{rebuild_from_scratch} %package Digest-SHA Summary: Perl extension for SHA-1/224/256/384/512 -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl # Epoch bump for clean upgrade over old standalone package Epoch: 1 -Version: 5.96 -Requires: %perl_compat +Version: 6.04 Requires: perl(Carp) # Recommended Requires: perl(Digest::base) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Digest_SHA %endif @@ -1147,14 +1342,86 @@ SHA-1, SHA-224, SHA-256, SHA-384, and SHA-512 message digests. The module can handle all types of input, including partial-byte data. %endif +%package DirHandle +Summary: Supply object methods for directory handles +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.05 +BuildArch: noarch +Requires: perl(warnings) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_DirHandle +%endif +Conflicts: perl < 4:5.30.1-451 + +%description DirHandle +There is no reason to use this module nowadays. The DirHandle module provides +an alternative interface to the opendir(), closedir(), readdir(), and +rewinddir() functions. Since Perl 5.6, opendir() alone has been all you need +for lexical handles. + +%package doc +Summary: Perl language documentation +License: (GPL-1.0-or-later OR Artistic-1.0-Perl) AND Unicode-3.0 AND LicenseRef-Fedora-UltraPermissive +Epoch: 0 +Version: %{perl_version} +BuildArch: noarch +%if %{defined perl_bootstrap} +Requires: %perl_compat +%endif +# For perldoc tool +Recommends: perl-Pod-Perldoc +Conflicts: perl < 4:5.30.1-451 + +%description doc +This is a documentation for Perl language. It's provided in POD and manual +page format. + +%package Dumpvalue +Summary: Screen dump of Perl data +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +# Real version 1.21 +Version: 2.27 +BuildArch: noarch +Recommends: perl(Devel::Peek) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_Dumpvalue +%endif +Conflicts: perl < 4:5.30.1-451 + +%description Dumpvalue +Dumpvalue module enables you to print a content of variables and other Perl +data structures. + +%package DynaLoader +Summary: Dynamically load C libraries into Perl code +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.56 +Requires: perl(Carp) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_DynaLoader +%endif +Conflicts: perl < 4:5.30.1-451 + +%description DynaLoader +The DynaLoader module defines a standard generic interface to the dynamic +linking mechanisms available on many platforms. Its primary purpose is to +implement automatic dynamic loading of Perl modules. For a simpler interface, +see XSLoader module. + %if %{dual_life} || %{rebuild_from_scratch} %package Encode Summary: Character encodings in Perl -License: (GPL+ or Artistic) and Artistic 2.0 and UCD +License: (GPL-1.0-or-later OR Artistic-1.0-Perl) AND Artistic-2.0 Epoch: 4 -Version: 2.88 -Requires: %perl_compat +Version: 3.21 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Encode %endif Conflicts: perl < 4:5.16.2-256 @@ -1165,12 +1432,11 @@ of the system. Perl strings are sequences of characters. %package encoding Summary: Write your Perl script in non-ASCII or non-UTF-8 -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 4 -Version: 2.19 +Version: 3.00 # Keeping this sub-package arch-specific because it installs files into # arch-specific directories. -Requires: %perl_compat Requires: perl(Carp) # Config not needed on perl ≥ 5.008 # Consider Filter::Util::Call as mandatory, bug #1165183, CPAN RT#100427 @@ -1179,6 +1445,7 @@ Requires: perl(Filter::Util::Call) # PerlIO::encoding is optional Requires: perl(utf8) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_encoding %endif Conflicts: perl-Encode < 2:2.60-314 @@ -1190,19 +1457,19 @@ support. However, this encoding module is deprecated under perl 5.18. It uses a mechanism provided by perl that is deprecated under 5.18 and higher, and may -be removed in a future version. +be removed in a future version.GPL-1.0-or-later OR Artistic-1.0-Perl The easiest and the best alternative is to write your script in UTF-8. %package Encode-devel Summary: Character encodings in Perl -License: (GPL+ or Artistic) and UCD +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 4 -Version: 2.88 -Requires: %perl_compat +Version: 3.21 Requires: %{name}-Encode = %{epoch}:%{version}-%{release} Recommends: perl-devel %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Encode_devel %endif BuildArch: noarch @@ -1213,14 +1480,51 @@ Mapping files (.ucm) or Tcl Encoding Files (.enc). You can use enc2xs to add your own encoding to perl. No knowledge of XS is necessary. %endif +%package encoding-warnings +Summary: Warn on implicit encoding conversions +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 0.14 +BuildArch: noarch +Requires: perl(Carp) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_encoding_warnings +%endif +Conflicts: perl < 4:5.30.1-451 + +%description encoding-warnings +As of Perl 5.26.0, this module has no effect. The internal Perl feature that +was used to implement this module has been removed. Hence, if you load this +module on Perl 5.26.0, you will get one warning that the module is no longer +supported; and the module will do nothing thereafter. + +%package English +Summary: Nice English or awk names for ugly punctuation variables +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.11 +Requires: perl(Carp) +Requires: perl(warnings) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_English +%endif +BuildArch: noarch +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description English +This module provides aliases for the built-in variables whose names no one +seems to like to read. + %if %{dual_life} || %{rebuild_from_scratch} %package Env Summary: Perl module that imports environment variables as scalars or arrays -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 1.04 -Requires: %perl_compat +Version: 1.06 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Env %endif BuildArch: noarch @@ -1234,15 +1538,15 @@ variables to be treated as scalar or array variables. %package Errno Summary: System errno constants -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 1.28 -Requires: %perl_compat +Version: 1.38 # Errno.pm bakes in kernel version at build time and compares it against # $Config{osvers} at run time. Match exact interpreter build. Bug #1393421. Requires: perl-libs%{?_isa} = %{perl_epoch}:%{perl_version}-%{release} Requires: perl(Carp) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Errno %endif Conflicts: perl < 4:5.22.0-351 @@ -1255,11 +1559,11 @@ which will export all POSIX defined error numbers. %if %{dual_life} || %{rebuild_from_scratch} %package experimental Summary: Experimental features made easy -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 0.016 -Requires: %perl_compat +Version: 0.032 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_experimental %endif BuildArch: noarch @@ -1273,12 +1577,12 @@ experimental features. %if %{dual_life} || %{rebuild_from_scratch} %package Exporter Summary: Implements default import method for modules -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 5.72 -Requires: %perl_compat +Version: 5.78 Requires: perl(Carp) >= 1.05 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Exporter %endif BuildArch: noarch @@ -1295,18 +1599,22 @@ the common case. %if %{dual_life} || %{rebuild_from_scratch} %package ExtUtils-CBuilder Summary: Compile and link C code for Perl modules -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl # Epoch bump for clean upgrade over old standalone package Epoch: 1 -Version: 0.280225 +Version: 0.280240 BuildArch: noarch +# C and C++ compilers are highly recommended because compiling code is the +# purpose of ExtUtils::CBuilder, bug #1547165 +Requires: gcc +Requires: gcc-c++ Requires: perl-devel -Requires: %perl_compat Requires: perl(DynaLoader) Requires: perl(ExtUtils::Mksymlists) Requires: perl(File::Spec) >= 3.13 Requires: perl(Perl::OSType) >= 1 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_ExtUtils_CBuilder %endif @@ -1316,17 +1624,37 @@ appropriate compilers and linkers in a cross-platform manner. It was motivated by the Module::Build project, but may be useful for other purposes as well. %endif +%package ExtUtils-Constant +Summary: Generate XS code to import C header constants +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 0.25 +BuildArch: noarch +Requires: perl(Data::Dumper) +# ExtUtils::Constant::Aaargh56Hash not used on recent Perls +# FileHandle not used on recent Perls +# POSIX not used on recent Perls +Conflicts: perl-interpreter < 4:5.30.1-451 +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_ExtUtils_Constant +%endif + +%description ExtUtils-Constant +ExtUtils::Constant facilitates generating C and XS wrapper code to allow +Perl modules to AUTOLOAD constants defined in C library header files. + %if %{dual_life} || %{rebuild_from_scratch} %package ExtUtils-Command Summary: Perl routines to replace common UNIX commands in Makefiles -License: GPL+ or Artistic -Epoch: 1 -Version: 7.24 +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 2 +Version: 7.70 BuildArch: noarch -Requires: %perl_compat Conflicts: perl < 4:5.20.1-312 Requires: perl(File::Find) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_ExtUtils_Command %endif @@ -1338,12 +1666,12 @@ easier to deal with in Makefiles. %package ExtUtils-Embed Summary: Utilities for embedding Perl in C/C++ applications -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 1.34 +Version: 1.35 Requires: perl-devel -Requires: %perl_compat %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_ExtUtils_Embed %endif BuildArch: noarch @@ -1355,13 +1683,16 @@ Utilities for embedding Perl in C/C++ applications. %if %{dual_life} || %{rebuild_from_scratch} %package ExtUtils-Install Summary: Install files from here to there -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 2.04 +Version: 2.22 BuildArch: noarch -Requires: %perl_compat +Requires: perl(AutoSplit) +Requires: perl(File::Compare) Requires: perl(Data::Dumper) +Recommends: perl(POSIX) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_ExtUtils_Install %endif @@ -1373,15 +1704,16 @@ pages, etc. %if %{dual_life} || %{rebuild_from_scratch} %package ExtUtils-MakeMaker Summary: Create a module Makefile -License: GPL+ or Artistic -Epoch: 1 -Version: 7.24 +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 2 +Version: 7.70 +# These dependencies are weak in order to relieve building noarch +# packages from perl-devel and gcc. See bug #1547165. +# If an XS module is built, the generated Makefile executes gcc. +Recommends: gcc # If an XS module is built, code generated from XS will be compiled and it # includes Perl header files. -# TODO: This dependency will be weaken in order to relieve building noarch -# packages from perl-devel and gcc. -Requires: perl-devel -Requires: %perl_compat +Recommends: perl-devel Requires: perl(Data::Dumper) Requires: perl(DynaLoader) Requires: perl(ExtUtils::Command) @@ -1397,6 +1729,7 @@ Requires: perl(version) # If an XS module is compiled, xsubpp(1) is needed Requires: perl-ExtUtils-ParseXS %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_ExtUtils_MakeMaker %endif BuildArch: noarch @@ -1413,12 +1746,12 @@ Create a module Makefile. %if %{dual_life} || %{rebuild_from_scratch} %package ExtUtils-Manifest Summary: Utilities to write and check a MANIFEST file -License: GPL+ or Artistic -Epoch: 0 -Version: 1.70 -Requires: %perl_compat +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 1 +Version: 1.75 Requires: perl(File::Path) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_ExtUtils_Manifest %endif BuildArch: noarch @@ -1429,12 +1762,12 @@ BuildArch: noarch %package ExtUtils-Miniperl Summary: Write the C code for perlmain.c -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 1.06 +Version: 1.14 Requires: perl-devel -Requires: %perl_compat %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_ExtUtils_Miniperl %endif BuildArch: noarch @@ -1451,14 +1784,14 @@ STDOUT. %if %{dual_life} || %{rebuild_from_scratch} %package ExtUtils-MM-Utils Summary: ExtUtils::MM methods without dependency on ExtUtils::MakeMaker -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 1 # Real version 7.11 # Dual-life ExtUtils-MakeMaker generate it with its version -Version: 7.24 +Version: 7.44 BuildArch: noarch -Requires: %perl_compat %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_ExtUtils_MM_Utils %endif @@ -1472,14 +1805,15 @@ is an overkill for small subroutines. %if %{dual_life} || %{rebuild_from_scratch} %package ExtUtils-ParseXS Summary: Module and a script for converting Perl XS code into C code -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl # Epoch bump for clean upgrade over old standalone package Epoch: 1 -Version: 3.34 -Requires: %perl_compat +Version: 3.51 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_ExtUtils_ParseXS %endif +Conflicts: perl-interpreter < 4:5.30.1-451 BuildArch: noarch %description ExtUtils-ParseXS @@ -1488,18 +1822,121 @@ necessary to let C functions manipulate Perl values and creates the glue necessary to let Perl access those functions. %endif +%package Fcntl +Summary: File operation options +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.18 +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_Fcntl +%endif +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description Fcntl +Fcntl module provides file operation related options. + +%package fields +Summary: Compile-time class fields +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +# Real version 2.25 +Version: 2.27 +BuildArch: noarch +Requires: perl(base) +Requires: perl(Carp) +Requires: perl(Hash::Util) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_fields +%endif +Conflicts: perl < 4:5.30.1-451 + +%description fields +The "fields" pragma enables compile-time and run-time verified class fields. + +%package File-Basename +Summary: Parse file paths into directory, file name, and suffix +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 2.86 +BuildArch: noarch +Requires: perl(Carp) +Requires: perl(re) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_File_Basename +%endif +Conflicts: perl < 4:5.30.1-451 + +%description File-Basename +These routines allow you to parse file paths into their directory, file name, +and suffix. + +%package File-Compare +Summary: Compare files or file handles +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +# Normalized version +Version: 1.100.800 +BuildArch: noarch +Requires: perl(Carp) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_File_Compare +%endif +Conflicts: perl < 4:5.30.1-451 + +%description File-Compare +A File::Compare Perl module provides functions for comparing a content of two +files specified by a file name or a file handle. + +%package File-Copy +Summary: Copy files or file handles +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 2.41 +BuildArch: noarch +Requires: perl(Carp) +Requires: perl(File::Basename) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_File_Copy +%endif +Conflicts: perl < 4:5.30.1-451 + +%description File-Copy +A File::Copy module provides two basic functions, copy and move, which are +useful for getting the contents of a file from one place to another. + +%package File-DosGlob +Summary: DOS-like globbing +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.12 +Requires: perl(Text::ParseWords) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_File_DosGlob +%endif +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description File-DosGlob +This Perl module implements DOS-like globbing with a few enhancements. It +is largely compatible with perlglob.exe in all but one respect--it understands +wild cards in directory components. %if %{dual_life} || %{rebuild_from_scratch} %package File-Fetch Summary: Generic file fetching mechanism -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 0.52 +Version: 1.04 Requires: perl(IPC::Cmd) >= 0.36 Requires: perl(Module::Load::Conditional) >= 0.04 Requires: perl(Params::Check) >= 0.07 -Requires: %perl_compat %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_File_Fetch %endif BuildArch: noarch @@ -1508,15 +1945,32 @@ BuildArch: noarch File::Fetch is a generic file fetching mechanism. %endif +%package File-Find +Summary: Traverse a directory tree +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.44 +Recommends: perl(Scalar::Util) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_File_Find +%endif +BuildArch: noarch +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description File-Find +These are functions for searching through directory trees doing work on each +file found similar to the Unix find command. + %if %{dual_life} || %{rebuild_from_scratch} %package File-Path Summary: Create or remove directory trees -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 2.12 -Requires: %perl_compat +Version: 2.18 Requires: perl(Carp) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_File_Path %endif BuildArch: noarch @@ -1527,18 +1981,36 @@ This module provides a convenient way to create directories of arbitrary depth and to delete an entire directory subtree from the file system. %endif +%package File-stat +Summary: By-name interface to Perl built-in stat functions +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.14 +BuildArch: noarch +Requires: perl(Symbol) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_File_stat +%endif +Conflicts: perl < 4:5.30.1-451 + +%description File-stat +This module overrides the core stat() and lstat() functions, replacing them +with versions that return File::stat objects. This object has methods that +return the similarly named structure field name from the stat(2) function. + %if %{dual_life} || %{rebuild_from_scratch} %package File-Temp Summary: Return name and handle of a temporary file safely -License: GPL+ or Artistic -Epoch: 0 +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 1 # Normalized version -Version: 0.230.400 -Requires: %perl_compat +Version: 0.231.100 BuildArch: noarch Requires: perl(File::Path) >= 2.06 Requires: perl(POSIX) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_File_Temp %endif Conflicts: perl < 4:5.16.2-265 @@ -1551,15 +2023,71 @@ name and the open file handle of a temporary file. The tempdir() function can be used to create a temporary directory. %endif +%package FileCache +Summary: Keep more files open than the system permits +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.10 +BuildArch: noarch +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_FileCache +%endif +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description FileCache +The "cacheout" function will make sure that there's a file handle open +for reading or writing available as the path name you give it. It +automatically closes and re-opens files if you exceed your system +maximum number of file descriptors, or the suggested maximum. + +%package FileHandle +Summary: Object methods for file handles +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 2.05 +BuildArch: noarch +Requires: perl(Exporter) +Recommends: perl(Fcntl) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_FileHandle +%endif +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description FileHandle +This is an object-oriented interface for opening files and performing +input/output operations on them. + +%package filetest +Summary: Perl pragma to control the filetest permission operators +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.03 +BuildArch: noarch +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_filetest +%endif +Conflicts: perl < 4:5.30.1-451 + +%description filetest +The default behavior of file test operators (e.g. "-r") is to use the simple +mode bits as returned by the stat() family of system calls. However, many +operating systems have additional features to define more complex access +rights, for example ACLs (Access Control Lists). For such environments, "use +filetest" may help the permission operators to return results more consistent +with other tools. + %if %{dual_life} || %{rebuild_from_scratch} # FIXME Filter-Simple? version? %package Filter Summary: Perl source filters -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 2 -Version: 1.55 -Requires: %perl_compat +Version: 1.64 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Filter %endif @@ -1572,15 +2100,15 @@ sees it. %if %{dual_life} || %{rebuild_from_scratch} %package Filter-Simple Summary: Simplified Perl source filtering -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 0.93 +Version: 0.96 BuildArch: noarch -Requires: %perl_compat Conflicts: perl < 4:5.20.1-312 Requires: perl(Text::Balanced) >= 1.97 Requires: perl(warnings) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Filter_Simple %endif @@ -1589,18 +2117,51 @@ The Filter::Simple Perl module provides a simplified interface to Filter::Util::Call; one that is sufficient for most common cases. %endif +%package FindBin +Summary: Locate a directory of an original Perl script +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.54 +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_FindBin +%endif +BuildArch: noarch +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description FindBin +Locates the full path to the script bin directory to allow the use of paths +relative to the bin directory. + +%if %{with gdbm} +%package GDBM_File +Summary: Perl5 access to the gdbm library +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 1 +Version: 1.24 +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_GDBM_File +%endif +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description GDBM_File +GDBM_File is a module which allows Perl programs to make use of the facilities +provided by the GNU gdbm library. +%endif + %if %{dual_life} || %{rebuild_from_scratch} %package Getopt-Long Summary: Extended processing of command line options -License: GPLv2+ or Artistic +License: GPL-2.0-or-later OR Artistic-1.0-Perl Epoch: 1 -Version: 2.49 -Requires: %perl_compat +Version: 2.57 Requires: perl(overload) Requires: perl(Text::ParseWords) # Recommended: Requires: perl(Pod::Usage) >= 1.14 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Getopt_Long %endif BuildArch: noarch @@ -1617,13 +2178,79 @@ case with the more traditional single-letter approach, is provided but not enabled by default. %endif +%package Getopt-Std +Summary: Process single-character switches with switch clustering +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.14 +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_Getopt_Std +%endif +BuildArch: noarch +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description Getopt-Std +The Getopt::Std module provides functions for processing single-character +switches with switch clustering. Pass one argument which is a string +containing all switches to be recognized. + +%package Hash-Util +Summary: General-utility hash subroutines +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 0.32 +Requires: perl(Hash::Util::FieldHash) +Requires: perl(XSLoader) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_Hash_Util +%endif +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description Hash-Util +Hash::Util contains special functions for manipulating hashes that don't +really warrant a keyword. + +%package Hash-Util-FieldHash +Summary: Support for inside-out classes +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.27 +Requires: perl(XSLoader) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_Hash_Util_FieldHash +%endif +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description Hash-Util-FieldHash +Hash::Util::FieldHash offers a number of functions in support of the +inside-out technique of class construction. + +%package if +Summary: Use a Perl module if a condition holds +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +# Normalized 0.0610 +Version: 0.61.000 +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_if +%endif +BuildArch: noarch +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description if +The "if" module is used to conditionally load another module. + %package IO Summary: Perl input/output modules -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 1.38 -Requires: %perl_compat +Version: 1.55 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_IO %endif Conflicts: perl < 4:5.22.0-351 @@ -1634,13 +2261,13 @@ This is a collection of Perl input/output modules. %if %{dual_life} || %{rebuild_from_scratch} %package IO-Compress Summary: IO::Compress wrapper for modules -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 2.074 -Requires: %perl_compat +Version: 2.212 Obsoletes: perl-Compress-Zlib <= 2.020 Provides: perl(IO::Uncompress::Bunzip2) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_IO_Compress %endif BuildArch: noarch @@ -1654,11 +2281,11 @@ purpose is to to be sub-classed by IO::Compress modules. %if %{dual_life} || %{rebuild_from_scratch} %package IO-Socket-IP Summary: Drop-in replacement for IO::Socket::INET supporting both IPv4 and IPv6 -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 0.38 -Requires: %perl_compat +Version: 0.42 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_IO_Socket_IP %endif BuildArch: noarch @@ -1670,36 +2297,43 @@ sockets, as a drop-in replacement for IO::Socket::INET. Most constructor arguments and methods are provided in a backward-compatible way. %endif +%if %{dual_life} || %{rebuild_from_scratch} %package IO-Zlib Summary: Perl IO:: style interface to Compress::Zlib -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl # Epoch bump for clean upgrade over old standalone package Epoch: 1 -Version: 1.10 -Requires: perl(Compress::Zlib) -Requires: %perl_compat +Version: 1.15 +BuildRequires: gzip +# The code defaults to Compress::Zlib, but a user can override it to gzip by +# importing :gzip_external symbol +Requires: gzip +Requires: perl(Compress::Zlib) >= 2 +# IO::Handle used if gzip backend is requested +Requires: perl(IO::Handle) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_IO_Zlib %endif BuildArch: noarch %description IO-Zlib -This modules provides an IO:: style interface to the Compress::Zlib package. -The main advantage is that you can use an IO::Zlib object in much the same way -as an IO::File object so you can have common code that doesn't know which sort -of file it is using. +IO::Zlib provides an IO:: style interface to Compress::Zlib and hence to +gzip/zlib-compressed files. It provides many of the same methods as the +IO::Handle interface. +%endif %if %{dual_life} || %{rebuild_from_scratch} %package IPC-Cmd Summary: Finding and running system commands made easy -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl # Epoch bump for clean upgrade over old standalone package Epoch: 2 -Version: 0.96 +Version: 1.04 Requires: perl(ExtUtils::MM::Utils) -Requires: %perl_compat %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_IPC_Cmd %endif BuildArch: noarch @@ -1709,15 +2343,36 @@ IPC::Cmd allows you to run commands, interactively if desired, in a platform independent way, but have them still work. %endif +%package IPC-Open3 +Summary: Open a process for reading, writing, and error handling +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.22 +Requires: perl(Fcntl) +Requires: perl(IO::Pipe) +Requires: perl(POSIX) +Requires: perl(warnings) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_IPC_Open3 +%endif +BuildArch: noarch +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description IPC-Open3 +These are functions that spawn a given command and connects the standard +output of the command for reading, standard output for writing, and standard +error output for handling the errors. + %if %{dual_life} || %{rebuild_from_scratch} %package IPC-SysV Summary: Object interface to System V IPC -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 2.07 -Requires: %perl_compat +Version: 2.09 Requires: perl(DynaLoader) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_IPC_SysV %endif Conflicts: perl < 4:5.22.0-351 @@ -1727,17 +2382,72 @@ This is an object interface for System V messages, semaphores, and inter-process calls. %endif +%package I18N-Collate +Summary: Compare 8-bit scalar data according to the current locale +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.02 +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_I18N_Collate +%endif +BuildArch: noarch +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description I18N-Collate +This module provides you with objects that will collate according to your +national character set. This module is deprecated. See the perllocale manual +page for further information. + +%package I18N-Langinfo +Summary: Query locale information +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 0.24 +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_I18N_Langinfo +%endif +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description I18N-Langinfo +The langinfo() function queries various locale information that can be used to +localize output and user interfaces. It uses the current underlying locale, +regardless of whether or not it was called from within the scope of "use +locale". + +%package I18N-LangTags +Summary: Functions for dealing with RFC 3066 language tags +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 0.45 +Requires: perl(integer) +Requires: perl(warnings) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_I18N_LangTags +%endif +BuildArch: noarch +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description I18N-LangTags +Language tags are a formalism, described in RFC 3066, for declaring what +language form (language and possibly dialect) a given chunk of information is +in. This library provides functions for common tasks involving language tags +as they are needed in a variety of protocols and applications. + %if %{dual_life} || %{rebuild_from_scratch} %package HTTP-Tiny Summary: A small, simple, correct HTTP/1.1 client -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 0.070 +Version: 0.088 Requires: perl(bytes) Requires: perl(Carp) Requires: perl(IO::Socket) Requires: perl(Time::Local) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_HTTP_Tiny %endif BuildArch: noarch @@ -1754,11 +2464,9 @@ resumes after EINTR. %package JSON-PP Summary: JSON::XS compatible pure-Perl module Epoch: 1 -# Real version 2.27400 -Version: 2.27.400 -License: GPL+ or Artistic +Version: 4.16 +License: GPL-1.0-or-later OR Artistic-1.0-Perl BuildArch: noarch -Requires: %perl_compat Requires: perl(Data::Dumper) Requires: perl(Encode) Requires: perl(Math::BigFloat) @@ -1766,6 +2474,7 @@ Requires: perl(Math::BigInt) Requires: perl(Scalar::Util) Requires: perl(subs) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_JSON_PP %endif Conflicts: perl-JSON < 2.50 @@ -1776,13 +2485,44 @@ Marc Lehmann in C, so must be compiled and installed in the used environment. JSON::PP is a pure-Perl module and is compatible with JSON::XS. %endif +%package less +Summary: Perl pragma to request less of something +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 0.03 +BuildArch: noarch +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_less +%endif +Conflicts: perl < 4:5.30.1-451 + +%description less +"use less ...;" is a Perl user-pragma. If you're very lucky some code you're +using will know that you asked for less CPU usage or RAM or fat or... we just +can't know. + +%package lib +Summary: Manipulate @INC at compile time +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 0.65 +Requires: perl(Carp) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_lib +%endif +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description lib +This module simplifies the manipulation of @INC at compile time. + %if %{dual_life} || %{rebuild_from_scratch} %package libnet Summary: Perl clients for various network protocols -License: (GPL+ or Artistic) and Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 3.10 -Requires: %perl_compat +Version: 3.15 Requires: perl(File::Basename) Requires: perl(IO::Socket) >= 1.05 # Prefer IO::Socket::IP over IO::Socket::INET6 and IO::Socket::INET @@ -1791,6 +2531,7 @@ Requires: perl(POSIX) Requires: perl(Socket) >= 2.016 Requires: perl(utf8) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_libnet %endif BuildArch: noarch @@ -1804,7 +2545,7 @@ protocols used in the internet community. %package libnetcfg Summary: Configure libnet -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: %perl_epoch Version: %perl_version # Net::Config is optional @@ -1817,41 +2558,35 @@ 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 +%package locale +Summary: Pragma to use or avoid POSIX locales for built-in operations +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 3.25 -License: GPL+ or Artistic -Requires: %perl_compat -Requires: perl(constant) -Provides: perl(Locale::Codes) = %{version} +Version: 1.12 +Requires: perl(Carp) +Requires: perl(POSIX) %if %{defined perl_bootstrap} -%gendep_perl_Locale_Codes +Requires: %perl_compat +%gendep_perl_locale %endif BuildArch: noarch +Conflicts: perl-interpreter < 4:5.30.1-451 -# 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 +%description locale +This pragma tells the compiler to enable (or disable) the use of POSIX locales +for built-in operations (for example, LC_CTYPE for regular expressions, +LC_COLLATE for string comparison, and LC_NUMERIC for number formatting). Each +"use locale" or "no locale" affects statements to the end of the enclosing +block. %if %{dual_life} || %{rebuild_from_scratch} %package Locale-Maketext Summary: Framework for localization -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 1.28 -Requires: %perl_compat +Version: 1.33 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Locale_Maketext %endif BuildArch: noarch @@ -1873,8 +2608,8 @@ License: MIT # Epoch bump for clean upgrade over old standalone package Epoch: 1 Version: 0.21 -Requires: %perl_compat %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Locale_Maketext_Simple %endif BuildArch: noarch @@ -1886,14 +2621,14 @@ to alleviate the need of creating Language Classes for module authors. %if %{dual_life} || %{rebuild_from_scratch} %package Math-BigInt Summary: Arbitrary-size integer and float mathematics -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 1 -# Real version 1.999806 -Version: 1.9998.06 -Requires: %perl_compat +# Real version 2.003002 +Version: 2.0030.02 Requires: perl(Carp) # File::Spec not used on recent perl %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Math_BigInt %endif BuildArch: noarch @@ -1907,46 +2642,28 @@ This provides Perl modules for arbitrary-size integer and float mathematics. %package Math-BigInt-FastCalc Summary: Math::BigInt::Calc XS implementation -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 # Version normalized to dot format -# Real version 0.5005 -Version: 0.500.500 -Requires: %perl_compat +# Real version 0.5013 +Version: 0.501.800 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Math_BigInt_FastCalc %endif Conflicts: perl < 4:5.22.0-348 %description Math-BigInt-FastCalc This package provides support for faster big integer calculations. - -%package Math-BigRat -Summary: Arbitrary big rational numbers -License: GPL+ or Artistic -Epoch: 0 -# Real version 0.2611 -Version: 0.2611 -Requires: %perl_compat -Requires: perl(Math::BigInt) -%if %{defined perl_bootstrap} -%gendep_perl_Math_BigRat -%endif -BuildArch: noarch -Conflicts: perl < 4:5.22.0-348 - -%description Math-BigRat -Math::BigRat complements Math::BigInt and Math::BigFloat by providing support -for arbitrary big rational numbers. %endif %package Math-Complex Summary: Complex numbers and trigonometric functions -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 1.59 -Requires: %perl_compat +Version: 1.62 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Math_Complex %endif BuildArch: noarch @@ -1960,12 +2677,12 @@ associated with and/or extended to complex numbers. %package Memoize Summary: Transparently speed up functions by caching return values -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 1.03 -Requires: %perl_compat +Version: 1.16 # Keep Time::HiRes optional %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Memoize %endif BuildArch: noarch @@ -1978,16 +2695,34 @@ the function again with the same arguments, memoize jumps in and gives you the value out of the table, instead of letting the function compute the value all over again. +%package meta-notation +Summary: Change nonprintable characters below 0x100 into printables +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: %{perl_version} +BuildArch: noarch +Provides: perl(meta_notation) = %{perl_version} +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_meta_notation +%endif +Conflicts: perl < 4:5.30.1-451 + +%description meta-notation +Returns a copy of the input string with the nonprintable characters below +0x100 changed into printables. Any ASCII printables or above 0xFF are +unchanged. + %if %{dual_life} || %{rebuild_from_scratch} %package MIME-Base64 Summary: Encoding and decoding of Base64 and quoted-printable strings -# cpan/MIME-Base64/Base64.xs: (GPL+ or Artistic) and MIT (Bellcore's part) -# Other files: GPL+ or Artistic -License: (GPL+ or Artistic) and MIT +# cpan/MIME-Base64/Base64.xs: (GPL-1.0-or-later OR Artistic-1.0-Perl) and MIT (Bellcore's part) +# Other files: GPL-1.0-or-later OR Artistic-1.0-Perl +License: (GPL-1.0-or-later OR Artistic-1.0-Perl) AND MIT Epoch: 0 -Version: 3.15 -Requires: %perl_compat +Version: 3.16 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_MIME_Base64 %endif Conflicts: perl < 4:5.22.0-347 @@ -2001,14 +2736,13 @@ encoder/decoder. These encoding methods are specified in RFC 2045 - MIME %if %{dual_life} || %{rebuild_from_scratch} %package Module-CoreList Summary: What modules are shipped with versions of perl -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 1 -# Real version 5.20181129_26 -Version: 5.20181129 -Requires: %perl_compat +Version: 5.20250413 Requires: perl(List::Util) Requires: perl(version) >= 0.88 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Module_CoreList %endif BuildArch: noarch @@ -2017,18 +2751,16 @@ BuildArch: noarch Module::CoreList provides information on which core and dual-life modules are shipped with each version of perl. - %package Module-CoreList-tools Summary: Tool for listing modules shipped with perl -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 1 -# Real version 5.20181129_26 -Version: 5.20181129 -Requires: %perl_compat +Version: 5.20250413 Requires: perl(feature) Requires: perl(version) >= 0.88 Requires: perl-Module-CoreList = %{epoch}:%{version}-%{release} %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Module_CoreList_tools %endif # The files were distributed with perl.spec's subpackage @@ -2041,16 +2773,15 @@ This package provides a corelist(1) tool which can be used to query what modules were shipped with given perl version. %endif - %if %{dual_life} || %{rebuild_from_scratch} %package Module-Load Summary: Runtime require of both modules and files -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl # Epoch bump for clean upgrade over old standalone package Epoch: 1 -Version: 0.32 -Requires: %perl_compat +Version: 0.36 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Module_Load %endif BuildArch: noarch @@ -2064,11 +2795,11 @@ either a file or a module. %if %{dual_life} || %{rebuild_from_scratch} %package Module-Load-Conditional Summary: Looking up module information / loading at runtime -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 0.68 -Requires: %perl_compat +Version: 0.74 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Module_Load_Conditional %endif BuildArch: noarch @@ -2081,12 +2812,12 @@ of the modules you have installed on your system during runtime. %package Module-Loaded Summary: Mark modules as loaded or unloaded -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl # Epoch bump for clean upgrade over old standalone package Epoch: 1 Version: 0.08 -Requires: %perl_compat %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Module_Loaded %endif BuildArch: noarch @@ -2103,11 +2834,11 @@ 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 -License: GPL+ or Artistic +Version: 1.000038 +License: GPL-1.0-or-later OR Artistic-1.0-Perl BuildArch: noarch -Requires: %perl_compat %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Module_Metadata %endif @@ -2115,14 +2846,68 @@ Requires: %perl_compat Gather package and POD information from perl module files %endif +%package mro +Summary: Method resolution order +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.29 +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_mro +%endif +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description mro +The "mro" name space provides several utilities for dealing with method +resolution order and method caching in general. + +%if %{with gdbm} +%package NDBM_File +Summary: Tied access to ndbm files +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.17 +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_NDBM_File +%endif +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description NDBM_File +NDBM_File establishes a connection between a Perl hash variable and a file in +ndbm format. You can manipulate the data in the file just as if it were in +a Perl hash, but when your program exits, the data will remain in the file, to +be used the next time your program runs. +%endif + +%package Net +Summary: By-name interface to Perl built-in network resolver +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.04 +BuildArch: noarch +Requires: perl(Socket) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_Net +%endif +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description Net +This package provide object-oriented interface to Perl built-in gethost*(), +getnet*(), getproto*(), and getserv*() functions. + +%if %{dual_life} || %{rebuild_from_scratch} %package Net-Ping Summary: Check a remote host for reachability -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 2.55 -Requires: %perl_compat +Version: 2.76 +Requires: perl(IO::Socket::INET) # Keep Net::Ping::External optional +Suggests: perl(Net::Ping::External) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Net_Ping %endif BuildArch: noarch @@ -2131,17 +2916,71 @@ Conflicts: perl < 4:5.22.0-350 %description Net-Ping Net::Ping module contains methods to test the reachability of remote hosts on a network. +%endif + +%package NEXT +Summary: Pseudo-class that allows method redispatch +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 0.69 +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_NEXT +%endif +BuildArch: noarch +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description NEXT +The NEXT module adds a pseudo-class named "NEXT" to any program that uses it. +If a method "m" calls "$self->NEXT::m()", the call to "m" is redispatched as +if the calling method had not originally been found. + +%if %{with gdbm} +%package ODBM_File +Summary: Tied access to odbm files +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.18 +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_ODBM_File +%endif +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description ODBM_File +ODBM_File establishes a connection between a Perl hash variable and a file in +odbm format. You can manipulate the data in the file just as if it were in +a Perl hash, but when your program exits, the data will remain in the file, to +be used the next time your program runs. +%endif + +%package Opcode +Summary: Disable named opcodes when compiling a perl code +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.65 +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_Opcode +%endif +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description Opcode +The Opcode module allows you to define an operator mask to be in effect when +perl next compiles any code. Attempting to compile code which contains +a masked opcode will cause the compilation to fail with an error. The code +will not be executed. %package open Summary: Perl pragma to set default PerlIO layers for input and output -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 1.11 -Requires: %perl_compat +Version: 1.13 Requires: perl(Carp) Requires: perl(Encode) Requires: perl(encoding) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_open %endif Conflicts: perl < 4:5.20.2-326 @@ -2151,15 +2990,51 @@ BuildArch: noarch The "open" pragma serves as one of the interfaces to declare default "layers" (also known as "disciplines") for all I/O. +%package overload +Summary: Overloading Perl operations +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.37 +BuildArch: noarch +Requires: perl(mro) +Requires: perl(Scalar::Util) +Requires: perl(overloading) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_overload +%endif +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description overload +The "overload" pragma allows overloading of Perl operators for a class. To +overload built-in functions, see "Overriding Built-in Functions" in perlsub +POD instead. + +%package overloading +Summary: Perl pragma to lexically control overloading +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 0.02 +BuildArch: noarch +Requires: perl(Carp) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_overloading +%endif +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description overloading +Overloading pragma allows you to lexically disable or enable overloading. + %if %{dual_life} || %{rebuild_from_scratch} %package parent Summary: Establish an ISA relationship with base classes at compile time -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl # Epoch bump for clean upgrade over old standalone package Epoch: 1 -Version: 0.236 -Requires: %perl_compat +Version: 0.241 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_parent %endif BuildArch: noarch @@ -2181,12 +3056,12 @@ inheritance from those modules at the same time. Mostly similar in effect to: %if %{dual_life} || %{rebuild_from_scratch} %package Params-Check Summary: Generic input parsing/checking mechanism -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl # Epoch bump for clean upgrade over old standalone package Epoch: 1 Version: 0.38 -Requires: %perl_compat %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Params_Check %endif BuildArch: noarch @@ -2198,12 +3073,17 @@ Params::Check is a generic input parsing/checking mechanism. %if %{dual_life} || %{rebuild_from_scratch} %package PathTools Summary: PathTools Perl module (Cwd, File::Spec) -License: (GPL+ or Artistic) and BSD +License: (GPL-1.0-or-later OR Artistic-1.0-Perl) AND BSD-3-Clause Epoch: 0 -Version: 3.67 -Requires: %perl_compat +Version: 3.91 Requires: perl(Carp) +Requires: perl(Errno) +Requires: perl(Scalar::Util) +# XSLoader is optional only because miniperl does not support XS. With perl we +# almost certainly want it. +Recommends: perl(XSLoader) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_PathTools %endif @@ -2215,11 +3095,11 @@ PathTools Perl module (Cwd, File::Spec). %package perlfaq Summary: Frequently asked questions about Perl # Code examples are Public Domain -License: (GPL+ or Artistic) and Public Domain +License: (GPL-1.0-or-later OR Artistic-1.0-Perl) AND LicenseRef-Fedora-Public-Domain Epoch: 0 -Version: 5.021011 -Requires: %perl_compat +Version: 5.20240218 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_perlfaq %endif BuildArch: noarch @@ -2233,11 +3113,11 @@ questions about Perl and Perl programming. %if %{dual_life} || %{rebuild_from_scratch} %package PerlIO-via-QuotedPrint Summary: PerlIO layer for quoted-printable strings -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 0.08 -Requires: %perl_compat +Version: 0.10 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_PerlIO_via_QuotedPrint %endif BuildArch: noarch @@ -2255,9 +3135,9 @@ writing to a handle. Summary: Map Perl operating system names to generic types Version: 1.010 Epoch: 0 -License: GPL+ or Artistic -Requires: %perl_compat +License: GPL-1.0-or-later OR Artistic-1.0-Perl %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Perl_OSType %endif BuildArch: noarch @@ -2272,14 +3152,39 @@ provided in Module::Build and ExtUtils::CBuilder (thus, Microsoft operating systems are given the type 'Windows' rather than 'Win32'). %endif +%package ph +Summary: Selected system header files converted to Perl headers +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: %{perl_version} +# Match header files used when building perl. +Requires: perl-libs%{?_isa} = %{perl_epoch}:%{perl_version}-%{release} +Requires: perl(warnings) +# We deliver this package only for these three files mentioned in +# a documentation. +Provides: perl(sys/ioctl.ph) = %{perl_version} +Provides: perl(sys/syscall.ph) = %{perl_version} +Provides: perl(syscall.ph) = %{perl_version} +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_ph +%endif +Conflicts: perl < 4:5.30.1-451 + +%description ph +Contemporary Perl still refers to some Perl header (ph) files although it does +not build them anymore. This is a prebuilt collection of the referred files. +If you miss other ones, you can generate them with h2ph tool from perl-utils +package. + %if %{dual_life} || %{rebuild_from_scratch} %package Pod-Checker Summary: Check POD documents for syntax errors Epoch: 4 -Version: 1.73 -License: GPL+ or Artistic -Requires: %perl_compat +Version: 1.77 +License: GPL-1.0-or-later OR Artistic-1.0-Perl %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Pod_Checker %endif BuildArch: noarch @@ -2292,12 +3197,12 @@ Plain Old Documentation format specifications. %if %{dual_life} || %{rebuild_from_scratch} %package Pod-Escapes Summary: Resolve POD escape sequences -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl # Epoch bump for clean upgrade over old standalone package Epoch: 1 Version: 1.07 -Requires: %perl_compat %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Pod_Escapes %endif BuildArch: noarch @@ -2306,14 +3211,30 @@ BuildArch: noarch This module provides things that are useful in decoding Pod E<...> sequences. %endif +%package Pod-Functions +Summary: Group Perl functions as in perlfunc POD +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.14 +BuildArch: noarch +# Match perl the functions come from +Requires: perl-libs = %{perl_epoch}:%{perl_version}-%{release} +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_Pod_Functions +%endif +Conflicts: perl < 4:5.30.1-451 + +%description Pod-Functions +This module enumerates the Perl functions that are documented in perlfunc POD. + %package Pod-Html Summary: Convert POD files to HTML -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -# Real version 1.2202 -Version: 1.22.02 -Requires: %perl_compat +Version: 1.35 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Pod_Html %endif BuildArch: noarch @@ -2324,35 +3245,17 @@ This package converts files from POD format (see perlpod) to HTML format. It can automatically generate indexes and cross-references, and it keeps a cache of things it knows how to cross-reference. -%if %{dual_life} || %{rebuild_from_scratch} -%package Pod-Parser -Summary: Basic perl modules for handling Plain Old Documentation (POD) -License: GPL+ or Artistic -Epoch: 0 -Version: 1.63 -Requires: %perl_compat -%if %{defined perl_bootstrap} -%gendep_perl_Pod_Parser -%endif -BuildArch: noarch - -%description Pod-Parser -This software distribution contains the packages for using Perl5 POD (Plain -Old Documentation). See the "perlpod" and "perlsyn" manual pages from your -Perl5 distribution for more information about POD. -%endif - %if %{dual_life} || %{rebuild_from_scratch} %package Pod-Perldoc Summary: Look up Perl documentation in Pod format -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 3.28 +# Real version 3.2801 +Version: 3.28.01 %if %{with perl_enables_groff} # Pod::Perldoc::ToMan executes roff Requires: groff-base %endif -Requires: %perl_compat Requires: perl(File::Temp) >= 0.22 Requires: perl(HTTP::Tiny) Requires: perl(IO::Handle) @@ -2366,6 +3269,7 @@ Requires: perl(Text::ParseWords) # Tk is optional Requires: perl(Symbol) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Pod_Perldoc %endif BuildArch: noarch @@ -2380,12 +3284,12 @@ the perl library modules. %if %{dual_life} || %{rebuild_from_scratch} %package Pod-Simple Summary: Framework for parsing POD documentation -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl # Epoch bump for clean upgrade over old standalone package Epoch: 1 -Version: 3.35 -Requires: %perl_compat +Version: 3.45 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Pod_Simple %endif BuildArch: noarch @@ -2399,14 +3303,14 @@ documentation for Perl and for Perl modules. %if %{dual_life} || %{rebuild_from_scratch} %package Pod-Usage Summary: Print a usage message from embedded pod documentation -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 4 -Version: 1.69 -Requires: %perl_compat +Version: 2.03 # Pod::Usage executes perldoc from perl-Pod-Perldoc by default Requires: perl-Pod-Perldoc Requires: perl(Pod::Text) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Pod_Usage %endif BuildArch: noarch @@ -2424,14 +3328,14 @@ verbose level is 2, then the entire manual page is printed. %if %{dual_life} || %{rebuild_from_scratch} %package podlators Summary: Format POD source into various output formats -License: (GPL+ or Artistic) and MIT -Epoch: 0 -Version: 4.09 +License: (GPL-1.0-or-later OR Artistic-1.0-Perl) AND FSFAP +Epoch: 1 +Version: 5.01 BuildArch: noarch -Requires: %perl_compat Requires: perl(File::Spec) >= 0.8 Requires: perl(Pod::Simple) >= 3.06 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_podlators %endif Conflicts: perl < 4:5.16.1-234 @@ -2443,15 +3347,48 @@ includes several sub-classes of Pod::Text for formatted output to terminals with various capabilities. %endif +%package POSIX +Summary: Perl interface to IEEE Std 1003.1 +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 2.20 +Requires: perl(Carp) +Requires: perl(locale) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_POSIX +%endif +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description POSIX +The POSIX module permits you to access all (or nearly all) the standard POSIX +1003.1 identifiers. Many of these identifiers have been given Perl interfaces. + +%package Safe +Summary: Compile and execute code in restricted compartments +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 2.46 +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_Safe +%endif +BuildArch: noarch +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description Safe +The Safe extension module allows the creation of compartments in which Perl +code can be evaluated. Please note that the restriction is not suitable for +security purposes. + %if %{dual_life} || %{rebuild_from_scratch} %package Scalar-List-Utils Summary: A selection of general-utility scalar and list subroutines -License: GPL+ or Artistic -Epoch: 3 -# Real version 1.46_02 -Version: 1.46 -Requires: %perl_compat +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 5 +Version: 1.63 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Scalar_List_Utils %endif @@ -2462,15 +3399,49 @@ really be high enough to warrant the use of a keyword, and the size so small such that being individual extensions would be wasteful. %endif +%package Search-Dict +Summary: Search for a key in a dictionary file +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.07 +Requires: perl(feature) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_Search_Dict +%endif +BuildArch: noarch +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description Search-Dict +This module sets file position in a file handle to be first line greater than +or equal (string-wise) to a key. + +%package SelectSaver +Summary: Save and restore selected file handle +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.02 +BuildArch: noarch +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_SelectSaver +%endif +Conflicts: perl < 4:5.30.1-451 + +%description SelectSaver +A "SelectSaver" object contains a reference to the file handle that was +selected when it was created. When the object is destroyed, it re-selects the +file handle that was selected when it was created. + %package SelfLoader Summary: Load functions only on demand -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 1.23 +Version: 1.27 BuildArch: noarch -Requires: %perl_compat Requires: perl(Carp) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_SelfLoader %endif Conflicts: perl < 4:5.22.0-351 @@ -2480,14 +3451,31 @@ This Perl module tells its users that functions in a package are to be autoloaded from after the "__DATA__" token. See also "Autoloading" in perlsub. +%package sigtrap +Summary: Perl pragma to enable simple signal handling +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.10 +BuildArch: noarch +Requires: perl(meta_notation) = %{perl_version} +Requires: perl(Symbol) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_sigtrap +%endif +Conflicts: perl < 4:5.30.1-451 + +%description sigtrap +The sigtrap pragma is a simple interface for installing signal handlers. + %if %{dual_life} || %{rebuild_from_scratch} %package Socket Summary: C socket.h defines and structure manipulators -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 4 -Version: 2.020 -Requires: %perl_compat +Version: 2.038 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Socket %endif @@ -2499,13 +3487,30 @@ that it has a far more likely chance of getting the numbers right. This includes all of the commonly used pound-defines like AF_INET, SOCK_STREAM, etc. %endif +%package sort +Summary: Perl pragma to control sort() behavior +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 2.05 +BuildArch: noarch +Requires: perl(Carp) +Requires: perl(warnings) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_sort +%endif +Conflicts: perl < 4:5.30.1-451 + +%description sort +With the "sort" pragma you can control the behavior of the builtin "sort()" +function. + %if %{dual_life} || %{rebuild_from_scratch} %package Storable Summary: Persistence for Perl data structures -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 1 -Version: 2.62 -Requires: %perl_compat +Version: 3.32 # Carp substitutes missing Log::Agent Requires: perl(Carp) Requires: perl(Config) @@ -2513,6 +3518,7 @@ Requires: perl(Config) Requires: perl(Fcntl) Requires: perl(IO::File) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Storable %endif Conflicts: perl < 4:5.16.3-274 @@ -2523,15 +3529,64 @@ containing scalar, array, hash or reference objects, i.e. anything that can be conveniently stored to disk and retrieved at a later time. %endif +%package subs +Summary: Perl pragma to predeclare subroutine names +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.04 +BuildArch: noarch +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_subs +%endif +Conflicts: perl < 4:5.30.1-451 + +%description subs +This will predeclare all the subroutines whose names are in the list, +allowing you to use them without parentheses (as list operators) even +before they're declared. + +%package Symbol +Summary: Manipulate Perl symbols and their names +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.09 +BuildArch: noarch +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_Symbol +%endif +Conflicts: perl < 4:5.30.1-451 + +%description Symbol +The Symbol module provides functions for manipulating Perl symbols. + +%package Sys-Hostname +Summary: Try every conceivable way to get a hostname +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.25 +Suggests: perl(POSIX) +Requires: perl(XSLoader) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_Sys_Hostname +%endif +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description Sys-Hostname +It attempts several methods of getting the system hostname and then caches the +result. + %if %{dual_life} || %{rebuild_from_scratch} %package Sys-Syslog Summary: Perl interface to the UNIX syslog(3) calls -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 0.35 -Requires: %perl_compat +Version: 0.36 Requires: perl(XSLoader) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Sys_Syslog %endif Conflicts: perl < 4:5.16.3-269 @@ -2544,12 +3599,12 @@ a string priority and a list of printf() arguments just like at syslog(3). %if %{dual_life} || %{rebuild_from_scratch} %package Term-ANSIColor Summary: Color screen output using ANSI escape sequences -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 4.06 -Requires: %perl_compat +Version: 5.01 Requires: perl(Carp) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Term_ANSIColor %endif BuildArch: noarch @@ -2565,14 +3620,14 @@ imported to be used. %if %{dual_life} || %{rebuild_from_scratch} %package Term-Cap Summary: Perl termcap interface -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 1.17 -Requires: %perl_compat +Version: 1.18 # ncurses for infocmp tool Requires: ncurses Requires: perl(Carp) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Term_Cap %endif BuildArch: noarch @@ -2583,15 +3638,65 @@ These are low-level functions to extract and use capabilities from a terminal capability (termcap) database. %endif +%package Term-Complete +Summary: Perl word completion +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.403 +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_Term_Complete +%endif +BuildArch: noarch +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description Term-Complete +"Complete" routine provides word completion on a list of words in the array. + +%package Term-ReadLine +Summary: Perl interface to various read-line packages +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.17 +Requires: perl(Term::Cap) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_Term_ReadLine +%endif +BuildArch: noarch +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description Term-ReadLine +This package is just a front end to some other packages. It's a stub to +set up a common interface to the various read-line implementations found +on CPAN (under the "Term::ReadLine::*" name space). + +%if %{dual_life} || %{rebuild_from_scratch} +%package Term-Table +Summary: Format a header and rows into a table +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 0.018 +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_Term_Table +%endif +BuildArch: noarch +Conflicts: perl < 4:5.39.10-507 + +%description Term-Table +This Perl module is able to format rows of data into tables. +%endif + %package Test Summary: Simple framework for writing test scripts -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 1.30 -Requires: %perl_compat +Version: 1.31 # Algorithm::Diff 1.15 is optional Requires: perl(File::Temp) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Test %endif BuildArch: noarch @@ -2604,11 +3709,11 @@ such that their output is in the format that Test::Harness expects to see. %if %{dual_life} || %{rebuild_from_scratch} %package Test-Harness Summary: Run Perl standard test scripts with statistics -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 1 -Version: 3.38 -Requires: %perl_compat +Version: 3.48 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Test_Harness %endif BuildArch: noarch @@ -2621,12 +3726,12 @@ Use TAP::Parser, Test::Harness package was whole rewritten. %if %{dual_life} || %{rebuild_from_scratch} %package Test-Simple Summary: Basic utilities for writing tests -License: (GPL+ or Artistic) and CC0 and Public Domain -Epoch: 1 -Version: 1.302073 -Requires: %perl_compat +License: (GPL-1.0-or-later OR Artistic-1.0-Perl) AND CC0-1.0 AND LicenseRef-Fedora-Public-Domain +Epoch: 3 +Version: 1.302199 Requires: perl(Data::Dumper) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Test_Simple %endif BuildArch: noarch @@ -2635,14 +3740,48 @@ BuildArch: noarch Basic utilities for writing tests. %endif +%if %{dual_life} || %{rebuild_from_scratch} +%package Test2-Suite +Summary: Set of tools built upon the Test2 framework +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 0.000162 +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_Test2_Suite +%endif +BuildArch: noarch + +%description Test2-Suite +Rich set of tools, plugins, bundles, etc. built upon the Test2 testing +library. If you are interested in writing Perl tests this is the distribution +for you. +%endif + +%package Text-Abbrev +Summary: Create an abbreviation table from a list +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.02 +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_Text_Abbrev +%endif +BuildArch: noarch +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description Text-Abbrev +It stores all unambiguous truncations of each element of a list as keys in +an associative array. The values are the original list elements. + %if %{dual_life} || %{rebuild_from_scratch} %package Text-Balanced Summary: Extract delimited text sequences from strings -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 2.03 -Requires: %perl_compat +Version: 2.06 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Text_Balanced %endif BuildArch: noarch @@ -2656,12 +3795,12 @@ after skipping a specified prefix string. %if %{dual_life} || %{rebuild_from_scratch} %package Text-ParseWords Summary: Parse text into an array of tokens or array of arrays -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 3.30 -Requires: %perl_compat +Version: 3.31 Requires: perl(Carp) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Text_ParseWords %endif BuildArch: noarch @@ -2676,9 +3815,9 @@ Parse text into an array of tokens or array of arrays. Summary: Expand tabs and do simple line wrapping License: TTWL Epoch: 0 -Version: 2013.0523 -Requires: %perl_compat +Version: 2024.001 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Text_Tabs_Wrap %endif BuildArch: noarch @@ -2692,15 +3831,40 @@ Text::Wrap::wrap() will reformat lines into paragraphs. All it does is break up long lines, it will not join short lines together. %endif +%package Thread +Summary: Manipulate threads in Perl (for old code only) +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 3.05 +BuildArch: noarch +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_Thread +%endif +Conflicts: perl < 4:5.30.1-451 + +%description Thread +This Thread module served as the front end to the old-style thread model, +called 5005threads, that has been removed in version 5.10. + +For old code and interim backwards compatibility, the Thread module has been +reworked to function as a front end for the new interpreter threads (ithreads) +model. However, some previous functionality is not available. Further, the +data sharing models between the two thread models are completely different, +and anything to do with data sharing has to be thought differently. + +You are strongly encouraged to migrate any existing threaded code to the new +model (i.e., use the threads and threads::shared modules) as soon as possible. + %if %{dual_life} || %{rebuild_from_scratch} %package Thread-Queue Summary: Thread-safe queues -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 3.12 -Requires: %perl_compat +Version: 3.14 Requires: perl(Carp) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Thread_Queue %endif BuildArch: noarch @@ -2711,15 +3875,110 @@ This module provides thread-safe FIFO queues that can be accessed safely by any number of threads. %endif +%package Tie +Summary: Base classes for tying variables +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +# Version from Tie::StdHandle +Version: 4.6 +BuildArch: noarch +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_Tie +%endif +Conflicts: perl < 4:5.30.1-451 + +%description Tie +These are Perl modules that helps connecting classes with arrays, hashes, +handles, and scalars. + +%package Tie-File +Summary: Access the lines of a disk file via a Perl array +License: GPL-2.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.09 +# Symbol is not used on Perl >= 5.6.0 +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_Tie_File +%endif +BuildArch: noarch +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description Tie-File +Tie::File represents a regular text file as a Perl array. Each element in the +array corresponds to a record in the file. The first line of the file is +element 0 of the array; the second line is element 1, and so on. The file is +not loaded into memory, so this will work even for gigantic files. Changes to +the array are reflected in the file immediately. + +%package Tie-Memoize +Summary: Add data to a hash when needed +License: GPL-2.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.1 +Requires: perl(Carp) +Requires: perl(Tie::ExtraHash) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_Tie_Memoize +%endif +BuildArch: noarch +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description Tie-Memoize +This package allows a tied hash to load its values automatically on the first +access, and to use the cached value on the following accesses. + +%if %{dual_life} || %{rebuild_from_scratch} +%package Tie-RefHash +Summary: Use references as hash keys +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.40 +# Scalar::Util || overload +Requires: perl(overload) +Suggests: perl(Scalar::Util) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_Tie_RefHash +%endif +BuildArch: noarch +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description Tie-RefHash +This module provides the ability to use references as hash keys if you first +"tie" the hash variable to this module. Normally, only the keys of the tied +hash itself are preserved as references; to use references as keys in +hashes-of-hashes, use Tie::RefHash::Nestable, included as part of +Tie::RefHash. +%endif + +%package Time +Summary: By-name interface to Perl built-in time functions +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.04 +BuildArch: noarch +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_Time +%endif +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description Time +This package provides an object-oriented interface to Perl built-in gmtime() +and localtime () functions. + %if %{dual_life} || %{rebuild_from_scratch} %package Time-HiRes Summary: High resolution alarm, sleep, gettimeofday, interval timers -License: GPL+ or Artistic -Epoch: 0 -Version: 1.9741 -Requires: %perl_compat +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 4 +Version: 1.9777 Requires: perl(Carp) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Time_HiRes %endif Conflicts: perl < 4:5.16.3-271 @@ -2733,12 +3992,12 @@ high resolution time and timers. %if %{dual_life} || %{rebuild_from_scratch} %package Time-Local Summary: Efficiently compute time from local and GMT time -License: GPL+ or Artistic -Epoch: 0 -# Real version 1.25 -Version: 1.250 -Requires: %perl_compat +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 2 +# Real version 1.35 +Version: 1.350 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Time_Local %endif BuildArch: noarch @@ -2755,11 +4014,11 @@ so dates before the system's epoch may not work on all operating systems. %package Time-Piece Summary: Time objects from localtime and gmtime -License: (GPL+ or Artistic) and BSD +License: (GPL-1.0-or-later OR Artistic-1.0-Perl) AND BSD-2-Clause-Views Epoch: 0 -Version: 1.31 -Requires: %perl_compat +Version: 1.3401 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Time_Piece %endif @@ -2769,14 +4028,36 @@ with implementations that return objects. It does so in a backwards compatible manner, so that using localtime or gmtime as documented in perlfunc still behave as expected. +%package Thread-Semaphore +Summary: Thread-safe semaphores +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 2.13 +Requires: perl(Carp) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_Thread_Semaphore +%endif +BuildArch: noarch +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description Thread-Semaphore +Semaphores provide a mechanism to regulate access to resources. Unlike locks, +semaphores aren't tied to particular scalars, and so may be used to control +access to anything you care to use them for. Semaphores don't limit their +values to zero and one, so they can be used to control access to some resource +that there may be more than one of (e.g., file handles). Increment and +decrement amounts aren't fixed at one either, so threads can reserve or return +multiple resources at once. + %if %{dual_life} || %{rebuild_from_scratch} %package threads Summary: Perl interpreter-based threads -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 1 -Version: 2.15 -Requires: %perl_compat +Version: 2.40 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_threads %endif @@ -2796,11 +4077,11 @@ variables, you need to also load threads::shared. %if %{dual_life} || %{rebuild_from_scratch} %package threads-shared Summary: Perl extension for sharing data structures between threads -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 1.56 -Requires: %perl_compat +Version: 1.69 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_threads_shared %endif @@ -2816,12 +4097,12 @@ hashes and hash refs. %if %{dual_life} || %{rebuild_from_scratch} %package Unicode-Collate Summary: Unicode Collation Algorithm -License: (GPL+ or Artistic) and Unicode +License: (GPL-1.0-or-later OR Artistic-1.0-Perl) AND Unicode-DFS-2015 Epoch: 0 -Version: 1.19 -Requires: %perl_compat +Version: 1.31 Requires: perl(Unicode::Normalize) %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Unicode_Collate %endif Conflicts: perl < 4:5.22.0-347 @@ -2834,13 +4115,13 @@ Collation Algorithm). %if %{dual_life} || %{rebuild_from_scratch} %package Unicode-Normalize Summary: Unicode Normalization Forms -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl Epoch: 0 -Version: 1.25 -Requires: %perl_compat +Version: 1.32 # unicore/CombiningClass.pl and unicore/Decomposition.pl from perl, perl is # auto-detected. %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_Unicode_Normalize %endif Conflicts: perl < 4:5.22.0-347 @@ -2850,16 +4131,73 @@ This package provides Perl functions that can convert strings into various Unicode normalization forms as defined in Unicode Standard Annex #15. %endif +%package Unicode-UCD +Summary: Unicode character database +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 0.78 +BuildArch: noarch +Requires: perl(Storable) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_Unicode_UCD +%endif +Conflicts: perl < 4:5.30.1-451 + +%description Unicode-UCD +The Unicode::UCD module offers a series of functions that provide a simple +interface to the Unicode Character Database. + +%package User-pwent +Summary: By-name interface to Perl built-in user name resolver +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +# Real versions - User::grent = 1.05, User::pwent = 1.03 +Version: 1.05 +BuildArch: noarch +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_User_pwent +%endif +Conflicts: perl-interpreter < 4:5.30.1-451 + +%description User-pwent +This package provides an object-oriented interface to Perl build-in getgr*() +and getpw*() functions. + +%package vars +Summary: Perl pragma to predeclare global variable names +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.05 +BuildArch: noarch +Requires: perl(Carp) +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_vars +%endif +Conflicts: perl < 4:5.30.1-451 + +%description vars +This pragma will predeclare all the variables whose names are in the +list, allowing you to use them under "use strict", and disabling any +typo warnings for them. + +For use with variables in the current package for a single scope, the +functionality provided by this pragma has been superseded by "our" +declarations, available in Perl v5.6.0 or later, and use of this pragma is +discouraged. + %if %{dual_life} || %{rebuild_from_scratch} %package version Summary: Perl extension for Version Objects -License: GPL+ or Artistic +License: GPL-1.0-or-later OR Artistic-1.0-Perl # Epoch bump for clean upgrade over old standalone package -Epoch: 6 -# real version 0.9917 -Version: 0.99.17 -Requires: %perl_compat +Epoch: 9 +# real version 0.9930 +Version: 0.99.30 %if %{defined perl_bootstrap} +Requires: %perl_compat %gendep_perl_version %endif BuildArch: noarch @@ -2868,138 +4206,63 @@ BuildArch: noarch Perl extension for Version Objects %endif +%package vmsish +Summary: Perl pragma to control VMS-specific language features +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Epoch: 0 +Version: 1.04 +BuildArch: noarch +%if %{defined perl_bootstrap} +Requires: %perl_compat +%gendep_perl_vmsish +%endif +Conflicts: perl < 4:5.30.1-451 + +%description vmsish +The "vmsish" pragma control VMS-specific features of the Perl language. If +you're not running VMS, this module does nothing. + %prep %setup -q -n perl-%{perl_version} -%patch1 -p1 +%patch -P1 -p1 %ifarch %{multilib_64_archs} -%patch3 -p1 +%patch -P2 -p1 %endif -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 -%patch15 -p1 -%patch16 -p1 -%patch22 -p1 -%patch26 -p1 -%patch30 -p1 -%patch31 -p1 -%patch36 -p1 -%patch38 -p1 -%patch43 -p1 -%patch45 -p1 -%patch46 -p1 -%patch47 -p1 -%patch48 -p1 -%patch49 -p1 -%patch51 -p1 -%patch52 -p1 -%patch54 -p1 -%patch55 -p1 -%patch56 -p1 -%patch58 -p1 -%patch61 -p1 -%patch64 -p1 -%patch65 -p1 -%patch66 -p1 -%patch67 -p1 -%patch68 -p1 -%patch69 -p1 -%patch70 -p1 -%patch71 -p1 -%patch72 -p1 -%patch73 -p1 -%patch74 -p1 -%patch75 -p1 -%patch76 -p1 -%patch77 -p1 -%patch78 -p1 -%patch79 -p1 -%patch80 -p1 -%patch81 -p1 -%patch82 -p1 -%patch83 -p1 -%patch84 -p1 -%patch85 -p1 -%patch86 -p1 -%patch88 -p1 -%patch89 -p1 -%patch90 -p1 -%patch91 -p1 -%patch92 -p1 -%patch93 -p1 -%patch94 -p1 -%patch95 -p1 -%patch96 -p1 -%patch97 -p1 -%patch200 -p1 -%patch201 -p1 -%patch202 -p1 +%patch -P3 -p1 +%patch -P4 -p1 +%patch -P5 -p1 +%patch -P6 -p1 +%patch -P7 -p1 +%patch -P8 -p1 +%patch -P9 -p1 +%patch -P10 -p1 +%patch -P11 -p1 +%patch -P12 -p1 +%patch -P13 -p1 +%patch -P200 -p1 +%patch -P201 -p1 +%patch -P202 -p1 %if !%{defined perl_bootstrap} # Local patch tracking perl -x patchlevel.h \ 'Fedora Patch1: Removes date check, Fedora/RHEL specific' \ %ifarch %{multilib_64_archs} - 'Fedora Patch3: support for libdir64' \ + 'Fedora Patch2: support for libdir64' \ %endif - 'Fedora Patch4: use libresolv instead of libbind' \ - 'Fedora Patch5: USE_MM_LD_RUN_PATH' \ - 'Fedora Patch6: Provide MM::maybe_command independently (bug #1129443)' \ - 'Fedora Patch7: Dont run one io test due to random builder failures' \ - 'Fedora Patch15: Define SONAME for libperl.so' \ - 'Fedora Patch16: Install libperl.so to -Dshrpdir value' \ - 'Fedora Patch22: Document Math::BigInt::CalcEmu requires Math::BigInt (CPAN RT#85015)' \ - 'Fedora Patch26: Make *DBM_File desctructors thread-safe (RT#61912)' \ - 'Fedora Patch27: Make PadlistNAMES() lvalue again (CPAN RT#101063)' \ - 'Fedora Patch30: Replace EU::MakeMaker dependency with EU::MM::Utils in IPC::Cmd (bug #1129443)' \ - 'Fedora Patch31: Make File::Glob more resistant against degenerative matching (RT#131211)' \ - 'Fedora Patch36: Fix glob UTF-8 flag on a glob reassignment (RT#131263)' \ - 'Fedora Patch38: Fix handling backslashes in PATH environment variable when executing "perl -S" (RT#129183)' \ - 'Fedora Patch45: Fix File::Glob rt131211.t test random failures' \ - 'Fedora Patch46: Fix t/op/hash.t test random failures' \ - 'Fedora Patch47: Parse caret variables with subscripts as normal variables inside ${...} escaping (RT#131664)' \ - 'Fedora Patch49: Do not display too many bytes when reporting malformed UTF-8 character' \ - 'Fedora Patch51: Fix error message for "our sub foo::bar" (RT#131679)' \ - 'Fedora Patch52: Fix executing arybase::_tie_it() in Safe compartement (RT#131588)' \ - 'Fedora Patch54: Fix splitting non-ASCII strings if unicode_strings feature is enabled (RT#130907)' \ - 'Fedora Patch55: Fix compiler warnings in code generated by ExtUtils::Constant (CPAN RT#63832)' \ - 'Fedora Patch56: Fix compiler warnings in code generated by ExtUtils::Constant (CPAN RT#101487)' \ - 'Fedora Patch58: Fix unreliable Time-HiRes tests (CPAN RT#122819)' \ - 'Fedora Patch61: Fix Term::ReadLine not to create spurious &STDERR files (RT#132008)' \ - 'Fedora Patch64: Fix an overflow when parsing a character range with no preceding character (RT#132245)' \ - 'Fedora Patch65: Fix walking symbol table for ISA in Carp' \ - 'Fedora Patch66: Fix handling file names with null bytes in stat and lstat functions (RT#131895)' \ - 'Fedora Patch67: Fix a crash when untying an object witout a stash' \ - 'Fedora Patch68: Fix deparsing of transliterations with unprintable characters (RT#132405)' \ - 'Fedora Patch69: Fix error reporting on do() on a directory (RT#125774)' \ - 'Fedora Patch70: Fix stack manipulation when a lexical subroutine is defined in a do block in a member of an iteration list (RT#132442)' \ - 'Fedora Patch71: Fix setting $! when statting a closed filehandle (RT#108288)' \ - 'Fedora Patch72: Fix tainting of s/// with overloaded replacement (RT#115266)' \ - 'Fedora Patch73: Expand system() arguments before a fork (RT#121105)' \ - 'Fedora Patch76: Avoid undefined behavior when copying memory in Glob and pp_caller (RT#131746)' \ - 'Fedora Patch78: Fix compatibility with libxcrypt (RT#133184)' \ - 'Fedora Patch79: Link XS modules to pthread library to fix linking with -z defs' \ - 'Fedora Patch80: Fix parsing braced subscript after parentheses (RT#8045)' \ - 'Fedora Patch81: Do not clobber file bytes in :encoding layer (RT#132833)' \ - 'Fedora Patch82: Fix line numbers in multi-line s/// (RT#131930)' \ - 'Fedora Patch83: Fix parsing extended bracketed character classes (RT#132167)' \ - 'Fedora Patch84: Fix a possibly unitialized memory read in the Perl parser (RT#133074)' \ - 'Fedora Patch85: Fix an infinite loop in the regular expression compiler (RT#133185)' \ - 'Fedora Patch86: Adjust tests to gdbm-1.15 (RT#133295)' \ - 'Fedora Patch88: Fix printing a warning about a wide character when matching a regular expression while ISO-8859-1 locale is in effect' \ - 'Fedora Patch89: Fix invoking a check for wide characters while ISO-8859-1 locale is in effect' \ - 'Fedora Patch90: Pass the correct CFLAGS to dtrace' \ - 'RHEL Patch91: Fix Time-Local tests to pass after year 2019 (bug #1807120)' \ - 'RHEL Patch92: Fix CVE-2020-12723 (GH#16947)' \ - 'RHEL Patch93: Fix CVE-2020-10543' \ - 'RHEL Patch94: Fix CVE-2020-10878' \ - 'RHEL Patch95: Fix Net-Ping _resolv return value on failing DNS name lookup (bug #1973030)' \ - 'RHEL Patch97: Fix a memory leak when compiling a regular expression with a non-word class (GH#17218)' \ + 'Fedora Patch3: use libresolv instead of libbind' \ + 'Fedora Patch4: USE_MM_LD_RUN_PATH' \ + 'Fedora Patch5: Provide MM::maybe_command independently (bug #1129443)' \ + '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: 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' \ - 'Fedora Patch202: Add definition of OPTIMIZE to .ph files (bug #2152012)' \ + 'Fedora Patch202: Add definition of OPTIMIZE to .ph files' \ %{nil} %endif @@ -3009,6 +4272,9 @@ install -m 0644 %{SOURCE5} . #copy Pod-Html license clarification cp %{SOURCE6} . +# Copy config.over to override Configure's guesses. +cp %{SOURCE8} . + # # Candidates for doc recoding (need case by case review): # find . -name "*.pod" -o -name "README*" -o -name "*.pm" | xargs file -i | grep charset= | grep -v '\(us-ascii\|utf-8\)' @@ -3063,8 +4329,15 @@ echo "RPM Build arch: %{_arch}" %global privlib %{_prefix}/share/perl5 %global archlib %{_libdir}/perl5 +%if 0%{?flatpak_runtime} +%global perl_vendorlib /app/%{_lib}/perl5/vendor_perl +%global perl_vendorarch /app/share/perl5/vendor_perl +%else %global perl_vendorlib %{privlib}/vendor_perl %global perl_vendorarch %{archlib}/vendor_perl +%endif + +%global perl_abi %(echo '%{perl_version}' | sed 's/^\\([^.]*\\.[^.]*\\).*/\\1/') # ldflags is not used when linking XS modules. # Only ldflags is used when linking miniperl. @@ -3084,19 +4357,24 @@ echo "RPM Build arch: %{_arch}" -Dcc='%{__cc}' \ -Dcf_by='Red Hat, Inc.' \ -Dprefix=%{_prefix} \ -%if %{without perl_enables_groff} -Dman1dir="%{_mandir}/man1" \ -Dman3dir="%{_mandir}/man3" \ -%endif -Dvendorprefix=%{_prefix} \ -Dsiteprefix=%{_prefix}/local \ - -Dsitelib="%{_prefix}/local/share/perl5" \ - -Dsitearch="%{_prefix}/local/%{_lib}/perl5" \ + -Dsitelib="%{_prefix}/local/share/perl5/%{perl_abi}" \ + -Dsitearch="%{_prefix}/local/%{_lib}/perl5/%{perl_abi}" \ -Dprivlib="%{privlib}" \ -Dvendorlib="%{perl_vendorlib}" \ -Darchlib="%{archlib}" \ -Dvendorarch="%{perl_vendorarch}" \ -Darchname=%{perl_archname} \ +%if 0%{?flatpak} + -Dotherlibdirs="/usr/share/perl5/vendor_perl:/usr/%{_lib}/perl5/vendor_perl:/usr/share/perl5:/usr/%{_lib}/perl5" \ +%endif +%if 0%{?flatpak_runtime} + -Dotherlibdirs=%{archlib}/vendor_perl:%{privlib}/vendor_perl \ + -Dvendorprefix=/app \ +%endif %ifarch %{multilib_64_archs} -Dlibpth="/usr/local/lib64 /lib64 %{_prefix}/lib64" \ %endif @@ -3113,7 +4391,9 @@ echo "RPM Build arch: %{_arch}" %endif -Duselargefiles \ -Dd_semctl_semun \ +%if %{with bdb} -Di_db \ +%endif %if %{with gdbm} -Ui_ndbm \ -Di_gdbm \ @@ -3139,9 +4419,9 @@ BUILD_BZIP2=0 BZIP2_LIB=%{_libdir} export BUILD_BZIP2 BZIP2_LIB -# Prepapre a symlink from proper DSO name to libperl.so now so that new perl +# Prepare a symlink from proper DSO name to libperl.so now so that new perl # can be executed from make. -%global soname libperl.so.%(echo '%{perl_version}' | sed 's/^\\([^.]*\\.[^.]*\\).*/\\1/') +%global soname libperl.so.%{perl_abi} test -L %soname || ln -s libperl.so %soname %ifarch sparc64 %{arm} @@ -3176,8 +4456,10 @@ rm -f "%{build_archlib}/CORE/%{soname}" install -p -m 755 utils/pl2pm %{build_bindir}/pl2pm -for i in asm/termios.h syscall.h syslimits.h syslog.h \ - sys/ioctl.h sys/socket.h sys/time.h wait.h +# perlfunc/ioctl() recommends sys/ioctl.ph. +# perlfaq5 recommends sys/syscall.ph. +# perlfunc/syscall() recommends syscall.ph. +for i in sys/ioctl.h sys/syscall.h syscall.h do %{new_perl} %{build_bindir}/h2ph -a -d %{build_archlib} $i || true done @@ -3216,15 +4498,9 @@ rm %{build_archlib}/.packlist rm %{build_archlib}/File/Spec/VMS.pm rm $RPM_BUILD_ROOT%{_mandir}/man3/File::Spec::VMS.3* -# Fix some manpages to be UTF-8 -mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1/ -pushd $RPM_BUILD_ROOT%{_mandir}/man1/ - for i in perl588delta.1 perldelta.1 ; do - iconv -f MS-ANSI -t UTF-8 $i --output new-$i - rm $i - mv new-$i $i - done -popd +# Do not distribute ExtUtils-PL2Bat, it is used only for Windows +rm %{build_privlib}/ExtUtils/PL2Bat.pm +rm $RPM_BUILD_ROOT%{_mandir}/man3/ExtUtils::PL2Bat.3* # for now, remove Bzip2: # Why? Now is missing Bzip2 files and provides @@ -3246,7 +4522,7 @@ done # Normalize shell bangs in tests. # brp-mangle-shebangs executed by rpm-build chokes on t/TEST. %{new_perl} -MConfig -i -pn \ - -e 's"\A#!(?:perl|\./perl|/usr/bin/perl|/usr/bin/env perl)\b"$Config{startperl}"' \ + -e 's"\A#!(?:perl|\./perl|/perl|/usr/bin/perl|/usr/bin/env perl)\b"$Config{startperl}"' \ $(find %{buildroot}%{perl5_testdir}/perl-tests -type f) %if %{with perl_enables_systemtap} @@ -3264,6 +4540,768 @@ sed \ > %{buildroot}%{tapsetdir}/%{libperl_stp} %endif +%if ! %{dual_life} && ! %{rebuild_from_scratch} +# All dual_life files/directories are deleted here instead of %%exclude in +# %%files. So that debuginfo does not find unpacked binaries and blindly +# symlinks to them at random packages. + +# Archive-Tar +rm %{buildroot}%{_bindir}/ptar +rm %{buildroot}%{_bindir}/ptardiff +rm %{buildroot}%{_bindir}/ptargrep +rm -rf %{buildroot}%{privlib}/Archive/Tar +rm %{buildroot}%{privlib}/Archive/Tar.pm +rm -rf %{buildroot}%{privlib}/Archive +rm %{buildroot}%{_mandir}/man1/ptar.1* +rm %{buildroot}%{_mandir}/man1/ptardiff.1* +rm %{buildroot}%{_mandir}/man1/ptargrep.1* +rm %{buildroot}%{_mandir}/man3/Archive::Tar* + +# autodie +rm -rf %{buildroot}%{privlib}/autodie/ +rm %{buildroot}%{privlib}/autodie.pm +rm %{buildroot}%{privlib}/Fatal.pm +rm %{buildroot}%{_mandir}/man3/autodie.3* +rm %{buildroot}%{_mandir}/man3/autodie::* +rm %{buildroot}%{_mandir}/man3/Fatal.3* + +# bignum +rm %{buildroot}%{privlib}/bigfloat.pm +rm %{buildroot}%{privlib}/bigint.pm +rm %{buildroot}%{privlib}/bignum.pm +rm %{buildroot}%{privlib}/bigrat.pm +rm -rf %{buildroot}%{privlib}/Math/BigFloat +rm %{buildroot}%{privlib}/Math/BigInt/Trace.pm +rm %{buildroot}%{privlib}/Math/BigRat/Trace.pm +rm -rf %{buildroot}%{privlib}/Math/BigRat + +rm %{buildroot}%{_mandir}/man3/bigfloat.* +rm %{buildroot}%{_mandir}/man3/bigint.* +rm %{buildroot}%{_mandir}/man3/bignum.* +rm %{buildroot}%{_mandir}/man3/bigrat.* + +# Carp +rm -rf %{buildroot}%{privlib}/Carp +rm %{buildroot}%{privlib}/Carp.* +rm %{buildroot}%{_mandir}/man3/Carp.* + +# Compress-Raw-Bzip2 +rm %{buildroot}%{archlib}/Compress/Raw/Bzip2.pm +rm -rf %{buildroot}%{archlib}/auto/Compress/Raw/Bzip2 +rm %{buildroot}%{_mandir}/man3/Compress::Raw::Bzip2* + +# Compress-Raw-Zlib +rm %{buildroot}%{archlib}/Compress/Raw/Zlib.pm +rm -rf %{buildroot}%{archlib}/Compress/Raw +rm -rf %{buildroot}%{archlib}/Compress +rm -rf %{buildroot}%{archlib}/auto/Compress/Raw/Zlib +rm -rf %{buildroot}%{archlib}/auto/Compress/Raw +rm -rf %{buildroot}%{archlib}/auto/Compress +rm %{buildroot}%{_mandir}/man3/Compress::Raw::Zlib* + +# Config-Perl-V +rm -rf %{buildroot}%{privlib}/Config/Perl +rm %{buildroot}%{_mandir}/man3/Config::Perl::V.* + +# constant +rm %{buildroot}%{privlib}/constant.pm +rm %{buildroot}%{_mandir}/man3/constant.3* + +# CPAN-Meta-Requirements +rm %{buildroot}%{privlib}/CPAN/Meta/Requirements.pm +rm %{buildroot}%{_mandir}/man3/CPAN::Meta::Requirements.3* + +# CPAN-Meta-YAML +rm %{buildroot}%{privlib}/CPAN/Meta/YAML.pm +rm %{buildroot}%{_mandir}/man3/CPAN::Meta::YAML* + +# CPAN-Meta +rm %{buildroot}%{privlib}/CPAN/Meta.pm +rm %{buildroot}%{privlib}/CPAN/Meta/Converter.pm +rm %{buildroot}%{privlib}/CPAN/Meta/Feature.pm +rm -rf %{buildroot}%{privlib}/CPAN/Meta/History +rm %{buildroot}%{privlib}/CPAN/Meta/History.pm +rm %{buildroot}%{privlib}/CPAN/Meta/Merge.pm +rm %{buildroot}%{privlib}/CPAN/Meta/Prereqs.pm +rm %{buildroot}%{privlib}/CPAN/Meta/Spec.pm +rm %{buildroot}%{privlib}/CPAN/Meta/Validator.pm +rm -rf %{buildroot}%{privlib}/CPAN/Meta +rm %{buildroot}%{privlib}/Parse/CPAN/Meta.pm +rm -rf %{buildroot}%{privlib}/Parse/CPAN +rm -rf %{buildroot}%{privlib}/Parse +rm %{buildroot}%{_mandir}/man3/CPAN::Meta* +rm %{buildroot}%{_mandir}/man3/Parse::CPAN::Meta.3* + +# CPAN +rm %{buildroot}%{_bindir}/cpan +rm %{buildroot}%{privlib}/App/Cpan.pm +rm -rf %{buildroot}%{privlib}/CPAN +rm %{buildroot}%{privlib}/CPAN.pm +rm %{buildroot}%{_mandir}/man1/cpan.1* +rm %{buildroot}%{_mandir}/man3/App::Cpan.* +rm %{buildroot}%{_mandir}/man3/CPAN.* +rm %{buildroot}%{_mandir}/man3/CPAN:* + +# Data-Dumper +rm %{buildroot}%{archlib}/auto/Data/Dumper/Dumper.so +rm %{buildroot}%{archlib}/Data/Dumper.pm +rm -rf %{buildroot}%{archlib}/auto/Data/Dumper +rm -rf %{buildroot}%{archlib}/auto/Data +rm -rf %{buildroot}%{archlib}/Data +rm %{buildroot}%{_mandir}/man3/Data::Dumper.3* + +# DB_File +%if %{with bdb} +rm %{buildroot}%{archlib}/DB_File.pm +rm %{buildroot}%{archlib}/auto/DB_File/DB_File.so +rm -rf %{buildroot}%{archlib}/auto/DB_File +rm %{buildroot}%{_mandir}/man3/DB_File* +%endif + +# Devel-PPPort +rm %{buildroot}%{archlib}/Devel/PPPort.pm +rm %{buildroot}%{_mandir}/man3/Devel::PPPort.3* + +# Digest +rm %{buildroot}%{privlib}/Digest.pm +rm %{buildroot}%{privlib}/Digest/base.pm +rm %{buildroot}%{privlib}/Digest/file.pm +rm -rf %{buildroot}%{privlib}/Digest +rm %{buildroot}%{_mandir}/man3/Digest.3* +rm %{buildroot}%{_mandir}/man3/Digest::base.3* +rm %{buildroot}%{_mandir}/man3/Digest::file.3* + +# Digest-MD5 +rm %{buildroot}%{archlib}/Digest/MD5.pm +rm -rf %{buildroot}%{archlib}/auto/Digest/MD5 +rm %{buildroot}%{_mandir}/man3/Digest::MD5.3* + +# Digest-SHA +rm %{buildroot}%{_bindir}/shasum +rm %{buildroot}%{archlib}/Digest/SHA.pm +rm -rf %{buildroot}%{archlib}/Digest +rm -rf %{buildroot}%{archlib}/auto/Digest/SHA +rm -rf %{buildroot}%{archlib}/auto/Digest +rm %{buildroot}%{_mandir}/man1/shasum.1* +rm %{buildroot}%{_mandir}/man3/Digest::SHA.3* + +# Encode +rm %{buildroot}%{_bindir}/encguess +rm %{buildroot}%{_bindir}/piconv +rm -rf %{buildroot}%{archlib}/Encode* +rm -rf %{buildroot}%{archlib}/auto/Encode* +rm %{buildroot}%{_mandir}/man1/encguess.1* +rm %{buildroot}%{_mandir}/man1/piconv.1* +rm %{buildroot}%{_mandir}/man3/Encode*.3* + +# encoding +rm %{buildroot}%{archlib}/encoding.pm +rm %{buildroot}%{_mandir}/man3/encoding.3* + +# Encode-devel +rm %{buildroot}%{_bindir}/enc2xs +rm %{buildroot}%{privlib}/Encode/*.e2x +rm %{buildroot}%{privlib}/Encode/encode.h +rm -rf %{buildroot}%{privlib}/Encode +rm %{buildroot}%{_mandir}/man1/enc2xs.1* + +# Env +rm %{buildroot}%{privlib}/Env.pm +rm %{buildroot}%{_mandir}/man3/Env.3* + +# Exporter +rm -rf %{buildroot}%{privlib}/Exporter* +rm %{buildroot}%{_mandir}/man3/Exporter* + +# experimental +rm %{buildroot}%{privlib}/experimental* +rm %{buildroot}%{privlib}/stable* +rm %{buildroot}%{_mandir}/man3/experimental* +rm %{buildroot}%{_mandir}/man3/stable* + +# ExtUtils-CBuilder +rm %{buildroot}%{privlib}/ExtUtils/CBuilder.pm +rm -rf %{buildroot}%{privlib}/ExtUtils/CBuilder +rm %{buildroot}%{_mandir}/man3/ExtUtils::CBuilder* + +# ExtUtils-Command +rm %{buildroot}%{privlib}/ExtUtils/Command.pm +rm %{buildroot}%{_mandir}/man3/ExtUtils::Command.* + +# ExtUtils-Install +rm %{buildroot}%{privlib}/ExtUtils/Install.pm +rm %{buildroot}%{privlib}/ExtUtils/Installed.pm +rm %{buildroot}%{privlib}/ExtUtils/Packlist.pm +rm %{buildroot}%{_mandir}/man3/ExtUtils::Install.3* +rm %{buildroot}%{_mandir}/man3/ExtUtils::Installed.3* +rm %{buildroot}%{_mandir}/man3/ExtUtils::Packlist.3* + +# ExtUtils-Manifest +rm %{buildroot}%{privlib}/ExtUtils/Manifest.pm +rm %{buildroot}%{privlib}/ExtUtils/MANIFEST.SKIP +rm %{buildroot}%{_mandir}/man3/ExtUtils::Manifest.3* + +# ExtUtils-MakeMaker +rm %{buildroot}%{_bindir}/instmodsh +rm -rf %{buildroot}%{privlib}/ExtUtils/Command +rm -rf %{buildroot}%{privlib}/ExtUtils/Liblist +rm %{buildroot}%{privlib}/ExtUtils/Liblist.pm +rm -rf %{buildroot}%{privlib}/ExtUtils/MakeMaker +rm %{buildroot}%{privlib}/ExtUtils/MakeMaker.pm +rm %{buildroot}%{privlib}/ExtUtils/MM.pm +rm %{buildroot}%{privlib}/ExtUtils/MM_*.pm +rm %{buildroot}%{privlib}/ExtUtils/MY.pm +rm %{buildroot}%{privlib}/ExtUtils/Mkbootstrap.pm +rm %{buildroot}%{privlib}/ExtUtils/Mksymlists.pm +rm %{buildroot}%{privlib}/ExtUtils/testlib.pm +rm %{buildroot}%{_mandir}/man1/instmodsh.1* +rm %{buildroot}%{_mandir}/man3/ExtUtils::Command::MM* +rm %{buildroot}%{_mandir}/man3/ExtUtils::Liblist.3* +rm %{buildroot}%{_mandir}/man3/ExtUtils::MM.3* +rm %{buildroot}%{_mandir}/man3/ExtUtils::MM_* +rm %{buildroot}%{_mandir}/man3/ExtUtils::MY.3* +rm %{buildroot}%{_mandir}/man3/ExtUtils::MakeMaker* +rm %{buildroot}%{_mandir}/man3/ExtUtils::Mkbootstrap.3* +rm %{buildroot}%{_mandir}/man3/ExtUtils::Mksymlists.3* +rm %{buildroot}%{_mandir}/man3/ExtUtils::testlib.3* + +# ExtUtils-MM-Utils +rm %{buildroot}%{privlib}/ExtUtils/MM/Utils.pm +rm -rf %{buildroot}%{privlib}/ExtUtils/MM +rm %{buildroot}%{_mandir}/man3/ExtUtils::MM::Utils.* + +# ExtUtils-ParseXS +rm %{buildroot}%{privlib}/ExtUtils/ParseXS.pm +rm %{buildroot}%{privlib}/ExtUtils/ParseXS.pod +rm %{buildroot}%{privlib}/ExtUtils/ParseXS/Constants.pm +rm %{buildroot}%{privlib}/ExtUtils/ParseXS/CountLines.pm +rm %{buildroot}%{privlib}/ExtUtils/ParseXS/Eval.pm +rm %{buildroot}%{privlib}/ExtUtils/ParseXS/Utilities.pm +rm -rf %{buildroot}%{privlib}/ExtUtils/ParseXS +rm %{buildroot}%{privlib}/ExtUtils/Typemaps.pm +rm %{buildroot}%{privlib}/ExtUtils/Typemaps/Cmd.pm +rm %{buildroot}%{privlib}/ExtUtils/Typemaps/InputMap.pm +rm %{buildroot}%{privlib}/ExtUtils/Typemaps/OutputMap.pm +rm %{buildroot}%{privlib}/ExtUtils/Typemaps/Type.pm +rm -rf %{buildroot}%{privlib}/ExtUtils/Typemaps +rm %{buildroot}%{privlib}/ExtUtils/xsubpp +rm %{buildroot}%{privlib}/pod/perlxs.pod +rm %{buildroot}%{privlib}/pod/perlxstut.pod +rm %{buildroot}%{privlib}/pod/perlxstypemap.pod +rm %{buildroot}%{_bindir}/xsubpp +rm %{buildroot}%{_mandir}/man1/perlxs* +rm %{buildroot}%{_mandir}/man1/xsubpp* +rm %{buildroot}%{_mandir}/man3/ExtUtils::ParseXS.3* +rm %{buildroot}%{_mandir}/man3/ExtUtils::ParseXS::Constants.3* +rm %{buildroot}%{_mandir}/man3/ExtUtils::ParseXS::Eval.3* +rm %{buildroot}%{_mandir}/man3/ExtUtils::ParseXS::Utilities.3* +rm %{buildroot}%{_mandir}/man3/ExtUtils::Typemaps.3* +rm %{buildroot}%{_mandir}/man3/ExtUtils::Typemaps::Cmd.3* +rm %{buildroot}%{_mandir}/man3/ExtUtils::Typemaps::InputMap.3* +rm %{buildroot}%{_mandir}/man3/ExtUtils::Typemaps::OutputMap.3* +rm %{buildroot}%{_mandir}/man3/ExtUtils::Typemaps::Type.3* + +# File-Fetch +rm %{buildroot}%{privlib}/File/Fetch.pm +rm %{buildroot}%{_mandir}/man3/File::Fetch.3* + +# File-Path +rm %{buildroot}%{privlib}/File/Path.pm +rm %{buildroot}%{_mandir}/man3/File::Path.3* + +# File-Temp +rm %{buildroot}%{privlib}/File/Temp.pm +rm %{buildroot}%{_mandir}/man3/File::Temp.3* + +# Filter +rm -rf %{buildroot}%{archlib}/auto/Filter/Util +rm -rf %{buildroot}%{archlib}/auto/Filter +rm -rf %{buildroot}%{archlib}/Filter/Util +rm -rf %{buildroot}%{archlib}/Filter +rm %{buildroot}%{privlib}/pod/perlfilter.pod +rm %{buildroot}%{_mandir}/man1/perlfilter.* +rm %{buildroot}%{_mandir}/man3/Filter::Util::* + +# Filter-Simple +rm %{buildroot}%{privlib}/Filter/Simple.pm +rm -rf %{buildroot}%{privlib}/Filter +rm %{buildroot}%{_mandir}/man3/Filter::Simple.3* + +# Getopt-Long +rm %{buildroot}%{privlib}/Getopt/Long.pm +rm %{buildroot}%{privlib}/Getopt/Long/Parser.pm +rm %{buildroot}%{_mandir}/man3/Getopt::Long.3* +rm %{buildroot}%{_mandir}/man3/Getopt::Long::Parser.3* + +# IO-Compress +rm %{buildroot}%{_bindir}/streamzip +rm %{buildroot}%{_bindir}/zipdetails +rm %{buildroot}%{privlib}/IO/Compress/FAQ.pod +rm %{buildroot}%{_mandir}/man1/streamzip.* +rm %{buildroot}%{_mandir}/man1/zipdetails.* +rm %{buildroot}%{_mandir}/man3/IO::Compress::FAQ.* +# Compress-Zlib +rm %{buildroot}%{privlib}/Compress/Zlib.pm +rm -rf %{buildroot}%{privlib}/Compress +rm %{buildroot}%{_mandir}/man3/Compress::Zlib* +# IO-Compress-Base +rm %{buildroot}%{privlib}/File/GlobMapper.pm +rm %{buildroot}%{privlib}/IO/Compress/Base.pm +rm -rf %{buildroot}%{privlib}/IO/Compress/Base +rm %{buildroot}%{privlib}/IO/Uncompress/AnyUncompress.pm +rm %{buildroot}%{privlib}/IO/Uncompress/Base.pm +rm %{buildroot}%{_mandir}/man3/File::GlobMapper.* +rm %{buildroot}%{_mandir}/man3/IO::Compress::Base.* +rm %{buildroot}%{_mandir}/man3/IO::Uncompress::AnyUncompress.* +rm %{buildroot}%{_mandir}/man3/IO::Uncompress::Base.* +# IO-Compress-Zlib +rm %{buildroot}%{privlib}/IO/Compress/Bzip2.pm +rm %{buildroot}%{privlib}/IO/Compress/Deflate.pm +rm %{buildroot}%{privlib}/IO/Compress/Gzip.pm +rm %{buildroot}%{privlib}/IO/Compress/RawDeflate.pm +rm %{buildroot}%{privlib}/IO/Compress/Zip.pm +rm -rf %{buildroot}%{privlib}/IO/Compress/Adapter +rm -rf %{buildroot}%{privlib}/IO/Compress/Gzip +rm -rf %{buildroot}%{privlib}/IO/Compress/Zip +rm -rf %{buildroot}%{privlib}/IO/Compress/Zlib +rm -rf %{buildroot}%{privlib}/IO/Compress +rm %{buildroot}%{privlib}/IO/Uncompress/AnyInflate.pm +rm %{buildroot}%{privlib}/IO/Uncompress/Bunzip2.pm +rm %{buildroot}%{privlib}/IO/Uncompress/Gunzip.pm +rm %{buildroot}%{privlib}/IO/Uncompress/Inflate.pm +rm %{buildroot}%{privlib}/IO/Uncompress/RawInflate.pm +rm %{buildroot}%{privlib}/IO/Uncompress/Unzip.pm +rm -rf %{buildroot}%{privlib}/IO/Uncompress/Adapter +rm -rf %{buildroot}%{privlib}/IO/Uncompress +rm %{buildroot}%{_mandir}/man3/IO::Compress::Deflate* +rm %{buildroot}%{_mandir}/man3/IO::Compress::Bzip2* +rm %{buildroot}%{_mandir}/man3/IO::Compress::Gzip* +rm %{buildroot}%{_mandir}/man3/IO::Compress::RawDeflate* +rm %{buildroot}%{_mandir}/man3/IO::Compress::Zip* +rm %{buildroot}%{_mandir}/man3/IO::Uncompress::AnyInflate* +rm %{buildroot}%{_mandir}/man3/IO::Uncompress::Bunzip2* +rm %{buildroot}%{_mandir}/man3/IO::Uncompress::Gunzip* +rm %{buildroot}%{_mandir}/man3/IO::Uncompress::Inflate* +rm %{buildroot}%{_mandir}/man3/IO::Uncompress::RawInflate* +rm %{buildroot}%{_mandir}/man3/IO::Uncompress::Unzip* + +# IO-Socket-IP +rm %{buildroot}%{privlib}/IO/Socket/IP.pm +rm -rf %{buildroot}%{privlib}/IO/Socket +rm %{buildroot}%{_mandir}/man3/IO::Socket::IP.* + +# IO-Zlib +rm %{buildroot}%{privlib}/IO/Zlib.pm +rm -rf %{buildroot}%{privlib}/IO +rm %{buildroot}%{_mandir}/man3/IO::Zlib.* + +# HTTP-Tiny +rm %{buildroot}%{privlib}/HTTP/Tiny.pm +rm -rf %{buildroot}%{privlib}/HTTP +rm %{buildroot}%{_mandir}/man3/HTTP::Tiny* + +# IPC-Cmd +rm %{buildroot}%{privlib}/IPC/Cmd.pm +rm %{buildroot}%{_mandir}/man3/IPC::Cmd.3* + +# IPC-SysV +rm -rf %{buildroot}%{archlib}/auto/IPC +rm %{buildroot}%{archlib}/IPC/Msg.pm +rm %{buildroot}%{archlib}/IPC/Semaphore.pm +rm %{buildroot}%{archlib}/IPC/SharedMem.pm +rm %{buildroot}%{archlib}/IPC/SysV.pm +rm -rf %{buildroot}%{archlib}/IPC +rm %{buildroot}%{_mandir}/man3/IPC::Msg.* +rm %{buildroot}%{_mandir}/man3/IPC::Semaphore.* +rm %{buildroot}%{_mandir}/man3/IPC::SharedMem.* +rm %{buildroot}%{_mandir}/man3/IPC::SysV.* + +# JSON-PP +rm %{buildroot}%{_bindir}/json_pp +rm %{buildroot}%{privlib}/JSON/PP.pm +rm -rf %{buildroot}%{privlib}/JSON/PP +rm -rf %{buildroot}%{privlib}/JSON +rm %{buildroot}%{_mandir}/man1/json_pp.1* +rm %{buildroot}%{_mandir}/man3/JSON::PP.3* +rm %{buildroot}%{_mandir}/man3/JSON::PP::Boolean.3pm* + +# libnet +rm %{buildroot}%{privlib}/Net/Cmd.pm +rm %{buildroot}%{privlib}/Net/Config.pm +rm %{buildroot}%{privlib}/Net/Domain.pm +rm %{buildroot}%{privlib}/Net/FTP.pm +rm -rf %{buildroot}%{privlib}/Net/FTP +rm %{buildroot}%{privlib}/Net/libnetFAQ.pod +rm %{buildroot}%{privlib}/Net/NNTP.pm +rm %{buildroot}%{privlib}/Net/Netrc.pm +rm %{buildroot}%{privlib}/Net/POP3.pm +rm %{buildroot}%{privlib}/Net/SMTP.pm +rm %{buildroot}%{privlib}/Net/Time.pm +rm %{buildroot}%{_mandir}/man3/Net::Cmd.* +rm %{buildroot}%{_mandir}/man3/Net::Config.* +rm %{buildroot}%{_mandir}/man3/Net::Domain.* +rm %{buildroot}%{_mandir}/man3/Net::FTP.* +rm %{buildroot}%{_mandir}/man3/Net::libnetFAQ.* +rm %{buildroot}%{_mandir}/man3/Net::NNTP.* +rm %{buildroot}%{_mandir}/man3/Net::Netrc.* +rm %{buildroot}%{_mandir}/man3/Net::POP3.* +rm %{buildroot}%{_mandir}/man3/Net::SMTP.* +rm %{buildroot}%{_mandir}/man3/Net::Time.* + +# Locale-Maketext +rm %{buildroot}%{privlib}/Locale/Maketext.* +rm %{buildroot}%{privlib}/Locale/Maketext/Cookbook.* +rm %{buildroot}%{privlib}/Locale/Maketext/Guts.* +rm %{buildroot}%{privlib}/Locale/Maketext/GutsLoader.* +rm %{buildroot}%{privlib}/Locale/Maketext/TPJ13.* +rm %{buildroot}%{_mandir}/man3/Locale::Maketext.* +rm %{buildroot}%{_mandir}/man3/Locale::Maketext::Cookbook.* +rm %{buildroot}%{_mandir}/man3/Locale::Maketext::Guts.* +rm %{buildroot}%{_mandir}/man3/Locale::Maketext::GutsLoader.* +rm %{buildroot}%{_mandir}/man3/Locale::Maketext::TPJ13.* + +# Math-BigInt +rm %{buildroot}%{privlib}/Math/BigFloat.pm +rm %{buildroot}%{privlib}/Math/BigInt.pm +rm %{buildroot}%{privlib}/Math/BigInt/Calc.pm +rm %{buildroot}%{privlib}/Math/BigInt/Lib.pm +rm %{buildroot}%{privlib}/Math/BigRat.pm +rm -rf %{buildroot}%{privlib}/Math/BigInt +rm %{buildroot}%{_mandir}/man3/Math::BigFloat.* +rm %{buildroot}%{_mandir}/man3/Math::BigInt.* +rm %{buildroot}%{_mandir}/man3/Math::BigInt::Calc.* +rm %{buildroot}%{_mandir}/man3/Math::BigInt::Lib.* +rm %{buildroot}%{_mandir}/man3/Math::BigRat.* + +# Math-BigInt-FastCalc +rm -rf %{buildroot}%{archlib}/Math +rm -rf %{buildroot}%{archlib}/auto/Math +rm %{buildroot}%{_mandir}/man3/Math::BigInt::FastCalc.* + +# MIME-Base64 +rm -rf %{buildroot}%{archlib}/auto/MIME +rm -rf %{buildroot}%{archlib}/MIME +rm %{buildroot}%{_mandir}/man3/MIME::* + +# Module-CoreList +rm -rf %{buildroot}%{privlib}/Module/CoreList +rm %{buildroot}%{privlib}/Module/CoreList.pm +rm %{buildroot}%{privlib}/Module/CoreList.pod +rm %{buildroot}%{_mandir}/man3/Module::CoreList* + +# Module-CoreList-tools +rm %{buildroot}%{_bindir}/corelist +rm %{buildroot}%{_mandir}/man1/corelist* + +# Module-Load +rm %{buildroot}%{privlib}/Module/Load.pm +rm %{buildroot}%{_mandir}/man3/Module::Load.* + +# Module-Load-Conditional +rm -rf %{buildroot}%{privlib}/Module/Load +rm %{buildroot}%{_mandir}/man3/Module::Load::Conditional* + +# Module-Metadata +rm %{buildroot}%{privlib}/Module/Metadata.pm +rm %{buildroot}%{_mandir}/man3/Module::Metadata.3pm* + +# Net-Ping +rm %{buildroot}%{privlib}/Net/Ping.pm +rm %{buildroot}%{_mandir}/man3/Net::Ping.* + +# parent +rm %{buildroot}%{privlib}/parent.pm +rm %{buildroot}%{_mandir}/man3/parent.3* + +# Params-Check +rm -rf %{buildroot}%{privlib}/Params/ +rm %{buildroot}%{_mandir}/man3/Params::Check* + +# PathTools +rm %{buildroot}%{archlib}/Cwd.pm +rm -rf %{buildroot}%{archlib}/File/Spec* +rm -rf %{buildroot}%{archlib}/auto/Cwd/ +rm %{buildroot}%{_mandir}/man3/Cwd* +rm %{buildroot}%{_mandir}/man3/File::Spec* + +# Perl-OSType +rm %{buildroot}%{privlib}/Perl/OSType.pm +rm -rf %{buildroot}%{privlib}/Perl +rm %{buildroot}%{_mandir}/man3/Perl::OSType.3pm* + +# perlfaq +rm %{buildroot}%{privlib}/perlfaq.pm +rm %{buildroot}%{privlib}/pod/perlfaq* +rm %{buildroot}%{privlib}/pod/perlglossary.pod +rm %{buildroot}%{_mandir}/man1/perlfaq* +rm %{buildroot}%{_mandir}/man1/perlglossary.* + +# PerlIO-via-QuotedPrint +rm -rf %{buildroot}%{privlib}/PerlIO/via +rm %{buildroot}%{_mandir}/man3/PerlIO::via::QuotedPrint.* + +# Pod-Checker +rm %{buildroot}%{_bindir}/podchecker +rm %{buildroot}%{privlib}/Pod/Checker.pm +rm %{buildroot}%{_mandir}/man1/podchecker.* +rm %{buildroot}%{_mandir}/man3/Pod::Checker.* + +# Pod-Escapes +rm %{buildroot}%{privlib}/Pod/Escapes.pm +rm %{buildroot}%{_mandir}/man3/Pod::Escapes.* + +# Pod-Perldoc +rm %{buildroot}%{_bindir}/perldoc +rm %{buildroot}%{privlib}/pod/perldoc.pod +rm %{buildroot}%{privlib}/Pod/Perldoc.pm +rm -rf %{buildroot}%{privlib}/Pod/Perldoc/ +rm %{buildroot}%{_mandir}/man1/perldoc.1* +rm %{buildroot}%{_mandir}/man3/Pod::Perldoc* + +# Pod-Usage +rm %{buildroot}%{_bindir}/pod2usage +rm %{buildroot}%{privlib}/Pod/Usage.pm +rm %{buildroot}%{_mandir}/man1/pod2usage.* +rm %{buildroot}%{_mandir}/man3/Pod::Usage.* + +# podlators +rm %{buildroot}%{_bindir}/pod2man +rm %{buildroot}%{_bindir}/pod2text +rm %{buildroot}%{privlib}/pod/perlpodstyle.pod +rm %{buildroot}%{privlib}/Pod/Man.pm +rm %{buildroot}%{privlib}/Pod/ParseLink.pm +rm %{buildroot}%{privlib}/Pod/Text.pm +rm -rf %{buildroot}%{privlib}/Pod/Text +rm %{buildroot}%{_mandir}/man1/pod2man.1* +rm %{buildroot}%{_mandir}/man1/pod2text.1* +rm %{buildroot}%{_mandir}/man1/perlpodstyle.1* +rm %{buildroot}%{_mandir}/man3/Pod::Man* +rm %{buildroot}%{_mandir}/man3/Pod::ParseLink* +rm %{buildroot}%{_mandir}/man3/Pod::Text* + +# Pod-Simple +rm %{buildroot}%{privlib}/Pod/Simple.pm +rm %{buildroot}%{privlib}/Pod/Simple.pod +rm -rf %{buildroot}%{privlib}/Pod/Simple/ +rm %{buildroot}%{_mandir}/man3/Pod::Simple* + +# Scalar-List-Utils +rm -rf %{buildroot}%{archlib}/List/ +rm -rf %{buildroot}%{archlib}/Scalar/ +rm -rf %{buildroot}%{archlib}/Sub/ +rm -rf %{buildroot}%{archlib}/auto/List/ +rm %{buildroot}%{_mandir}/man3/List::Util* +rm %{buildroot}%{_mandir}/man3/Scalar::Util* +rm %{buildroot}%{_mandir}/man3/Sub::Util* + +# Socket +rm %{buildroot}%{archlib}/auto/Socket/Socket.* +rm -rf %{buildroot}%{archlib}/auto/Socket +rm %{buildroot}%{archlib}/Socket.pm +rm %{buildroot}%{_mandir}/man3/Socket.3* + +# Storable +rm %{buildroot}%{archlib}/Storable.pm +rm -rf %{buildroot}%{archlib}/auto/Storable/ +rm %{buildroot}%{_mandir}/man3/Storable.* + +# Sys-Syslog +# %%dir %%{archlib}/Sys not excluded. It would be removed from the previous package. +rm %{buildroot}%{archlib}/Sys/Syslog.pm +# %%dir %%{archlib}/auto/Sys not excluded. It would be removed from the previous package. +rm -rf %{buildroot}%{archlib}/auto/Sys/Syslog/ +rm %{buildroot}%{_mandir}/man3/Sys::Syslog.* + +# Term-ANSIColor +rm %{buildroot}%{privlib}/Term/ANSIColor.pm +rm %{buildroot}%{_mandir}/man3/Term::ANSIColor* + +# Term-Cap +rm %{buildroot}%{privlib}/Term/Cap.pm +rm %{buildroot}%{_mandir}/man3/Term::Cap.* + +# Term-Table +rm %{buildroot}%{privlib}/Term/Table.pm +rm %{buildroot}%{privlib}/Term/Table//Cell.pm +rm %{buildroot}%{privlib}/Term/Table/CellStack.pm +rm %{buildroot}%{privlib}/Term/Table/HashBase.pm +rm %{buildroot}%{privlib}/Term/Table/LineBreak.pm +rm %{buildroot}%{privlib}/Term/Table/Spacer.pm +rm %{buildroot}%{privlib}/Term/Table/Util.pm +rm %{buildroot}%{_mandir}/man3/Term::Table* + +# Test-Harness +rm %{buildroot}%{_bindir}/prove +rm -rf %{buildroot}%{privlib}/App/Prove* +rm -rf %{buildroot}%{privlib}/App +rm -rf %{buildroot}%{privlib}/TAP* +rm %{buildroot}%{privlib}/Test/Harness* +rm %{buildroot}%{_mandir}/man1/prove.1* +rm %{buildroot}%{_mandir}/man3/App::Prove* +rm %{buildroot}%{_mandir}/man3/TAP* +rm %{buildroot}%{_mandir}/man3/Test::Harness* + +# Test-Simple +rm %{buildroot}%{privlib}/ok* +rm %{buildroot}%{privlib}/Test/More* +rm -rf %{buildroot}%{privlib}/Test/Builder* +rm -rf %{buildroot}%{privlib}/Test/Tester* +rm %{buildroot}%{privlib}/Test/Simple* +rm %{buildroot}%{privlib}/Test/Tutorial* +rm -rf %{buildroot}%{privlib}/Test/use +rm -rf %{buildroot}%{privlib}/Test +rm -rf %{buildroot}%{privlib}/Test2.pm +rm -rf %{buildroot}%{privlib}/Test2/API* +rm -rf %{buildroot}%{privlib}/Test2/Event.pm +rm -rf %{buildroot}%{privlib}/Test2/Event/* +rm -rf %{buildroot}%{privlib}/Test2/EventFacet* +rm -rf %{buildroot}%{privlib}/Test2/Formatter* +rm -rf %{buildroot}%{privlib}/Test2/Hub* +rm -rf %{buildroot}%{privlib}/Test2/IPC* +rm -rf %{buildroot}%{privlib}/Test2/Tools/Tiny.pm +rm -rf %{buildroot}%{privlib}/Test2/Transition.pod +rm %{buildroot}%{privlib}/Test2/Util.pm +rm %{buildroot}%{privlib}/Test2/Util/ExternalMeta.pm +rm %{buildroot}%{privlib}/Test2/Util/Facets2Legacy.pm +rm %{buildroot}%{privlib}/Test2/Util/HashBase.pm +rm %{buildroot}%{privlib}/Test2/Util/Trace.pm +rm %{buildroot}%{_mandir}/man3/ok* +rm %{buildroot}%{_mandir}/man3/Test::More* +rm %{buildroot}%{_mandir}/man3/Test::Builder* +rm %{buildroot}%{_mandir}/man3/Test::Tester* +rm %{buildroot}%{_mandir}/man3/Test::Simple* +rm %{buildroot}%{_mandir}/man3/Test::Tutorial* +rm %{buildroot}%{_mandir}/man3/Test::use::* +rm %{buildroot}%{_mandir}/man3/Test2.* +rm %{buildroot}%{_mandir}/man3/Test2::API* +rm %{buildroot}%{_mandir}/man3/Test2::Event.* +rm %{buildroot}%{_mandir}/man3/Test2::Event::* +rm %{buildroot}%{_mandir}/man3/Test2::EventFacet* +rm %{buildroot}%{_mandir}/man3/Test2::Formatter* +rm %{buildroot}%{_mandir}/man3/Test2::Hub* +rm %{buildroot}%{_mandir}/man3/Test2::IPC* +rm %{buildroot}%{_mandir}/man3/Test2::Tools::Tiny* +rm %{buildroot}%{_mandir}/man3/Test2::Transition* +rm %{buildroot}%{_mandir}/man3/Test2::Util.* +rm %{buildroot}%{_mandir}/man3/Test2::Util::ExternalMeta.* +rm %{buildroot}%{_mandir}/man3/Test2::Util::Facets2Legacy.* +rm %{buildroot}%{_mandir}/man3/Test2::Util::HashBase.* +rm %{buildroot}%{_mandir}/man3/Test2::Util::Trace.* + +# Test2-Suite +rm -rf %{buildroot}%{privlib}/Test2/AsyncSubtest* +rm -rf %{buildroot}%{privlib}/Test2/Bundle* +rm -rf %{buildroot}%{privlib}/Test2/Compare* +rm -rf %{buildroot}%{privlib}/Test2/Manual* +rm %{buildroot}%{privlib}/Test2/Mock.pm +rm -rf %{buildroot}%{privlib}/Test2/Plugin* +rm -rf %{buildroot}%{privlib}/Test2/Require* +rm %{buildroot}%{privlib}/Test2/Suite.pm +rm %{buildroot}%{privlib}/Test2/Todo.pm +rm %{buildroot}%{privlib}/Test2/Tools.pm +rm -rf %{buildroot}%{privlib}/Test2/Tools +rm %{buildroot}%{privlib}/Test2/Util/Grabber.pm +rm %{buildroot}%{privlib}/Test2/Util/Guard.pm +rm %{buildroot}%{privlib}/Test2/Util/Importer.pm +rm %{buildroot}%{privlib}/Test2/Util/Ref.pm +rm %{buildroot}%{privlib}/Test2/Util/Stash.pm +rm %{buildroot}%{privlib}/Test2/Util/Sub.pm +rm -rf %{buildroot}%{privlib}/Test2/Util/Table +rm %{buildroot}%{privlib}/Test2/Util/Table.pm +rm %{buildroot}%{privlib}/Test2/Util/Term.pm +rm %{buildroot}%{privlib}/Test2/Util/Times.pm +rm -rf %{buildroot}%{privlib}/Test2/Util +rm %{buildroot}%{privlib}/Test2/V0.pm +rm -rf %{buildroot}%{privlib}/Test2/Workflow* +rm %{buildroot}%{_mandir}/man3/Test2::AsyncSubtest* +rm %{buildroot}%{_mandir}/man3/Test2::Bundle* +rm %{buildroot}%{_mandir}/man3/Test2::Compare* +rm %{buildroot}%{_mandir}/man3/Test2::Manual* +rm %{buildroot}%{_mandir}/man3/Test2::Mock.* +rm %{buildroot}%{_mandir}/man3/Test2::Plugin* +rm %{buildroot}%{_mandir}/man3/Test2::Require* +rm %{buildroot}%{_mandir}/man3/Test2::Suite.* +rm %{buildroot}%{_mandir}/man3/Test2::Todo.* +rm %{buildroot}%{_mandir}/man3/Test2::Tools.* +rm %{buildroot}%{_mandir}/man3/Test2::Tools::* +rm %{buildroot}%{_mandir}/man3/Test2::Util::Grabber.* +rm %{buildroot}%{_mandir}/man3/Test2::Util::Guard.* +rm %{buildroot}%{_mandir}/man3/Test2::Util::Importer.* +rm %{buildroot}%{_mandir}/man3/Test2::Util::Ref.* +rm %{buildroot}%{_mandir}/man3/Test2::Util::Stash.* +rm %{buildroot}%{_mandir}/man3/Test2::Util::Sub.* +rm %{buildroot}%{_mandir}/man3/Test2::Util::Table* +rm %{buildroot}%{_mandir}/man3/Test2::Util::Times.* +rm %{buildroot}%{_mandir}/man3/Test2::V0.* +rm %{buildroot}%{_mandir}/man3/Test2::Workflow* + +# Text-Balanced +rm %{buildroot}%{privlib}/Text/Balanced.pm +rm %{buildroot}%{_mandir}/man3/Text::Balanced.* + +# Text-ParseWords +rm %{buildroot}%{privlib}/Text/ParseWords.pm +rm %{buildroot}%{_mandir}/man3/Text::ParseWords.* + +# Text-Tabs+Wrap +rm %{buildroot}%{privlib}/Text/Tabs.pm +rm %{buildroot}%{privlib}/Text/Wrap.pm +rm %{buildroot}%{_mandir}/man3/Text::Tabs.* +rm %{buildroot}%{_mandir}/man3/Text::Wrap.* + +# Thread-Queue +rm %{buildroot}%{privlib}/Thread/Queue.pm +rm %{buildroot}%{_mandir}/man3/Thread::Queue.* + +# Tie-RefHash +rm %{buildroot}%{privlib}/Tie/RefHash.pm +rm %{buildroot}%{_mandir}/man3/Tie::RefHash.* + +# Time-HiRes +rm %{buildroot}%{archlib}/Time/HiRes.pm +rm -rf %{buildroot}%{archlib}/auto/Time/HiRes +rm %{buildroot}%{_mandir}/man3/Time::HiRes.* + +# Time-Local +rm %{buildroot}%{privlib}/Time/Local.pm +rm %{buildroot}%{_mandir}/man3/Time::Local.* + +# threads +rm %{buildroot}%{archlib}/auto/threads/threads* +rm %{buildroot}%{archlib}/threads.pm +rm %{buildroot}%{_mandir}/man3/threads.3* + +# threads-shared +rm -rf %{buildroot}%{archlib}/auto/threads/shared* +rm -rf %{buildroot}%{archlib}/auto/threads +rm %{buildroot}%{archlib}/threads/shared* +rm -rf %{buildroot}%{archlib}/threads +rm %{buildroot}%{_mandir}/man3/threads::shared* + +# Unicode-Collate +rm -rf %{buildroot}%{archlib}/auto/Unicode/Collate +rm -rf %{buildroot}%{archlib}/auto/Unicode +rm %{buildroot}%{archlib}/Unicode/Collate.pm +rm -rf %{buildroot}%{archlib}/Unicode/Collate +rm -rf %{buildroot}%{privlib}/Unicode/Collate +rm %{buildroot}%{_mandir}/man3/Unicode::Collate.* +rm %{buildroot}%{_mandir}/man3/Unicode::Collate::* + +# Unicode-Normalize +rm -rf %{buildroot}%{archlib}/auto/Unicode/Normalize +rm %{buildroot}%{archlib}/Unicode/Normalize.pm +rm -rf %{buildroot}%{archlib}/Unicode +rm %{buildroot}%{_mandir}/man3/Unicode::Normalize.* + +# version +rm %{buildroot}%{privlib}/version.pm +rm %{buildroot}%{privlib}/version.pod +rm -rf %{buildroot}%{privlib}/version/ +rm %{buildroot}%{_mandir}/man3/version.3* +rm %{buildroot}%{_mandir}/man3/version::Internals.3* +%endif + + # TODO: Canonicalize test files (rewrite intrerpreter path, fix permissions) # XXX: We cannot rewrite ./perl before %%check phase. Otherwise the test # would run against system perl at build-time. @@ -3288,924 +5326,109 @@ popd %endif %endif +%if 0%{?flatpak} +# This symlink won't be included in the Flatpak, since it is outside of /app, +# but it is needed in the prefix=/app buildroot, since we need to be able to +# install modules that Require: /usr/bin/perl. +mkdir -p %{buildroot}/usr/bin +ln -s /app/bin/perl %{buildroot}/usr/bin/perl +%endif + %ldconfig_scriptlets libs %files -# We sub-package modules from perl-interpreter subpackage. Main perl package -# is a meta package. +# Main perl package is an empty meta package. %files interpreter -%{_mandir}/man1/*.1* -%{_mandir}/man3/*.3* -%{_bindir}/* -%{archlib}/* -%{privlib}/* - - -# libs -%exclude %dir %{archlib} -%exclude %dir %{archlib}/auto -%exclude %{archlib}/auto/re -%exclude %dir %{archlib}/CORE -%exclude %{archlib}/CORE/libperl.so -%exclude %{archlib}/re.pm -%exclude %{_libdir}/libperl.so.* -%exclude %dir %{perl_vendorarch} -%exclude %dir %{perl_vendorarch}/auto -%exclude %dir %{privlib} -%exclude %{privlib}/integer.pm -%exclude %{privlib}/strict.pm -%exclude %{privlib}/unicore -%exclude %{privlib}/utf8.pm -%exclude %{privlib}/utf8_heavy.pl -%exclude %{privlib}/warnings.pm -%exclude %{privlib}/XSLoader.pm -%exclude %dir %{perl_vendorlib} -%exclude %{_mandir}/man3/integer.* -%exclude %{_mandir}/man3/re.* -%exclude %{_mandir}/man3/strict.* -%exclude %{_mandir}/man3/utf8.* -%exclude %{_mandir}/man3/warnings.* -%exclude %{_mandir}/man3/XSLoader.* - -# devel -%exclude %{_bindir}/h2xs -%exclude %{_mandir}/man1/h2xs* -%exclude %{_bindir}/perlivp -%exclude %{_mandir}/man1/perlivp* -%exclude %{archlib}/CORE/*.h -%exclude %{_libdir}/libperl.so -%exclude %{_mandir}/man1/perlxs* -%if %{with perl_enables_systemtap} -%exclude %dir %{_datadir}/systemtap -%exclude %dir %{_datadir}/systemtap/tapset +%{_bindir}/perl +%{_bindir}/perl%{perl_version} +%{_mandir}/man1/perl.1* +%{_mandir}/man1/perlrun.1* +%dir %{privlib}/pod +%{privlib}/pod/perl.pod +%{privlib}/pod/perlrun.pod +%if 0%{?flatpak} +/usr/bin/perl %endif -# utils -%exclude %{_bindir}/h2ph -%exclude %{_bindir}/perlbug -%exclude %{_bindir}/perlthanks -%exclude %{_bindir}/pl2pm -%exclude %{_bindir}/splain -%exclude %{privlib}/pod/perlutil.pod -%exclude %{_mandir}/man1/h2ph.* -%exclude %{_mandir}/man1/perlbug.* -%exclude %{_mandir}/man1/perlthanks.* -%exclude %{_mandir}/man1/perlutil.* -%exclude %{_mandir}/man1/pl2pm.* -%exclude %{_mandir}/man1/splain.* - -# Archive-Tar -%exclude %{_bindir}/ptar -%exclude %{_bindir}/ptardiff -%exclude %{_bindir}/ptargrep -%exclude %dir %{privlib}/Archive -%exclude %{privlib}/Archive/Tar -%exclude %{privlib}/Archive/Tar.pm -%exclude %{_mandir}/man1/ptar.1* -%exclude %{_mandir}/man1/ptardiff.1* -%exclude %{_mandir}/man1/ptargrep.1* -%exclude %{_mandir}/man3/Archive::Tar* - -# Attribute-Handlers -%exclude %{privlib}/Attribute -%exclude %{_mandir}/man3/Attribute::Handlers.* - -# autodie -%exclude %{privlib}/autodie/ -%exclude %{privlib}/autodie.pm -%exclude %{privlib}/Fatal.pm -%exclude %{_mandir}/man3/autodie.3* -%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 -%exclude %{privlib}/bigrat.pm -%exclude %{privlib}/Math/BigFloat -%exclude %{privlib}/Math/BigInt/Trace.pm -%exclude %{_mandir}/man3/bigint.* -%exclude %{_mandir}/man3/bignum.* -%exclude %{_mandir}/man3/bigrat.* - -# Carp -%exclude %{privlib}/Carp -%exclude %{privlib}/Carp.* -%exclude %{_mandir}/man3/Carp.* - -# Config-Perl-V -%exclude %{privlib}/Config/Perl -%exclude %{_mandir}/man3/Config::Perl::V.* - -# constant -%exclude %{privlib}/constant.pm -%exclude %{_mandir}/man3/constant.3* - -# CPAN -%exclude %{_bindir}/cpan -%exclude %dir %{privlib}/App -%exclude %{privlib}/App/Cpan.pm -%exclude %{privlib}/CPAN -%exclude %{privlib}/CPAN.pm -%exclude %{_mandir}/man1/cpan.1* -%exclude %{_mandir}/man3/App::Cpan.* -%exclude %{_mandir}/man3/CPAN.* -%exclude %{_mandir}/man3/CPAN:* - -# CPAN-Meta -%exclude %dir %{privlib}/CPAN -%exclude %{privlib}/CPAN/Meta.pm -%exclude %dir %{privlib}/CPAN/Meta -%exclude %{privlib}/CPAN/Meta/Converter.pm -%exclude %{privlib}/CPAN/Meta/Feature.pm -%exclude %dir %{privlib}/CPAN/Meta/History -%exclude %{privlib}/CPAN/Meta/History.pm -%exclude %{privlib}/CPAN/Meta/Merge.pm -%exclude %{privlib}/CPAN/Meta/Prereqs.pm -%exclude %{privlib}/CPAN/Meta/Spec.pm -%exclude %{privlib}/CPAN/Meta/Validator.pm -%exclude %dir %{privlib}/Parse -%exclude %dir %{privlib}/Parse/CPAN -%exclude %{privlib}/Parse/CPAN/Meta.pm -%exclude %{_mandir}/man3/CPAN::Meta* -%exclude %{_mandir}/man3/Parse::CPAN::Meta.3* - -# CPAN-Meta-Requirements -%exclude %dir %{privlib}/CPAN -%exclude %dir %{privlib}/CPAN/Meta -%exclude %{privlib}/CPAN/Meta/Requirements.pm -%exclude %{_mandir}/man3/CPAN::Meta::Requirements.3* - -# CPAN-Meta-YAML -%exclude %dir %{privlib}/CPAN -%exclude %dir %{privlib}/CPAN/Meta -%exclude %{privlib}/CPAN/Meta/YAML.pm -%exclude %{_mandir}/man3/CPAN::Meta::YAML* - -# Compress-Raw-Bzip2 -%exclude %dir %{archlib}/Compress -%exclude %dir %{archlib}/Compress/Raw -%exclude %{archlib}/Compress/Raw/Bzip2.pm -%exclude %dir %{archlib}/auto/Compress -%exclude %dir %{archlib}/auto/Compress/Raw -%exclude %{archlib}/auto/Compress/Raw/Bzip2 -%exclude %{_mandir}/man3/Compress::Raw::Bzip2* - -# Compress-Raw-Zlib -%exclude %dir %{archlib}/Compress -%exclude %dir %{archlib}/Compress/Raw -%exclude %{archlib}/Compress/Raw/Zlib.pm -%exclude %dir %{archlib}/auto/Compress -%exclude %dir %{archlib}/auto/Compress/Raw -%exclude %{archlib}/auto/Compress/Raw/Zlib -%exclude %{_mandir}/man3/Compress::Raw::Zlib* - -# Data-Dumper -%exclude %dir %{archlib}/auto/Data -%exclude %dir %{archlib}/auto/Data/Dumper -%exclude %{archlib}/auto/Data/Dumper/Dumper.so -%exclude %dir %{archlib}/Data -%exclude %{archlib}/Data/Dumper.pm -%exclude %{_mandir}/man3/Data::Dumper.3* - -# DB_File -%exclude %{archlib}/DB_File.pm -%exclude %dir %{archlib}/auto/DB_File -%exclude %{archlib}/auto/DB_File/DB_File.so -%exclude %{_mandir}/man3/DB_File* - -# Devel-Peek -%dir %exclude %{archlib}/Devel -%exclude %{archlib}/Devel/Peek.pm -%dir %exclude %{archlib}/auto/Devel -%exclude %{archlib}/auto/Devel/Peek -%exclude %{_mandir}/man3/Devel::Peek.* - -# Devel-PPPort -%exclude %{archlib}/Devel/PPPort.pm -%exclude %{_mandir}/man3/Devel::PPPort.3* - -# Devel-SelfStubber -%exclude %dir %{privlib}/Devel -%exclude %{privlib}/Devel/SelfStubber.pm -%exclude %{_mandir}/man3/Devel::SelfStubber.* - -# Digest -%exclude %{privlib}/Digest.pm -%exclude %dir %{privlib}/Digest -%exclude %{privlib}/Digest/base.pm -%exclude %{privlib}/Digest/file.pm -%exclude %{_mandir}/man3/Digest.3* -%exclude %{_mandir}/man3/Digest::base.3* -%exclude %{_mandir}/man3/Digest::file.3* - -# Digest-MD5 -%exclude %dir %{archlib}/Digest -%exclude %{archlib}/Digest/MD5.pm -%exclude %dir %{archlib}/auto/Digest -%exclude %{archlib}/auto/Digest/MD5 -%exclude %{_mandir}/man3/Digest::MD5.3* - -# Digest-SHA -%exclude %{_bindir}/shasum -%exclude %dir %{archlib}/Digest -%exclude %{archlib}/Digest/SHA.pm -%exclude %dir %{archlib}/auto/Digest -%exclude %{archlib}/auto/Digest/SHA -%exclude %{_mandir}/man1/shasum.1* -%exclude %{_mandir}/man3/Digest::SHA.3* - -# Encode -%exclude %{_bindir}/encguess -%exclude %{_bindir}/piconv -%exclude %{archlib}/Encode* -%exclude %{archlib}/auto/Encode* -%exclude %{privlib}/Encode -%exclude %{_mandir}/man1/encguess.1* -%exclude %{_mandir}/man1/piconv.1* -%exclude %{_mandir}/man3/Encode*.3* - -# encoding -%exclude %{archlib}/encoding.pm -%exclude %{_mandir}/man3/encoding.3* - -# Encode-devel -%exclude %{_bindir}/enc2xs -%exclude %dir %{privlib}/Encode -%exclude %{privlib}/Encode/*.e2x -%exclude %{privlib}/Encode/encode.h -%exclude %{_mandir}/man1/enc2xs.1* - -# Env -%exclude %{privlib}/Env.pm -%exclude %{_mandir}/man3/Env.3* - -# Errno -%exclude %{archlib}/Errno.pm -%exclude %{_mandir}/man3/Errno.* - -# Exporter -%exclude %{privlib}/Exporter* -%exclude %{_mandir}/man3/Exporter* - -# experimental -%exclude %{privlib}/experimental* -%exclude %{_mandir}/man3/experimental* - -# ExtUtils-CBuilder -%exclude %{privlib}/ExtUtils/CBuilder -%exclude %{privlib}/ExtUtils/CBuilder.pm -%exclude %{_mandir}/man3/ExtUtils::CBuilder* - -# ExtUtils-Command -%exclude %{privlib}/ExtUtils/Command.pm -%exclude %{_mandir}/man3/ExtUtils::Command.* - -# ExtUtils-Embed -%exclude %{privlib}/ExtUtils/Embed.pm -%exclude %{_mandir}/man3/ExtUtils::Embed* - -# ExtUtils-Install -%exclude %{privlib}/ExtUtils/Install.pm -%exclude %{privlib}/ExtUtils/Installed.pm -%exclude %{privlib}/ExtUtils/Packlist.pm -%exclude %{_mandir}/man3/ExtUtils::Install.3* -%exclude %{_mandir}/man3/ExtUtils::Installed.3* -%exclude %{_mandir}/man3/ExtUtils::Packlist.3* - -# ExtUtils-Manifest -%exclude %{privlib}/ExtUtils/Manifest.pm -%exclude %{privlib}/ExtUtils/MANIFEST.SKIP -%exclude %{_mandir}/man3/ExtUtils::Manifest.3* - -# ExtUtils-MakeMaker -%exclude %{_bindir}/instmodsh -%exclude %{privlib}/ExtUtils/Command -%exclude %{privlib}/ExtUtils/Liblist -%exclude %{privlib}/ExtUtils/Liblist.pm -%exclude %{privlib}/ExtUtils/MakeMaker -%exclude %{privlib}/ExtUtils/MakeMaker.pm -%exclude %{privlib}/ExtUtils/MM.pm -%exclude %{privlib}/ExtUtils/MM_*.pm -%exclude %{privlib}/ExtUtils/MY.pm -%exclude %{privlib}/ExtUtils/Mkbootstrap.pm -%exclude %{privlib}/ExtUtils/Mksymlists.pm -%exclude %{privlib}/ExtUtils/testlib.pm -%exclude %{_mandir}/man1/instmodsh.1* -%exclude %{_mandir}/man3/ExtUtils::Command::MM* -%exclude %{_mandir}/man3/ExtUtils::Liblist.3* -%exclude %{_mandir}/man3/ExtUtils::MM.3* -%exclude %{_mandir}/man3/ExtUtils::MM_* -%exclude %{_mandir}/man3/ExtUtils::MY.3* -%exclude %{_mandir}/man3/ExtUtils::MakeMaker* -%exclude %{_mandir}/man3/ExtUtils::Mkbootstrap.3* -%exclude %{_mandir}/man3/ExtUtils::Mksymlists.3* -%exclude %{_mandir}/man3/ExtUtils::testlib.3* - -# ExtUtils-Miniperl -%exclude %{privlib}/ExtUtils/Miniperl.pm -%exclude %{_mandir}/man3/ExtUtils::Miniperl.3* - -# ExtUtils-MM-Utils -%exclude %dir %{privlib}/ExtUtils/MM -%exclude %{privlib}/ExtUtils/MM/Utils.pm -%exclude %{_mandir}/man3/ExtUtils::MM::Utils.* - -# ExtUtils-ParseXS -%exclude %dir %{privlib}/ExtUtils/ParseXS -%exclude %{privlib}/ExtUtils/ParseXS.pm -%exclude %{privlib}/ExtUtils/ParseXS.pod -%exclude %{privlib}/ExtUtils/ParseXS/Constants.pm -%exclude %{privlib}/ExtUtils/ParseXS/CountLines.pm -%exclude %{privlib}/ExtUtils/ParseXS/Eval.pm -%exclude %{privlib}/ExtUtils/ParseXS/Utilities.pm -%exclude %dir %{privlib}/ExtUtils/Typemaps -%exclude %{privlib}/ExtUtils/Typemaps.pm -%exclude %{privlib}/ExtUtils/Typemaps/Cmd.pm -%exclude %{privlib}/ExtUtils/Typemaps/InputMap.pm -%exclude %{privlib}/ExtUtils/Typemaps/OutputMap.pm -%exclude %{privlib}/ExtUtils/Typemaps/Type.pm -%exclude %{privlib}/ExtUtils/xsubpp -%exclude %{_bindir}/xsubpp -%exclude %{_mandir}/man1/xsubpp* -%exclude %{_mandir}/man3/ExtUtils::ParseXS.3* -%exclude %{_mandir}/man3/ExtUtils::ParseXS::Constants.3* -%exclude %{_mandir}/man3/ExtUtils::ParseXS::Eval.3* -%exclude %{_mandir}/man3/ExtUtils::ParseXS::Utilities.3* -%exclude %{_mandir}/man3/ExtUtils::Typemaps.3* -%exclude %{_mandir}/man3/ExtUtils::Typemaps::Cmd.3* -%exclude %{_mandir}/man3/ExtUtils::Typemaps::InputMap.3* -%exclude %{_mandir}/man3/ExtUtils::Typemaps::OutputMap.3* -%exclude %{_mandir}/man3/ExtUtils::Typemaps::Type.3* - -# File-Fetch -%exclude %{privlib}/File/Fetch.pm -%exclude %{_mandir}/man3/File::Fetch.3* - -# File-Path -%exclude %{privlib}/File/Path.pm -%exclude %{_mandir}/man3/File::Path.3* - -# File-Temp -%exclude %{privlib}/File/Temp.pm -%exclude %{_mandir}/man3/File::Temp.3* - -# Filter -%exclude %dir %{archlib}/auto/Filter -%exclude %{archlib}/auto/Filter/Util -%exclude %dir %{archlib}/Filter -%exclude %{archlib}/Filter/Util -%exclude %{privlib}/pod/perlfilter.pod -%exclude %{_mandir}/man1/perlfilter.* -%exclude %{_mandir}/man3/Filter::Util::* - -# Filter-Simple -%exclude %dir %{privlib}/Filter -%exclude %{privlib}/Filter/Simple.pm -%exclude %{_mandir}/man3/Filter::Simple.3* - -# Getopt-Long -%exclude %{privlib}/Getopt/Long.pm -%exclude %{_mandir}/man3/Getopt::Long.3* - -# IO -%exclude %dir %{archlib}/IO -%exclude %{archlib}/IO.pm -%exclude %{archlib}/IO/Dir.pm -%exclude %{archlib}/IO/File.pm -%exclude %{archlib}/IO/Handle.pm -%exclude %{archlib}/IO/Pipe.pm -%exclude %{archlib}/IO/Poll.pm -%exclude %{archlib}/IO/Seekable.pm -%exclude %{archlib}/IO/Select.pm -%exclude %dir %{archlib}/IO/Socket -%exclude %{archlib}/IO/Socket/INET.pm -%exclude %{archlib}/IO/Socket/UNIX.pm -%exclude %{archlib}/IO/Socket.pm -%exclude %dir %{archlib}/auto/IO -%exclude %{archlib}/auto/IO/IO.so -%exclude %{_mandir}/man3/IO.* -%exclude %{_mandir}/man3/IO::Dir.* -%exclude %{_mandir}/man3/IO::File.* -%exclude %{_mandir}/man3/IO::Handle.* -%exclude %{_mandir}/man3/IO::Pipe.* -%exclude %{_mandir}/man3/IO::Poll.* -%exclude %{_mandir}/man3/IO::Seekable.* -%exclude %{_mandir}/man3/IO::Select.* -%exclude %{_mandir}/man3/IO::Socket::INET.* -%exclude %{_mandir}/man3/IO::Socket::UNIX.* -%exclude %{_mandir}/man3/IO::Socket.* - -# IO-Compress -%exclude %{_bindir}/zipdetails -%exclude %dir %{privlib}/IO -%exclude %dir %{privlib}/IO/Compress -%exclude %{privlib}/IO/Compress/FAQ.pod -%exclude %{_mandir}/man1/zipdetails.* -%exclude %{_mandir}/man3/IO::Compress::FAQ.* -# Compress-Zlib -%exclude %dir %{privlib}/Compress -%exclude %{privlib}/Compress/Zlib.pm -%exclude %{_mandir}/man3/Compress::Zlib* -# IO-Compress-Base -%exclude %{privlib}/File/GlobMapper.pm -%exclude %dir %{privlib}/IO -%exclude %dir %{privlib}/IO/Compress -%exclude %{privlib}/IO/Compress/Base -%exclude %{privlib}/IO/Compress/Base.pm -%exclude %dir %{privlib}/IO/Uncompress -%exclude %{privlib}/IO/Uncompress/AnyUncompress.pm -%exclude %{privlib}/IO/Uncompress/Base.pm -%exclude %{_mandir}/man3/File::GlobMapper.* -%exclude %{_mandir}/man3/IO::Compress::Base.* -%exclude %{_mandir}/man3/IO::Uncompress::AnyUncompress.* -%exclude %{_mandir}/man3/IO::Uncompress::Base.* -# IO-Compress-Zlib -%exclude %dir %{privlib}/IO -%exclude %dir %{privlib}/IO/Compress -%exclude %{privlib}/IO/Compress/Adapter -%exclude %{privlib}/IO/Compress/Deflate.pm -%exclude %{privlib}/IO/Compress/Gzip -%exclude %{privlib}/IO/Compress/Gzip.pm -%exclude %{privlib}/IO/Compress/RawDeflate.pm -%exclude %{privlib}/IO/Compress/Bzip2.pm -%exclude %{privlib}/IO/Compress/Zip -%exclude %{privlib}/IO/Compress/Zip.pm -%exclude %{privlib}/IO/Compress/Zlib -%exclude %dir %{privlib}/IO/Uncompress -%exclude %{privlib}/IO/Uncompress/Adapter -%exclude %{privlib}/IO/Uncompress/AnyInflate.pm -%exclude %{privlib}/IO/Uncompress/Bunzip2.pm -%exclude %{privlib}/IO/Uncompress/Gunzip.pm -%exclude %{privlib}/IO/Uncompress/Inflate.pm -%exclude %{privlib}/IO/Uncompress/RawInflate.pm -%exclude %{privlib}/IO/Uncompress/Unzip.pm -%exclude %{_mandir}/man3/IO::Compress::Deflate* -%exclude %{_mandir}/man3/IO::Compress::Bzip2* -%exclude %{_mandir}/man3/IO::Compress::Gzip* -%exclude %{_mandir}/man3/IO::Compress::RawDeflate* -%exclude %{_mandir}/man3/IO::Compress::Zip* -%exclude %{_mandir}/man3/IO::Uncompress::AnyInflate* -%exclude %{_mandir}/man3/IO::Uncompress::Bunzip2* -%exclude %{_mandir}/man3/IO::Uncompress::Gunzip* -%exclude %{_mandir}/man3/IO::Uncompress::Inflate* -%exclude %{_mandir}/man3/IO::Uncompress::RawInflate* -%exclude %{_mandir}/man3/IO::Uncompress::Unzip* - -# IO-Socket-IP -%exclude %dir %{privlib}/IO -%exclude %dir %{privlib}/IO/Socket -%exclude %{privlib}/IO/Socket/IP.pm -%exclude %{_mandir}/man3/IO::Socket::IP.* - -# IO-Zlib -%exclude %dir %{privlib}/IO -%exclude %{privlib}/IO/Zlib.pm -%exclude %{_mandir}/man3/IO::Zlib.* - -# HTTP-Tiny -%exclude %dir %{privlib}/HTTP -%exclude %{privlib}/HTTP/Tiny.pm -%exclude %{_mandir}/man3/HTTP::Tiny* - -# IPC-Cmd -%exclude %{privlib}/IPC/Cmd.pm -%exclude %{_mandir}/man3/IPC::Cmd.3* - -# IPC-SysV -%exclude %{archlib}/auto/IPC -%exclude %{archlib}/IPC/Msg.pm -%exclude %{archlib}/IPC/Semaphore.pm -%exclude %{archlib}/IPC/SharedMem.pm -%exclude %{archlib}/IPC/SysV.pm -%exclude %{_mandir}/man3/IPC::Msg.* -%exclude %{_mandir}/man3/IPC::Semaphore.* -%exclude %{_mandir}/man3/IPC::SharedMem.* -%exclude %{_mandir}/man3/IPC::SysV.* - -# JSON-PP -%exclude %{_bindir}/json_pp -%exclude %dir %{privlib}/JSON -%exclude %{privlib}/JSON/PP -%exclude %{privlib}/JSON/PP.pm -%exclude %{_mandir}/man1/json_pp.1* -%exclude %{_mandir}/man3/JSON::PP.3* -%exclude %{_mandir}/man3/JSON::PP::Boolean.3pm* - -# libnet -%exclude %{privlib}/Net/Cmd.pm -%exclude %{privlib}/Net/Config.pm -%exclude %{privlib}/Net/Domain.pm -%exclude %{privlib}/Net/FTP -%exclude %{privlib}/Net/FTP.pm -%exclude %{privlib}/Net/libnetFAQ.pod -%exclude %{privlib}/Net/NNTP.pm -%exclude %{privlib}/Net/Netrc.pm -%exclude %{privlib}/Net/POP3.pm -%exclude %{privlib}/Net/SMTP.pm -%exclude %{privlib}/Net/Time.pm -%exclude %{_mandir}/man3/Net::Cmd.* -%exclude %{_mandir}/man3/Net::Config.* -%exclude %{_mandir}/man3/Net::Domain.* -%exclude %{_mandir}/man3/Net::FTP.* -%exclude %{_mandir}/man3/Net::libnetFAQ.* -%exclude %{_mandir}/man3/Net::NNTP.* -%exclude %{_mandir}/man3/Net::Netrc.* -%exclude %{_mandir}/man3/Net::POP3.* -%exclude %{_mandir}/man3/Net::SMTP.* -%exclude %{_mandir}/man3/Net::Time.* - -# libnetcfg -%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 -%exclude %{privlib}/Locale/Maketext.* -%exclude %{privlib}/Locale/Maketext/Cookbook.* -%exclude %{privlib}/Locale/Maketext/Guts.* -%exclude %{privlib}/Locale/Maketext/GutsLoader.* -%exclude %{privlib}/Locale/Maketext/TPJ13.* -%exclude %{_mandir}/man3/Locale::Maketext.* -%exclude %{_mandir}/man3/Locale::Maketext::Cookbook.* -%exclude %{_mandir}/man3/Locale::Maketext::Guts.* -%exclude %{_mandir}/man3/Locale::Maketext::GutsLoader.* -%exclude %{_mandir}/man3/Locale::Maketext::TPJ13.* - -# Locale-Maketext-Simple -%exclude %dir %{privlib}/Locale -%exclude %dir %{privlib}/Locale/Maketext -%exclude %{privlib}/Locale/Maketext/Simple.pm -%exclude %{_mandir}/man3/Locale::Maketext::Simple.* - -# Math-BigInt -%exclude %{privlib}/Math/BigFloat.pm -%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 -%exclude %{archlib}/Math -%exclude %{archlib}/auto/Math -%exclude %{_mandir}/man3/Math::BigInt::FastCalc.* - -# Math-BigRat -%exclude %{privlib}/Math/BigRat.pm -%exclude %{_mandir}/man3/Math::BigRat.* - -# Math-Complex -%dir %exclude %{privlib}/Math -%exclude %{privlib}/Math/Complex.pm -%exclude %{privlib}/Math/Trig.pm -%exclude %{_mandir}/man3/Math::Complex.* -%exclude %{_mandir}/man3/Math::Trig.* - -# Memoize -%exclude %{privlib}/Memoize -%exclude %{privlib}/Memoize.pm -%exclude %{_mandir}/man3/Memoize::* -%exclude %{_mandir}/man3/Memoize.* - -# MIME-Base64 -%exclude %{archlib}/auto/MIME -%exclude %{archlib}/MIME -%exclude %{_mandir}/man3/MIME::* - -# Module-CoreList -%exclude %dir %{privlib}/Module -%exclude %{privlib}/Module/CoreList -%exclude %{privlib}/Module/CoreList.pm -%exclude %{privlib}/Module/CoreList.pod -%exclude %{_mandir}/man3/Module::CoreList* - -# Module-CoreList-tools -%exclude %{_bindir}/corelist -%exclude %{_mandir}/man1/corelist* - -# Module-Load -%exclude %dir %{privlib}/Module -%exclude %{privlib}/Module/Load.pm -%exclude %{_mandir}/man3/Module::Load.* - -# Module-Load-Conditional -%exclude %dir %{privlib}/Module -%exclude %{privlib}/Module/Load -%exclude %{_mandir}/man3/Module::Load::Conditional* - -# Module-Loaded -%exclude %dir %{privlib}/Module -%exclude %{privlib}/Module/Loaded.pm -%exclude %{_mandir}/man3/Module::Loaded* - -# Module-Metadata -%exclude %dir %{privlib}/Module -%exclude %{privlib}/Module/Metadata.pm -%exclude %{_mandir}/man3/Module::Metadata.3pm* - -# Net-Ping -%exclude %{privlib}/Net/Ping.pm -%exclude %{_mandir}/man3/Net::Ping.* - -# PathTools -%exclude %{archlib}/Cwd.pm -%exclude %{archlib}/File/Spec* -%exclude %{archlib}/auto/Cwd/ -%exclude %{_mandir}/man3/Cwd* -%exclude %{_mandir}/man3/File::Spec* - -# Params-Check -%exclude %{privlib}/Params/ -%exclude %{_mandir}/man3/Params::Check* - -# perlfaq -%exclude %{privlib}/perlfaq.pm -%exclude %{privlib}/pod/perlfaq* -%exclude %{privlib}/pod/perlglossary.pod -%exclude %{_mandir}/man1/perlfaq* -%exclude %{_mandir}/man1/perlglossary.* - -# PerlIO-via-QuotedPrint -%exclude %{privlib}/PerlIO -%exclude %{_mandir}/man3/PerlIO::via::QuotedPrint.* - -# Perl-OSType -%exclude %dir %{privlib}/Perl -%exclude %{privlib}/Perl/OSType.pm -%exclude %{_mandir}/man3/Perl::OSType.3pm* - -# open -%exclude %{privlib}/open.pm -%exclude %{_mandir}/man3/open.3* - -# parent -%exclude %{privlib}/parent.pm -%exclude %{_mandir}/man3/parent.3* - -# Pod-Checker -%exclude %{_bindir}/podchecker -%exclude %{privlib}/Pod/Checker.pm -%exclude %{_mandir}/man1/podchecker.* -%exclude %{_mandir}/man3/Pod::Checker.* - -# Pod-Escapes -%exclude %{privlib}/Pod/Escapes.pm -%exclude %{_mandir}/man3/Pod::Escapes.* - -# Pod-Html -%exclude %{_bindir}/pod2html -%exclude %{privlib}/Pod/Html.pm -%exclude %{_mandir}/man1/pod2html.1* -%exclude %{_mandir}/man3/Pod::Html.* - -# Pod-Parser -%exclude %{_bindir}/podselect -%exclude %{privlib}/Pod/Find.pm -%exclude %{privlib}/Pod/InputObjects.pm -%exclude %{privlib}/Pod/ParseUtils.pm -%exclude %{privlib}/Pod/Parser.pm -%exclude %{privlib}/Pod/PlainText.pm -%exclude %{privlib}/Pod/Select.pm -%exclude %{_mandir}/man1/podselect.1* -%exclude %{_mandir}/man3/Pod::Find.* -%exclude %{_mandir}/man3/Pod::InputObjects.* -%exclude %{_mandir}/man3/Pod::ParseUtils.* -%exclude %{_mandir}/man3/Pod::Parser.* -%exclude %{_mandir}/man3/Pod::PlainText.* -%exclude %{_mandir}/man3/Pod::Select.* - -# Pod-Perldoc -%exclude %{_bindir}/perldoc -%exclude %{privlib}/pod/perldoc.pod -%exclude %{privlib}/Pod/Perldoc.pm -%exclude %{privlib}/Pod/Perldoc/ -%exclude %{_mandir}/man1/perldoc.1* -%exclude %{_mandir}/man3/Pod::Perldoc* - -# Pod-Usage -%exclude %{_bindir}/pod2usage -%exclude %{privlib}/Pod/Usage.pm -%exclude %{_mandir}/man1/pod2usage.* -%exclude %{_mandir}/man3/Pod::Usage.* - -# podlators -%exclude %{_bindir}/pod2man -%exclude %{_bindir}/pod2text -%exclude %{privlib}/pod/perlpodstyle.pod -%exclude %{privlib}/Pod/Man.pm -%exclude %{privlib}/Pod/ParseLink.pm -%exclude %{privlib}/Pod/Text -%exclude %{privlib}/Pod/Text.pm -%exclude %{_mandir}/man1/pod2man.1* -%exclude %{_mandir}/man1/pod2text.1* -%exclude %{_mandir}/man1/perlpodstyle.1* -%exclude %{_mandir}/man3/Pod::Man* -%exclude %{_mandir}/man3/Pod::ParseLink* -%exclude %{_mandir}/man3/Pod::Text* - -# Pod-Simple -%exclude %{privlib}/Pod/Simple/ -%exclude %{privlib}/Pod/Simple.pm -%exclude %{privlib}/Pod/Simple.pod -%exclude %{_mandir}/man3/Pod::Simple* - -# Scalar-List-Utils -%exclude %{archlib}/List/ -%exclude %{archlib}/Scalar/ -%exclude %{archlib}/Sub/ -%exclude %{archlib}/auto/List/ -%exclude %{_mandir}/man3/List::Util* -%exclude %{_mandir}/man3/Scalar::Util* -%exclude %{_mandir}/man3/Sub::Util* - -# SelfLoader -%exclude %{privlib}/SelfLoader.pm -%exclude %{_mandir}/man3/SelfLoader* - -# Storable -%exclude %{archlib}/Storable.pm -%exclude %{archlib}/auto/Storable/ -%exclude %{_mandir}/man3/Storable.* - -# Sys-Syslog -%exclude %{archlib}/Sys/Syslog.pm -%exclude %{archlib}/auto/Sys/Syslog/ -%exclude %{_mandir}/man3/Sys::Syslog.* - -# Term-ANSIColor -%exclude %{privlib}/Term/ANSIColor.pm -%exclude %{_mandir}/man3/Term::ANSIColor* - -# Term-Cap -%exclude %{privlib}/Term/Cap.pm -%exclude %{_mandir}/man3/Term::Cap.* - -# Test -%exclude %{privlib}/Test.pm -%exclude %{_mandir}/man3/Test.* - -# Test-Harness -%exclude %{_bindir}/prove -%exclude %dir %{privlib}/App -%exclude %{privlib}/App/Prove* -%exclude %{privlib}/TAP* -%exclude %dir %{privlib}/Test -%exclude %{privlib}/Test/Harness* -%exclude %{_mandir}/man1/prove.1* -%exclude %{_mandir}/man3/App::Prove* -%exclude %{_mandir}/man3/TAP* -%exclude %{_mandir}/man3/Test::Harness* - -# Test-Simple -%exclude %{privlib}/ok* -%exclude %dir %{privlib}/Test -%exclude %{privlib}/Test/More* -%exclude %{privlib}/Test/Builder* -%exclude %{privlib}/Test/Tester* -%exclude %{privlib}/Test/Simple* -%exclude %{privlib}/Test/Tutorial* -%exclude %{privlib}/Test/use -%exclude %{privlib}/Test2* -%exclude %{_mandir}/man3/ok* -%exclude %{_mandir}/man3/Test::More* -%exclude %{_mandir}/man3/Test::Builder* -%exclude %{_mandir}/man3/Test::Tester* -%exclude %{_mandir}/man3/Test::Simple* -%exclude %{_mandir}/man3/Test::Tutorial* -%exclude %{_mandir}/man3/Test::use::* -%exclude %{_mandir}/man3/Test2* - -# Text-Balanced -%exclude %{privlib}/Text/Balanced.pm -%exclude %{_mandir}/man3/Text::Balanced.* - -# Text-ParseWords -%exclude %{privlib}/Text/ParseWords.pm -%exclude %{_mandir}/man3/Text::ParseWords.* - -# Text-Tabs+Wrap -%exclude %{privlib}/Text/Tabs.pm -%exclude %{privlib}/Text/Wrap.pm -%exclude %{_mandir}/man3/Text::Tabs.* -%exclude %{_mandir}/man3/Text::Wrap.* - -# Thread-Queue -%exclude %{privlib}/Thread/Queue.pm -%exclude %{_mandir}/man3/Thread::Queue.* - -# Time-HiRes -%exclude %dir %{archlib}/Time -%exclude %{archlib}/Time/HiRes.pm -%exclude %dir %{archlib}/auto/Time -%exclude %{archlib}/auto/Time/HiRes -%exclude %{_mandir}/man3/Time::HiRes.* - -# Time-Local -%exclude %{privlib}/Time/Local.pm -%exclude %{_mandir}/man3/Time::Local.* - -# Time-Piece -%exclude %dir %{archlib}/Time -%exclude %{archlib}/Time/Piece.pm -%exclude %{archlib}/Time/Seconds.pm -%exclude %dir %{archlib}/auto/Time -%exclude %{archlib}/auto/Time/Piece -%exclude %{_mandir}/man3/Time::Piece.3* -%exclude %{_mandir}/man3/Time::Seconds.3* - -# Socket -%exclude %dir %{archlib}/auto/Socket -%exclude %{archlib}/auto/Socket/Socket.* -%exclude %{archlib}/Socket.pm -%exclude %{_mandir}/man3/Socket.3* - -# threads -%dir %exclude %{archlib}/auto/threads -%exclude %{archlib}/auto/threads/threads* -%exclude %{archlib}/threads.pm -%exclude %{_mandir}/man3/threads.3* - -# threads-shared -%exclude %{archlib}/auto/threads/shared* -%exclude %dir %{archlib}/threads -%exclude %{archlib}/threads/shared* -%exclude %{_mandir}/man3/threads::shared* - -# Unicode-Collate -%dir %exclude %{archlib}/auto/Unicode -%exclude %{archlib}/auto/Unicode/Collate -%dir %exclude %{archlib}/Unicode -%exclude %{archlib}/Unicode/Collate -%exclude %{archlib}/Unicode/Collate.pm -%exclude %{privlib}/Unicode/Collate -%exclude %{_mandir}/man3/Unicode::Collate.* -%exclude %{_mandir}/man3/Unicode::Collate::* - -# Unicode-Normalize -%exclude %{archlib}/auto/Unicode/Normalize -%exclude %{archlib}/Unicode/Normalize.pm -%exclude %{_mandir}/man3/Unicode::Normalize.* - -# version -%exclude %{privlib}/version.pm -%exclude %{privlib}/version.pod -%exclude %{privlib}/version/ -%exclude %{_mandir}/man3/version.3* -%exclude %{_mandir}/man3/version::Internals.3* - %files libs %license Artistic Copying %doc AUTHORS README Changes %dir %{archlib} +%{archlib}/attributes.pm %dir %{archlib}/auto +%dir %{archlib}/auto/attributes +%{archlib}/auto/attributes/attributes.so +%dir %{archlib}/auto/File +%dir %{archlib}/auto/File/Glob +%{archlib}/auto/File/Glob/Glob.so +%{archlib}/auto/PerlIO %{archlib}/auto/re +%{archlib}/auto/SDBM_File +%{archlib}/Config.* +%{archlib}/Config_git.pl +%{archlib}/Config_heavy.pl %dir %{archlib}/CORE %{archlib}/CORE/libperl.so +%dir %{archlib}/File +%{archlib}/File/Glob.pm +%{archlib}/PerlIO %{archlib}/re.pm +%{archlib}/SDBM_File.pm %{_libdir}/libperl.so.* %dir %{perl_vendorarch} %dir %{perl_vendorarch}/auto %dir %{privlib} +%{privlib}/AnyDBM_File.pm +%{privlib}/builtin.pm +%{privlib}/bytes.pm +%{privlib}/_charnames.pm +%{privlib}/charnames.pm +%{privlib}/CORE.pod +%{privlib}/feature.pm %{privlib}/integer.pm +%{privlib}/Internals.pod +%{privlib}/PerlIO.pm +%dir %{privlib}/PerlIO +%{privlib}/PerlIO/scalar.pm %{privlib}/strict.pm %{privlib}/unicore +%{privlib}/UNIVERSAL.pm %{privlib}/utf8.pm -%{privlib}/utf8_heavy.pl +%{privlib}/warnings %{privlib}/warnings.pm +%dir %{privlib}/Tie +%{privlib}/Tie/Hash.pm +%dir %{privlib}/Tie/Hash +%{privlib}/Tie/Hash/NamedCapture.pm %{privlib}/XSLoader.pm %dir %{perl_vendorlib} +%{_mandir}/man3/AnyDBM_File.* +%{_mandir}/man3/attributes.* +%{_mandir}/man3/builtin.* +%{_mandir}/man3/bytes.* +%{_mandir}/man3/charnames.* +%{_mandir}/man3/Config.* +%{_mandir}/man3/CORE.* +%{_mandir}/man3/feature.3* +%{_mandir}/man3/File::Glob.* %{_mandir}/man3/integer.* +%{_mandir}/man3/Internals.* +%{_mandir}/man3/PerlIO.* +%{_mandir}/man3/PerlIO::encoding.* +%{_mandir}/man3/PerlIO::mmap.* +%{_mandir}/man3/PerlIO::scalar.* +%{_mandir}/man3/PerlIO::via.* %{_mandir}/man3/re.* +%{_mandir}/man3/SDBM_File.3* %{_mandir}/man3/strict.* +%{_mandir}/man3/Tie::Hash.* +%{_mandir}/man3/Tie::Hash::* +#%%{_mandir}/man3/unicore* %{_mandir}/man3/utf8.* %{_mandir}/man3/warnings.* +%{_mandir}/man3/warnings::* +%{_mandir}/man3/UNIVERSAL.* %{_mandir}/man3/XSLoader.* %files devel @@ -4214,8 +5437,9 @@ popd %{_bindir}/perlivp %{_mandir}/man1/perlivp* %{archlib}/CORE/*.h +%dir %{privlib}/ExtUtils +%{privlib}/ExtUtils/typemap %{_libdir}/libperl.so -%{_mandir}/man1/perlxs* %if %{with perl_enables_systemtap} %dir %{_datadir}/systemtap %dir %{_datadir}/systemtap/tapset @@ -4234,7 +5458,6 @@ popd %{_bindir}/perlbug %{_bindir}/perlthanks %{_bindir}/pl2pm -%{_bindir}/splain %dir %{privlib}/pod %{privlib}/pod/perlutil.pod %{_mandir}/man1/h2ph.* @@ -4242,7 +5465,6 @@ popd %{_mandir}/man1/perlthanks.* %{_mandir}/man1/perlutil.* %{_mandir}/man1/pl2pm.* -%{_mandir}/man1/splain.* %if %{dual_life} || %{rebuild_from_scratch} %files Archive-Tar @@ -4272,13 +5494,39 @@ popd %{_mandir}/man3/Fatal.3* %endif -%if %{dual_life} || %{rebuild_from_scratch} -%files B-Debug -%dir %{privlib}/B -%{privlib}/B/Debug.pm -%{_mandir}/man3/B::Debug.3* +%files AutoLoader +%{privlib}/AutoLoader.pm +%{_mandir}/man3/AutoLoader.3* +%files AutoSplit +%{privlib}/AutoSplit.pm +%{_mandir}/man3/AutoSplit.3* + +%files autouse +%{privlib}/autouse.pm +%{_mandir}/man3/autouse.3* + +%files B +%{archlib}/auto/B +%{archlib}/B +%{archlib}/B.pm +%{archlib}/O.pm +%{privlib}/B +%{_mandir}/man3/B.* +%{_mandir}/man3/B::* +%{_mandir}/man3/O.* + +%files base +%{privlib}/base.pm +%{_mandir}/man3/base.3* + +%files Benchmark +%{privlib}/Benchmark.pm +%{_mandir}/man3/Benchmark.* + +%if %{dual_life} || %{rebuild_from_scratch} %files bignum +%{privlib}/bigfloat.pm %{privlib}/bigint.pm %{privlib}/bignum.pm %{privlib}/bigrat.pm @@ -4286,15 +5534,30 @@ popd %{privlib}/Math/BigFloat %dir %{privlib}/Math/BigInt %{privlib}/Math/BigInt/Trace.pm +%dir %{privlib}/Math/BigRat +%{privlib}/Math/BigRat/Trace.pm +%{_mandir}/man3/bigfloat.* %{_mandir}/man3/bigint.* %{_mandir}/man3/bignum.* %{_mandir}/man3/bigrat.* +%endif +%files blib +%{privlib}/blib.pm +%{_mandir}/man3/blib.* + +%if %{dual_life} || %{rebuild_from_scratch} %files Carp %{privlib}/Carp %{privlib}/Carp.* %{_mandir}/man3/Carp.* +%endif +%files Class-Struct +%{privlib}/Class +%{_mandir}/man3/Class::Struct.* + +%if %{dual_life} || %{rebuild_from_scratch} %files Compress-Raw-Bzip2 %dir %{archlib}/Compress %dir %{archlib}/Compress/Raw @@ -4303,7 +5566,9 @@ popd %dir %{archlib}/auto/Compress/Raw %{archlib}/auto/Compress/Raw/Bzip2 %{_mandir}/man3/Compress::Raw::Bzip2* +%endif +%if %{dual_life} || %{rebuild_from_scratch} %files Compress-Raw-Zlib %dir %{archlib}/Compress %dir %{archlib}/Compress/Raw @@ -4314,6 +5579,11 @@ popd %{_mandir}/man3/Compress::Raw::Zlib* %endif +%files Config-Extensions +%dir %{privlib}/Config +%{privlib}/Config/Extensions.pm +%{_mandir}/man3/Config::Extensions.* + %if %{dual_life} || %{rebuild_from_scratch} %files Config-Perl-V %dir %{privlib}/Config @@ -4350,6 +5620,7 @@ popd %{privlib}/CPAN/Meta/Converter.pm %{privlib}/CPAN/Meta/Feature.pm %dir %{privlib}/CPAN/Meta/History +%{privlib}/CPAN/Meta/History/Meta* %{privlib}/CPAN/Meta/History.pm %{privlib}/CPAN/Meta/Merge.pm %{privlib}/CPAN/Meta/Prereqs.pm @@ -4391,12 +5662,33 @@ popd %endif %if %{dual_life} || %{rebuild_from_scratch} +%if %{with bdb} %files DB_File %{archlib}/DB_File.pm %dir %{archlib}/auto/DB_File %{archlib}/auto/DB_File/DB_File.so %{_mandir}/man3/DB_File* %endif +%endif + +%files DBM_Filter +%{privlib}/DBM_Filter +%{privlib}/DBM_Filter.pm +%{_mandir}/man3/DBM_Filter.* +%{_mandir}/man3/DBM_Filter::* + +%files debugger +%{privlib}/DB.pm +%{privlib}/dumpvar.pl +%{privlib}/perl5db.pl +%dir %{privlib}/pod +%{privlib}/pod/perldebug.pod +%{_mandir}/man1/perldebug.* +%{_mandir}/man3/DB.* + +%files deprecate +%{privlib}/deprecate.pm +%{_mandir}/man3/deprecate.* %files Devel-Peek %dir %{archlib}/Devel @@ -4417,6 +5709,15 @@ popd %{privlib}/Devel/SelfStubber.pm %{_mandir}/man3/Devel::SelfStubber.* +%files diagnostics +%{_bindir}/splain +%{privlib}/diagnostics.pm +%dir %{privlib}/pod +%{privlib}/pod/perldiag.pod +%{_mandir}/man1/perldiag.* +%{_mandir}/man1/splain.* +%{_mandir}/man3/diagnostics.* + %if %{dual_life} || %{rebuild_from_scratch} %files Digest %{privlib}/Digest.pm @@ -4448,6 +5749,265 @@ popd %{_mandir}/man3/Digest::SHA.3* %endif +%files DirHandle +%{privlib}/DirHandle.pm +%{_mandir}/man3/DirHandle.3* + +%files doc +%dir %{privlib}/pod +%{privlib}/pod/perl5*delta.pod +%{privlib}/pod/perlaix.pod +%{privlib}/pod/perlamiga.pod +%{privlib}/pod/perlandroid.pod +%{privlib}/pod/perlapi.pod +%{privlib}/pod/perlapio.pod +%{privlib}/pod/perlartistic.pod +%{privlib}/pod/perlbook.pod +%{privlib}/pod/perlboot.pod +%{privlib}/pod/perlbot.pod +%{privlib}/pod/perlbs2000.pod +%{privlib}/pod/perlcall.pod +%{privlib}/pod/perlcheat.pod +%{privlib}/pod/perlclass.pod +%{privlib}/pod/perlclassguts.pod +%{privlib}/pod/perlclib.pod +%{privlib}/pod/perlcn.pod +%{privlib}/pod/perlcommunity.pod +%{privlib}/pod/perlcygwin.pod +%{privlib}/pod/perldata.pod +%{privlib}/pod/perldbmfilter.pod +%{privlib}/pod/perldebguts.pod +%{privlib}/pod/perldebtut.pod +%{privlib}/pod/perldelta.pod +%{privlib}/pod/perldeprecation.pod +%{privlib}/pod/perldocstyle.pod +%{privlib}/pod/perldsc.pod +%{privlib}/pod/perldtrace.pod +%{privlib}/pod/perlebcdic.pod +%{privlib}/pod/perlembed.pod +%{privlib}/pod/perlexperiment.pod +%{privlib}/pod/perlfork.pod +%{privlib}/pod/perlform.pod +%{privlib}/pod/perlfreebsd.pod +%{privlib}/pod/perlfunc.pod +%{privlib}/pod/perlgit.pod +%{privlib}/pod/perlgov.pod +%{privlib}/pod/perlgpl.pod +%{privlib}/pod/perlguts.pod +%{privlib}/pod/perlhack.pod +%{privlib}/pod/perlhacktips.pod +%{privlib}/pod/perlhacktut.pod +%{privlib}/pod/perlhaiku.pod +%{privlib}/pod/perlhist.pod +%{privlib}/pod/perlhpux.pod +%{privlib}/pod/perlhurd.pod +%{privlib}/pod/perlintern.pod +%{privlib}/pod/perlinterp.pod +%{privlib}/pod/perlintro.pod +%{privlib}/pod/perliol.pod +%{privlib}/pod/perlipc.pod +%{privlib}/pod/perlirix.pod +%{privlib}/pod/perljp.pod +%{privlib}/pod/perlko.pod +%{privlib}/pod/perllexwarn.pod +%{privlib}/pod/perllinux.pod +%{privlib}/pod/perllocale.pod +%{privlib}/pod/perllol.pod +%{privlib}/pod/perlmacosx.pod +%{privlib}/pod/perlmod.pod +%{privlib}/pod/perlmodinstall.pod +%{privlib}/pod/perlmodlib.pod +%{privlib}/pod/perlmodstyle.pod +%{privlib}/pod/perlmroapi.pod +%{privlib}/pod/perlnewmod.pod +%{privlib}/pod/perlnumber.pod +%{privlib}/pod/perlobj.pod +%{privlib}/pod/perlootut.pod +%{privlib}/pod/perlop.pod +%{privlib}/pod/perlopenbsd.pod +%{privlib}/pod/perlopentut.pod +%{privlib}/pod/perlos2.pod +%{privlib}/pod/perlos390.pod +%{privlib}/pod/perlos400.pod +%{privlib}/pod/perlpacktut.pod +%{privlib}/pod/perlperf.pod +%{privlib}/pod/perlplan9.pod +%{privlib}/pod/perlpod.pod +%{privlib}/pod/perlpodspec.pod +%{privlib}/pod/perlpolicy.pod +%{privlib}/pod/perlport.pod +%{privlib}/pod/perlpragma.pod +%{privlib}/pod/perlqnx.pod +%{privlib}/pod/perlre.pod +%{privlib}/pod/perlreapi.pod +%{privlib}/pod/perlrebackslash.pod +%{privlib}/pod/perlrecharclass.pod +%{privlib}/pod/perlref.pod +%{privlib}/pod/perlreftut.pod +%{privlib}/pod/perlreguts.pod +%{privlib}/pod/perlrepository.pod +%{privlib}/pod/perlrequick.pod +%{privlib}/pod/perlreref.pod +%{privlib}/pod/perlretut.pod +%{privlib}/pod/perlriscos.pod +%{privlib}/pod/perlsec.pod +%{privlib}/pod/perlsecpolicy.pod +%{privlib}/pod/perlsolaris.pod +%{privlib}/pod/perlsource.pod +%{privlib}/pod/perlstyle.pod +%{privlib}/pod/perlsub.pod +%{privlib}/pod/perlsyn.pod +%{privlib}/pod/perlsynology.pod +%{privlib}/pod/perlthrtut.pod +%{privlib}/pod/perltie.pod +%{privlib}/pod/perltoc.pod +%{privlib}/pod/perltodo.pod +%{privlib}/pod/perltooc.pod +%{privlib}/pod/perltoot.pod +%{privlib}/pod/perltrap.pod +%{privlib}/pod/perltru64.pod +%{privlib}/pod/perltw.pod +%{privlib}/pod/perlunicode.pod +%{privlib}/pod/perlunicook.pod +%{privlib}/pod/perlunifaq.pod +%{privlib}/pod/perluniintro.pod +%{privlib}/pod/perluniprops.pod +%{privlib}/pod/perlunitut.pod +%{privlib}/pod/perlvar.pod +%{privlib}/pod/perlvms.pod +%{privlib}/pod/perlvos.pod +%{privlib}/pod/perlwin32.pod +%{_mandir}/man1/perl5*delta.* +%{_mandir}/man1/perlaix.* +%{_mandir}/man1/perlamiga.* +%{_mandir}/man1/perlandroid.* +%{_mandir}/man1/perlapi.* +%{_mandir}/man1/perlapio.* +%{_mandir}/man1/perlartistic.* +%{_mandir}/man1/perlbook.* +%{_mandir}/man1/perlboot.* +%{_mandir}/man1/perlbot.* +%{_mandir}/man1/perlbs2000.* +%{_mandir}/man1/perlcall.* +%{_mandir}/man1/perlcheat.* +%{_mandir}/man1/perlclass.* +%{_mandir}/man1/perlclassguts.* +%{_mandir}/man1/perlclib.* +%{_mandir}/man1/perlcn.* +%{_mandir}/man1/perlcommunity.* +%{_mandir}/man1/perlcygwin.* +%{_mandir}/man1/perldata.* +%{_mandir}/man1/perldbmfilter.* +%{_mandir}/man1/perldebguts.* +%{_mandir}/man1/perldebtut.* +%{_mandir}/man1/perldelta.* +%{_mandir}/man1/perldeprecation.* +%{_mandir}/man1/perldocstyle.* +%{_mandir}/man1/perldsc.* +%{_mandir}/man1/perldtrace.* +%{_mandir}/man1/perlebcdic.* +%{_mandir}/man1/perlembed.* +%{_mandir}/man1/perlexperiment.* +%{_mandir}/man1/perlfork.* +%{_mandir}/man1/perlform.* +%{_mandir}/man1/perlfreebsd.* +%{_mandir}/man1/perlfunc.* +%{_mandir}/man1/perlgit.* +%{_mandir}/man1/perlgov.* +%{_mandir}/man1/perlgpl.* +%{_mandir}/man1/perlguts.* +%{_mandir}/man1/perlhack.* +%{_mandir}/man1/perlhacktips.* +%{_mandir}/man1/perlhacktut.* +%{_mandir}/man1/perlhaiku.* +%{_mandir}/man1/perlhist.* +%{_mandir}/man1/perlhpux.* +%{_mandir}/man1/perlhurd.* +%{_mandir}/man1/perlintern.* +%{_mandir}/man1/perlinterp.* +%{_mandir}/man1/perlintro.* +%{_mandir}/man1/perliol.* +%{_mandir}/man1/perlipc.* +%{_mandir}/man1/perlirix.* +%{_mandir}/man1/perljp.* +%{_mandir}/man1/perlko.* +%{_mandir}/man1/perllexwarn.* +%{_mandir}/man1/perllinux.* +%{_mandir}/man1/perllocale.* +%{_mandir}/man1/perllol.* +%{_mandir}/man1/perlmacosx.* +%{_mandir}/man1/perlmod.* +%{_mandir}/man1/perlmodinstall.* +%{_mandir}/man1/perlmodlib.* +%{_mandir}/man1/perlmodstyle.* +%{_mandir}/man1/perlmroapi.* +%{_mandir}/man1/perlnewmod.* +%{_mandir}/man1/perlnumber.* +%{_mandir}/man1/perlobj.* +%{_mandir}/man1/perlootut.* +%{_mandir}/man1/perlop.* +%{_mandir}/man1/perlopenbsd.* +%{_mandir}/man1/perlopentut.* +%{_mandir}/man1/perlos2.* +%{_mandir}/man1/perlos390.* +%{_mandir}/man1/perlos400.* +%{_mandir}/man1/perlpacktut.* +%{_mandir}/man1/perlperf.* +%{_mandir}/man1/perlplan9.* +%{_mandir}/man1/perlpod.* +%{_mandir}/man1/perlpodspec.* +%{_mandir}/man1/perlpolicy.* +%{_mandir}/man1/perlport.* +%{_mandir}/man1/perlpragma.* +%{_mandir}/man1/perlqnx.* +%{_mandir}/man1/perlre.* +%{_mandir}/man1/perlreapi.* +%{_mandir}/man1/perlrebackslash.* +%{_mandir}/man1/perlrecharclass.* +%{_mandir}/man1/perlref.* +%{_mandir}/man1/perlreftut.* +%{_mandir}/man1/perlreguts.* +%{_mandir}/man1/perlrepository.* +%{_mandir}/man1/perlrequick.* +%{_mandir}/man1/perlreref.* +%{_mandir}/man1/perlretut.* +%{_mandir}/man1/perlriscos.* +%{_mandir}/man1/perlsec.* +%{_mandir}/man1/perlsecpolicy.* +%{_mandir}/man1/perlsolaris.* +%{_mandir}/man1/perlsource.* +%{_mandir}/man1/perlstyle.* +%{_mandir}/man1/perlsub.* +%{_mandir}/man1/perlsyn.* +%{_mandir}/man1/perlsynology.* +%{_mandir}/man1/perlthrtut.* +%{_mandir}/man1/perltie.* +%{_mandir}/man1/perltoc.* +%{_mandir}/man1/perltodo.* +%{_mandir}/man1/perltooc.* +%{_mandir}/man1/perltoot.* +%{_mandir}/man1/perltrap.* +%{_mandir}/man1/perltru64.* +%{_mandir}/man1/perltw.* +%{_mandir}/man1/perlunicode.* +%{_mandir}/man1/perlunicook.* +%{_mandir}/man1/perlunifaq.* +%{_mandir}/man1/perluniintro.* +%{_mandir}/man1/perluniprops.* +%{_mandir}/man1/perlunitut.* +%{_mandir}/man1/perlvar.* +%{_mandir}/man1/perlvms.* +%{_mandir}/man1/perlvos.* +%{_mandir}/man1/perlwin32.* + +%files Dumpvalue +%{privlib}/Dumpvalue.pm +%{_mandir}/man3/Dumpvalue.3* + +%files DynaLoader +%{archlib}/DynaLoader.pm +%{_mandir}/man3/DynaLoader.3* + %if %{dual_life} || %{rebuild_from_scratch} %files Encode %{_bindir}/encguess @@ -4460,11 +6020,15 @@ popd %{_mandir}/man1/encguess.1* %{_mandir}/man1/piconv.1* %{_mandir}/man3/Encode*.3* +%endif +%if %{dual_life} || %{rebuild_from_scratch} %files encoding %{archlib}/encoding.pm %{_mandir}/man3/encoding.3* +%endif +%if %{dual_life} || %{rebuild_from_scratch} %files Encode-devel %{_bindir}/enc2xs %dir %{privlib}/Encode @@ -4473,6 +6037,15 @@ popd %{_mandir}/man1/enc2xs.1* %endif +%files encoding-warnings +%dir %{privlib}/encoding +%{privlib}/encoding/warnings.pm +%{_mandir}/man3/encoding::warnings.3* + +%files English +%{privlib}/English.pm +%{_mandir}/man3/English.3* + %if %{dual_life} || %{rebuild_from_scratch} %files Env %{privlib}/Env.pm @@ -4492,7 +6065,9 @@ popd %if %{dual_life} || %{rebuild_from_scratch} %files experimental %{privlib}/experimental* +%{privlib}/stable* %{_mandir}/man3/experimental* +%{_mandir}/man3/stable* %endif %if %{dual_life} || %{rebuild_from_scratch} @@ -4503,6 +6078,13 @@ popd %{_mandir}/man3/ExtUtils::CBuilder* %endif +%files ExtUtils-Constant +%dir %{privlib}/ExtUtils +%{privlib}/ExtUtils/Constant +%{privlib}/ExtUtils/Constant.pm +%{_mandir}/man3/ExtUtils::Constant::* +%{_mandir}/man3/ExtUtils::Constant.3* + %if %{dual_life} || %{rebuild_from_scratch} %files ExtUtils-Command %dir %{privlib}/ExtUtils @@ -4591,7 +6173,12 @@ popd %{privlib}/ExtUtils/Typemaps/OutputMap.pm %{privlib}/ExtUtils/Typemaps/Type.pm %{privlib}/ExtUtils/xsubpp +%dir %{privlib}/pod +%{privlib}/pod/perlxs.pod +%{privlib}/pod/perlxstut.pod +%{privlib}/pod/perlxstypemap.pod %{_bindir}/xsubpp +%{_mandir}/man1/perlxs* %{_mandir}/man1/xsubpp* %{_mandir}/man3/ExtUtils::ParseXS.3* %{_mandir}/man3/ExtUtils::ParseXS::Constants.3* @@ -4604,6 +6191,37 @@ popd %{_mandir}/man3/ExtUtils::Typemaps::Type.3* %endif +%files Fcntl +%{archlib}/Fcntl.pm +%{archlib}/auto/Fcntl +%{_mandir}/man3/Fcntl.3* + +%files fields +%{privlib}/fields.pm +%{_mandir}/man3/fields.3* + +%files File-Basename +%dir %{privlib}/File +%{privlib}/File/Basename.pm +%{_mandir}/man3/File::Basename.3* + +%files File-Compare +%dir %{privlib}/File +%{privlib}/File/Compare.pm +%{_mandir}/man3/File::Compare.3* + +%files File-Copy +%dir %{privlib}/File +%{privlib}/File/Copy.pm +%{_mandir}/man3/File::Copy.3* + +%files File-DosGlob +%dir %{archlib}/File +%{archlib}/File/DosGlob.pm +%dir %{archlib}/auto/File +%{archlib}/auto/File/DosGlob +%{_mandir}/man3/File::DosGlob.3* + %if %{dual_life} || %{rebuild_from_scratch} %files File-Fetch %dir %{privlib}/File @@ -4611,6 +6229,11 @@ popd %{_mandir}/man3/File::Fetch.3* %endif +%files File-Find +%dir %{privlib}/File +%{privlib}/File/Find.pm +%{_mandir}/man3/File::Find.3* + %if %{dual_life} || %{rebuild_from_scratch} %files File-Path %dir %{privlib}/File @@ -4618,6 +6241,11 @@ popd %{_mandir}/man3/File::Path.3* %endif +%files File-stat +%dir %{privlib}/File +%{privlib}/File/stat.pm +%{_mandir}/man3/File::stat.3* + %if %{dual_life} || %{rebuild_from_scratch} %files File-Temp %dir %{privlib}/File @@ -4625,6 +6253,18 @@ popd %{_mandir}/man3/File::Temp.3* %endif +%files FileCache +%{privlib}/FileCache.pm +%{_mandir}/man3/FileCache.3* + +%files FileHandle +%{privlib}/FileHandle.pm +%{_mandir}/man3/FileHandle.3* + +%files filetest +%{privlib}/filetest.pm +%{_mandir}/man3/filetest.3* + %if %{dual_life} || %{rebuild_from_scratch} %files Filter %dir %{archlib}/auto/Filter @@ -4643,13 +6283,53 @@ popd %{_mandir}/man3/Filter::Simple.3* %endif +%files FindBin +%{privlib}/FindBin.pm +%{_mandir}/man3/FindBin.* + +%if %{with gdbm} +%files GDBM_File +%{archlib}/GDBM_File.pm +%{archlib}/auto/GDBM_File +%{_mandir}/man3/GDBM_File.3* +%endif + %if %{dual_life} || %{rebuild_from_scratch} %files Getopt-Long %dir %{privlib}/Getopt +%dir %{privlib}/Getopt/Long %{privlib}/Getopt/Long.pm +%{privlib}/Getopt/Long/Parser.pm %{_mandir}/man3/Getopt::Long.3* +%{_mandir}/man3/Getopt::Long::Parser.3* %endif +%files Getopt-Std +%dir %{privlib}/Getopt +%{privlib}/Getopt/Std.pm +%{_mandir}/man3/Getopt::Std.3* + +%files Hash-Util +%dir %{archlib}/Hash +%{archlib}/Hash/Util.pm +%dir %{archlib}/auto/Hash +%dir %{archlib}/auto/Hash/Util +%{archlib}/auto/Hash/Util/Util.so +%{_mandir}/man3/Hash::Util.3* + +%files Hash-Util-FieldHash +%dir %{archlib}/auto/Hash +%dir %{archlib}/auto/Hash/Util +%{archlib}/auto/Hash/Util/FieldHash +%dir %{archlib}/Hash +%dir %{archlib}/Hash/Util +%{archlib}/Hash/Util/FieldHash.pm +%{_mandir}/man3/Hash::Util::FieldHash.3* + +%files if +%{privlib}/if.pm +%{_mandir}/man3/if.3* + %files IO %dir %{archlib}/IO %{archlib}/IO.pm @@ -4681,10 +6361,12 @@ popd %if %{dual_life} || %{rebuild_from_scratch} %files IO-Compress # IO-Compress +%{_bindir}/streamzip %{_bindir}/zipdetails %dir %{privlib}/IO %dir %{privlib}/IO/Compress %{privlib}/IO/Compress/FAQ.pod +%{_mandir}/man1/streamzip.* %{_mandir}/man1/zipdetails.* %{_mandir}/man3/IO::Compress::FAQ.* # Compress-Zlib @@ -4694,8 +6376,6 @@ popd #IO-Compress-Base %dir %{privlib}/File %{privlib}/File/GlobMapper.pm -%dir %{privlib}/IO -%dir %{privlib}/IO/Compress %{privlib}/IO/Compress/Base %{privlib}/IO/Compress/Base.pm %dir %{privlib}/IO/Uncompress @@ -4706,8 +6386,6 @@ popd %{_mandir}/man3/IO::Uncompress::AnyUncompress.* %{_mandir}/man3/IO::Uncompress::Base.* # IO-Compress-Zlib -%dir %{privlib}/IO -%dir %{privlib}/IO/Compress %{privlib}/IO/Compress/Adapter %{privlib}/IO/Compress/Deflate.pm %{privlib}/IO/Compress/Bzip2.pm @@ -4717,7 +6395,6 @@ popd %{privlib}/IO/Compress/Zip %{privlib}/IO/Compress/Zip.pm %{privlib}/IO/Compress/Zlib -%dir %{privlib}/IO/Uncompress %{privlib}/IO/Uncompress/Adapter/ %{privlib}/IO/Uncompress/AnyInflate.pm %{privlib}/IO/Uncompress/Bunzip2.pm @@ -4746,10 +6423,12 @@ popd %{_mandir}/man3/IO::Socket::IP.* %endif +%if %{dual_life} || %{rebuild_from_scratch} %files IO-Zlib %dir %{privlib}/IO %{privlib}/IO/Zlib.pm %{_mandir}/man3/IO::Zlib.* +%endif %if %{dual_life} || %{rebuild_from_scratch} %files HTTP-Tiny @@ -4765,6 +6444,13 @@ popd %{_mandir}/man3/IPC::Cmd.3* %endif +%files IPC-Open3 +%dir %{privlib}/IPC +%{privlib}/IPC/Open2.pm +%{privlib}/IPC/Open3.pm +%{_mandir}/man3/IPC::Open2.3* +%{_mandir}/man3/IPC::Open3.3* + %if %{dual_life} || %{rebuild_from_scratch} %files IPC-SysV %{archlib}/auto/IPC @@ -4779,6 +6465,23 @@ popd %{_mandir}/man3/IPC::SysV.* %endif +%files I18N-Collate +%dir %{privlib}/I18N +%{privlib}/I18N/Collate.pm +%{_mandir}/man3/I18N::Collate.* + +%files I18N-Langinfo +%{archlib}/auto/I18N +%{archlib}/I18N +%{_mandir}/man3/I18N::Langinfo.* + +%files I18N-LangTags +%dir %{privlib}/I18N +%{privlib}/I18N/LangTags +%{privlib}/I18N/LangTags.pm +%{_mandir}/man3/I18N::LangTags.* +%{_mandir}/man3/I18N::LangTags::* + %if %{dual_life} || %{rebuild_from_scratch} %files JSON-PP %{_bindir}/json_pp @@ -4790,6 +6493,14 @@ popd %{_mandir}/man3/JSON::PP::Boolean.3pm* %endif +%files less +%{privlib}/less.pm +%{_mandir}/man3/less.* + +%files lib +%{archlib}/lib.pm +%{_mandir}/man3/lib.* + %if %{dual_life} || %{rebuild_from_scratch} %files libnet %dir %{privlib}/Net @@ -4820,22 +6531,9 @@ 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 +%files locale +%{privlib}/locale.pm +%{_mandir}/man3/locale.* %if %{dual_life} || %{rebuild_from_scratch} %files Locale-Maketext @@ -4866,23 +6564,20 @@ popd %{privlib}/Math/BigInt.pm %dir %{privlib}/Math/BigInt %{privlib}/Math/BigInt/Calc.pm -%{privlib}/Math/BigInt/CalcEmu.pm %{privlib}/Math/BigInt/Lib.pm +%{privlib}/Math/BigRat.pm %{_mandir}/man3/Math::BigFloat.* %{_mandir}/man3/Math::BigInt.* %{_mandir}/man3/Math::BigInt::Calc.* -%{_mandir}/man3/Math::BigInt::CalcEmu.* %{_mandir}/man3/Math::BigInt::Lib.* +%{_mandir}/man3/Math::BigRat.* +%endif +%if %{dual_life} || %{rebuild_from_scratch} %files Math-BigInt-FastCalc %{archlib}/Math %{archlib}/auto/Math %{_mandir}/man3/Math::BigInt::FastCalc.* - -%files Math-BigRat -%dir %{privlib}/Math -%{privlib}/Math/BigRat.pm -%{_mandir}/man3/Math::BigRat.* %endif %files Math-Complex @@ -4898,6 +6593,9 @@ popd %{_mandir}/man3/Memoize::* %{_mandir}/man3/Memoize.* +%files meta-notation +%{privlib}/meta_notation.pm + %if %{dual_life} || %{rebuild_from_scratch} %files MIME-Base64 %{archlib}/auto/MIME @@ -4912,7 +6610,9 @@ popd %{privlib}/Module/CoreList.pm %{privlib}/Module/CoreList.pod %{_mandir}/man3/Module::CoreList* +%endif +%if %{dual_life} || %{rebuild_from_scratch} %files Module-CoreList-tools %{_bindir}/corelist %{_mandir}/man1/corelist* @@ -4944,10 +6644,79 @@ popd %{_mandir}/man3/Module::Metadata.3pm* %endif +%files mro +%{archlib}/auto/mro +%{archlib}/mro.pm +%{_mandir}/man3/mro.3* + +%if %{with gdbm} +%files NDBM_File +%{archlib}/NDBM_File.pm +%{archlib}/auto/NDBM_File +%{_mandir}/man3/NDBM_File.3* +%endif + +%files Net +%dir %{privlib}/Net +%{privlib}/Net/hostent.pm +%{privlib}/Net/netent.pm +%{privlib}/Net/protoent.pm +%{privlib}/Net/servent.pm +%{_mandir}/man3/Net::hostent.3* +%{_mandir}/man3/Net::netent.3* +%{_mandir}/man3/Net::protoent.3* +%{_mandir}/man3/Net::servent.3* + +%if %{dual_life} || %{rebuild_from_scratch} %files Net-Ping %dir %{privlib}/Net %{privlib}/Net/Ping.pm %{_mandir}/man3/Net::Ping.* +%endif + +%files NEXT +%{privlib}/NEXT.pm +%{_mandir}/man3/NEXT.* + +%if %{with gdbm} +%files ODBM_File +%{archlib}/ODBM_File.pm +%{archlib}/auto/ODBM_File +%{_mandir}/man3/ODBM_File.3* +%endif + +%files open +%{privlib}/open.pm +%{_mandir}/man3/open.3* + +%files Opcode +%{archlib}/auto/Opcode +%{archlib}/Opcode.pm +%{archlib}/ops.pm +%{_mandir}/man3/Opcode.3* +%{_mandir}/man3/ops.3* + +%files overload +%{privlib}/overload.pm +%{_mandir}/man3/overload.3* + +%files overloading +%dir %{privlib}/overload +%{privlib}/overload/numbers.pm +%{privlib}/overloading.pm +%{_mandir}/man3/overloading.3* + +%if %{dual_life} || %{rebuild_from_scratch} +%files parent +%{privlib}/parent.pm +%{_mandir}/man3/parent.3* +%endif + +%if %{dual_life} || %{rebuild_from_scratch} +%files Params-Check +%{privlib}/Params/ +%{_mandir}/man3/Params::Check* +%endif %if %{dual_life} || %{rebuild_from_scratch} %files PathTools @@ -4960,19 +6729,10 @@ popd %endif %if %{dual_life} || %{rebuild_from_scratch} -%files Params-Check -%{privlib}/Params/ -%{_mandir}/man3/Params::Check* -%endif - -%files open -%{privlib}/open.pm -%{_mandir}/man3/open.3* - -%if %{dual_life} || %{rebuild_from_scratch} -%files parent -%{privlib}/parent.pm -%{_mandir}/man3/parent.3* +%files Perl-OSType +%dir %{privlib}/Perl +%{privlib}/Perl/OSType.pm +%{_mandir}/man3/Perl::OSType.3pm* %endif %if %{dual_life} || %{rebuild_from_scratch} @@ -4987,16 +6747,23 @@ popd %if %{dual_life} || %{rebuild_from_scratch} %files PerlIO-via-QuotedPrint -%{privlib}/PerlIO +%{privlib}/PerlIO/via %{_mandir}/man3/PerlIO::via::QuotedPrint.* %endif -%if %{dual_life} || %{rebuild_from_scratch} -%files Perl-OSType -%dir %{privlib}/Perl -%{privlib}/Perl/OSType.pm -%{_mandir}/man3/Perl::OSType.3pm* +%files ph +%{archlib}/asm +%{archlib}/asm-generic +%{archlib}/bits +%{archlib}/features*.ph +%{archlib}/gnu +%{archlib}/_h2ph_pre.ph +%ifnarch ppc64le +%{archlib}/linux %endif +%{archlib}/stdc-predef.ph +%{archlib}/sys +%{archlib}/syscall.ph %if %{dual_life} || %{rebuild_from_scratch} %files Pod-Checker @@ -5014,32 +6781,18 @@ popd %{_mandir}/man3/Pod::Escapes.* %endif +%files Pod-Functions +%dir %{privlib}/Pod +%{privlib}/Pod/Functions.pm + %files Pod-Html %license Pod-Html-license-clarification -%dir %{privlib}/Pod %{_bindir}/pod2html +%dir %{privlib}/Pod +%{privlib}/Pod/Html %{privlib}/Pod/Html.pm %{_mandir}/man1/pod2html.1* -%{_mandir}/man3/Pod::Html.* - -%if %{dual_life} || %{rebuild_from_scratch} -%files Pod-Parser -%{_bindir}/podselect -%dir %{privlib}/Pod -%{privlib}/Pod/Find.pm -%{privlib}/Pod/InputObjects.pm -%{privlib}/Pod/ParseUtils.pm -%{privlib}/Pod/Parser.pm -%{privlib}/Pod/PlainText.pm -%{privlib}/Pod/Select.pm -%{_mandir}/man1/podselect.1* -%{_mandir}/man3/Pod::Find.* -%{_mandir}/man3/Pod::InputObjects.* -%{_mandir}/man3/Pod::ParseUtils.* -%{_mandir}/man3/Pod::Parser.* -%{_mandir}/man3/Pod::PlainText.* -%{_mandir}/man3/Pod::Select.* -%endif +%{_mandir}/man3/Pod::Html* %if %{dual_life} || %{rebuild_from_scratch} %files Pod-Perldoc @@ -5088,6 +6841,15 @@ popd %{_mandir}/man3/Pod::Simple* %endif +%files POSIX +%{archlib}/auto/POSIX +%{archlib}/POSIX.* +%{_mandir}/man3/POSIX.* + +%files Safe +%{privlib}/Safe.pm +%{_mandir}/man3/Safe.* + %if %{dual_life} || %{rebuild_from_scratch} %files Scalar-List-Utils %{archlib}/List @@ -5099,18 +6861,21 @@ popd %{_mandir}/man3/Sub::Util* %endif +%files Search-Dict +%{privlib}/Search +%{_mandir}/man3/Search::* + +%files SelectSaver +%{privlib}/SelectSaver.pm +%{_mandir}/man3/SelectSaver.* + %files SelfLoader %{privlib}/SelfLoader.pm -%{_mandir}/man3/SelfLoader* +%{_mandir}/man3/SelfLoader.* -%if %{dual_life} || %{rebuild_from_scratch} -%files Sys-Syslog -%dir %{archlib}/Sys -%{archlib}/Sys/Syslog.pm -%dir %{archlib}/auto/Sys -%{archlib}/auto/Sys/Syslog -%{_mandir}/man3/Sys::Syslog.* -%endif +%files sigtrap +%{privlib}/sigtrap.pm +%{_mandir}/man3/sigtrap.* %if %{dual_life} || %{rebuild_from_scratch} %files Socket @@ -5120,6 +6885,10 @@ popd %{_mandir}/man3/Socket.3* %endif +%files sort +%{privlib}/sort.pm +%{_mandir}/man3/sort.* + %if %{dual_life} || %{rebuild_from_scratch} %files Storable %{archlib}/Storable.pm @@ -5127,6 +6896,30 @@ popd %{_mandir}/man3/Storable.* %endif +%files subs +%{privlib}/subs.pm +%{_mandir}/man3/subs.* + +%files Symbol +%{privlib}/Symbol.pm +%{_mandir}/man3/Symbol.* + +%files Sys-Hostname +%dir %{archlib}/auto/Sys +%{archlib}/auto/Sys/Hostname +%dir %{archlib}/Sys +%{archlib}/Sys/Hostname.pm +%{_mandir}/man3/Sys::Hostname.* + +%if %{dual_life} || %{rebuild_from_scratch} +%files Sys-Syslog +%dir %{archlib}/Sys +%{archlib}/Sys/Syslog.pm +%dir %{archlib}/auto/Sys +%{archlib}/auto/Sys/Syslog +%{_mandir}/man3/Sys::Syslog.* +%endif + %if %{dual_life} || %{rebuild_from_scratch} %files Term-ANSIColor %dir %{privlib}/Term @@ -5141,6 +6934,24 @@ popd %{_mandir}/man3/Term::Cap.* %endif +%if %{dual_life} || %{rebuild_from_scratch} +%files Term-Table +%dir %{privlib}/Term +%{privlib}/Term/Table* +%{_mandir}/man3/Term::Table.* +%{_mandir}/man3/Term::Table::* +%endif + +%files Term-Complete +%dir %{privlib}/Term +%{privlib}/Term/Complete.pm +%{_mandir}/man3/Term::Complete.* + +%files Term-ReadLine +%dir %{privlib}/Term +%{privlib}/Term/ReadLine.pm +%{_mandir}/man3/Term::ReadLine.* + %files Test %{privlib}/Test.pm %{_mandir}/man3/Test.* @@ -5169,7 +6980,23 @@ popd %{privlib}/Test/Simple* %{privlib}/Test/Tutorial* %{privlib}/Test/use -%{privlib}/Test2* +%dir %{privlib}/Test2 +%{privlib}/Test2.pm +%{privlib}/Test2/API* +%{privlib}/Test2/Event.pm +%{privlib}/Test2/Event/* +%{privlib}/Test2/EventFacet* +%{privlib}/Test2/Formatter* +%{privlib}/Test2/Hub* +%{privlib}/Test2/IPC* +%dir %{privlib}/Test2/Tools +%{privlib}/Test2/Tools/Tiny.pm +%{privlib}/Test2/Transition.pod +%{privlib}/Test2/Util.pm +%{privlib}/Test2/Util/ExternalMeta.pm +%{privlib}/Test2/Util/Facets2Legacy.pm +%{privlib}/Test2/Util/HashBase.pm +%{privlib}/Test2/Util/Trace.pm %{_mandir}/man3/ok* %{_mandir}/man3/Test::More* %{_mandir}/man3/Test::Builder* @@ -5177,9 +7004,119 @@ popd %{_mandir}/man3/Test::Simple* %{_mandir}/man3/Test::Tutorial* %{_mandir}/man3/Test::use::* -%{_mandir}/man3/Test2* +%{_mandir}/man3/Test2.* +%{_mandir}/man3/Test2::API* +%{_mandir}/man3/Test2::Event.* +%{_mandir}/man3/Test2::Event::* +%{_mandir}/man3/Test2::EventFacet* +%{_mandir}/man3/Test2::Formatter* +%{_mandir}/man3/Test2::Hub* +%{_mandir}/man3/Test2::IPC* +%{_mandir}/man3/Test2::Tools::Tiny* +%{_mandir}/man3/Test2::Transition* +%{_mandir}/man3/Test2::Util.* +%{_mandir}/man3/Test2::Util::ExternalMeta.* +%{_mandir}/man3/Test2::Util::Facets2Legacy.* +%{_mandir}/man3/Test2::Util::HashBase.* +%{_mandir}/man3/Test2::Util::Trace.* %endif +%if %{dual_life} || %{rebuild_from_scratch} +%files Test2-Suite +%dir %{privlib}/Test2 +%{privlib}/Test2/AsyncSubtest* +%{privlib}/Test2/Bundle* +%{privlib}/Test2/Compare* +%{privlib}/Test2/Manual* +%{privlib}/Test2/Mock.pm +%{privlib}/Test2/Plugin* +%{privlib}/Test2/Require* +%{privlib}/Test2/Suite.pm +%{privlib}/Test2/Todo.pm +%{privlib}/Test2/Tools.pm +%dir %{privlib}/Test2/Tools +%{privlib}/Test2/Tools/AsyncSubtest.pm +%{privlib}/Test2/Tools/Basic.pm +%{privlib}/Test2/Tools/Class.pm +%{privlib}/Test2/Tools/ClassicCompare.pm +%{privlib}/Test2/Tools/Compare.pm +%{privlib}/Test2/Tools/Defer.pm +%{privlib}/Test2/Tools/Encoding.pm +%{privlib}/Test2/Tools/Event.pm +%{privlib}/Test2/Tools/Exception.pm +%{privlib}/Test2/Tools/Exports.pm +%{privlib}/Test2/Tools/GenTemp.pm +%{privlib}/Test2/Tools/Grab.pm +%{privlib}/Test2/Tools/Mock.pm +%{privlib}/Test2/Tools/Ref.pm +%{privlib}/Test2/Tools/Refcount.pm +%{privlib}/Test2/Tools/Spec.pm +%{privlib}/Test2/Tools/Subtest.pm +%{privlib}/Test2/Tools/Target.pm +%{privlib}/Test2/Tools/Tester.pm +%{privlib}/Test2/Tools/Warnings.pm +%dir %{privlib}/Test2/Util +%{privlib}/Test2/Util/Grabber.pm +%{privlib}/Test2/Util/Guard.pm +%{privlib}/Test2/Util/Importer.pm +%{privlib}/Test2/Util/Ref.pm +%{privlib}/Test2/Util/Stash.pm +%{privlib}/Test2/Util/Sub.pm +%{privlib}/Test2/Util/Table.pm +%dir %{privlib}/Test2/Util/Table +%{privlib}/Test2/Util/Table/Cell.pm +%{privlib}/Test2/Util/Table/LineBreak.pm +%{privlib}/Test2/Util/Term.pm +%{privlib}/Test2/Util/Times.pm +%{privlib}/Test2/V0.pm +%{privlib}/Test2/Workflow* +%{_mandir}/man3/Test2::AsyncSubtest* +%{_mandir}/man3/Test2::Bundle* +%{_mandir}/man3/Test2::Compare* +%{_mandir}/man3/Test2::Manual* +%{_mandir}/man3/Test2::Mock.* +%{_mandir}/man3/Test2::Plugin* +%{_mandir}/man3/Test2::Require* +%{_mandir}/man3/Test2::Suite.* +%{_mandir}/man3/Test2::Todo.* +%{_mandir}/man3/Test2::Tools.* +%{_mandir}/man3/Test2::Tools::AsyncSubtest.* +%{_mandir}/man3/Test2::Tools::Basic.* +%{_mandir}/man3/Test2::Tools::Class.* +%{_mandir}/man3/Test2::Tools::ClassicCompare.* +%{_mandir}/man3/Test2::Tools::Compare.* +%{_mandir}/man3/Test2::Tools::Defer.* +%{_mandir}/man3/Test2::Tools::Encoding.* +%{_mandir}/man3/Test2::Tools::Event.* +%{_mandir}/man3/Test2::Tools::Exception.* +%{_mandir}/man3/Test2::Tools::Exports.* +%{_mandir}/man3/Test2::Tools::GenTemp.* +%{_mandir}/man3/Test2::Tools::Grab.* +%{_mandir}/man3/Test2::Tools::Mock.* +%{_mandir}/man3/Test2::Tools::Ref.* +%{_mandir}/man3/Test2::Tools::Refcount.* +%{_mandir}/man3/Test2::Tools::Spec.* +%{_mandir}/man3/Test2::Tools::Subtest.* +%{_mandir}/man3/Test2::Tools::Target.* +%{_mandir}/man3/Test2::Tools::Tester.* +%{_mandir}/man3/Test2::Tools::Warnings.* +%{_mandir}/man3/Test2::Util::Grabber.* +%{_mandir}/man3/Test2::Util::Guard.* +%{_mandir}/man3/Test2::Util::Importer.* +%{_mandir}/man3/Test2::Util::Ref.* +%{_mandir}/man3/Test2::Util::Stash.* +%{_mandir}/man3/Test2::Util::Sub.* +%{_mandir}/man3/Test2::Util::Table* +%{_mandir}/man3/Test2::Util::Times.* +%{_mandir}/man3/Test2::V0.* +%{_mandir}/man3/Test2::Workflow* +%endif + +%files Text-Abbrev +%dir %{privlib}/Text +%{privlib}/Text/Abbrev.pm +%{_mandir}/man3/Text::Abbrev.* + %if %{dual_life} || %{rebuild_from_scratch} %files Text-Balanced %dir %{privlib}/Text @@ -5203,6 +7140,10 @@ popd %{_mandir}/man3/Text::Wrap.* %endif +%files Thread +%{privlib}/Thread.pm +%{_mandir}/man3/Thread.* + %if %{dual_life} || %{rebuild_from_scratch} %files Thread-Queue %dir %{privlib}/Thread @@ -5210,6 +7151,50 @@ popd %{_mandir}/man3/Thread::Queue.* %endif +%files Thread-Semaphore +%dir %{privlib}/Thread +%{privlib}/Thread/Semaphore.pm +%{_mandir}/man3/Thread::Semaphore.* + +%files Tie +%dir %{privlib}/Tie +%{privlib}/Tie/Array.pm +%{privlib}/Tie/Handle.pm +%{privlib}/Tie/Scalar.pm +%{privlib}/Tie/StdHandle.pm +%{privlib}/Tie/SubstrHash.pm +%{_mandir}/man3/Tie::Array.* +%{_mandir}/man3/Tie::Handle.* +%{_mandir}/man3/Tie::Scalar.* +%{_mandir}/man3/Tie::StdHandle.* +%{_mandir}/man3/Tie::SubstrHash.* + +%files Tie-File +%dir %{privlib}/Tie +%{privlib}/Tie/File.pm +%{_mandir}/man3/Tie::File.* + +%files Tie-Memoize +%dir %{privlib}/Tie +%{privlib}/Tie/Memoize.pm +%{_mandir}/man3/Tie::Memoize.* + +%if %{dual_life} || %{rebuild_from_scratch} +%files Tie-RefHash +%dir %{privlib}/Tie +%{privlib}/Tie/RefHash.pm +%{_mandir}/man3/Tie::RefHash.* +%endif + +%files Time +%dir %{privlib}/Time +%{privlib}/Time/gmtime.pm +%{privlib}/Time/localtime.pm +%{privlib}/Time/tm.pm +%{_mandir}/man3/Time::gmtime.* +%{_mandir}/man3/Time::localtime.* +%{_mandir}/man3/Time::tm.* + %if %{dual_life} || %{rebuild_from_scratch} %files Time-HiRes %dir %{archlib}/Time @@ -5274,6 +7259,19 @@ popd %{_mandir}/man3/Unicode::Normalize.* %endif +%files Unicode-UCD +%dir %{privlib}/Unicode +%{privlib}/Unicode/UCD.pm +%{_mandir}/man3/Unicode::UCD.* + +%files User-pwent +%{privlib}/User +%{_mandir}/man3/User::* + +%files vars +%{privlib}/vars.pm +%{_mandir}/man3/vars.* + %if %{dual_life} || %{rebuild_from_scratch} %files version %{privlib}/version.pm @@ -5283,46 +7281,561 @@ popd %{_mandir}/man3/version::Internals.3* %endif +%files vmsish +%{privlib}/vmsish.pm +%{_mandir}/man3/vmsish.* + # Old changelog entries are preserved in CVS. %changelog -* Wed Jan 11 2023 Jitka Plesnikova - 4:5.26.3-422 +* Tue Apr 15 2025 Jitka Plesnikova - 4:5.40.2-512.1 +- 5.40.2 bump (see ) +- Resolves: RHEL-87185 + +* Wed Jan 22 2025 Jitka Plesnikova - 4:5.40.1-512 +- Resolves: RHEL-75798 +- 5.40.1 bump (see ) +- Add config.over to make build od perl reproducible +- Removed unnecessary conversion +- Add new systemtap-sdt-dtrace to build deps + +* Tue Oct 29 2024 Troy Dawson - 4:5.40.0-511 +- Bump release for October 2024 mass rebuild: + Resolves: RHEL-64018 + +* Fri Aug 09 2024 Jitka Plesnikova - 4:5.40.0-510 +- Perl 5.40 re-rebuild of bootstrapped packages + +* Thu Jul 18 2024 Jitka Plesnikova - 4:5.40.0-509 +- 5.40.0 bump (see - 4:5.38.2-508 +- Bump release for June 2024 mass rebuild + +* Wed Apr 17 2024 Jitka Plesnikova - 4:5.38.2-507 +- Disable using libdb for RHEL +- Resolves: RHEL-33071 + +* Thu Jan 25 2024 Fedora Release Engineering - 4:5.38.2-506 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 4:5.38.2-505 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jan 3 2024 Florian Weimer - 4:5.38.2-504 +- Update Compress::Raw::Zlib for improved compatibility with zlib-ng + +* Thu Nov 30 2023 Jitka Plesnikova - 4:5.38.2-503 +- 5.38.2 bump (see + or release notes + +* Tue Oct 10 2023 Jitka Plesnikova - 4:5.38.0-502 +- Make BerkeleyDB support optional + +* Wed Sep 27 2023 Jitka Plesnikova - 4:5.38.0-501 +- Fix locale when use embedding Perl in C (bug #2240458) + +* Thu Jul 20 2023 Fedora Release Engineering - 4:5.38.0-500 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Wed Jul 12 2023 Jitka Plesnikova - 4:5.38.0-499 +- Perl 5.38 re-rebuild of bootstrapped packages + +* Mon Jul 10 2023 Jitka Plesnikova - 4:5.38.0-498 +- 5.38.0 bump (see + or release notes + +* Tue May 16 2023 Petr Pisar - 4:5.36.1-497 +- Require perl(locale) in perl-POSIX (bug #2207594) + +* Mon Apr 24 2023 Jitka Plesnikova - 4:5.36.1-496 +- 5.36.1 bump (see + or release notes + +* Thu Jan 19 2023 Fedora Release Engineering - 4:5.36.0-495 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Tue Jan 17 2023 Florian Weimer - 4:5.36.0-494 +- Port Configure script to C99 + +* Tue Jan 10 2023 Jitka Plesnikova - 4:5.36.0-493 - Add definition of OPTIMIZE to .ph files, if optimizing is used - (bug#2152012) -* Mon Oct 18 2021 Jitka Plesnikova - 4:5.26.3-421 -- Fix a memory leak when compiling a regular expression with a non-word - class (bug #2014981) +* Tue Aug 30 2022 Jitka Plesnikova - 4:5.36.0-492 +- Update dependencies for perl-Module-Loaded (bz#2119130) -* Thu Jun 17 2021 Jitka Plesnikova - 4:5.26.3-420 -- Fix _resolv return value in Net-Ping (bug #1973030) +* Fri Jul 22 2022 Fedora Release Engineering - 4:5.36.0-491 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild -* Wed Jan 06 2021 Jitka Plesnikova - 4:5.26.3-419 -- Fix CVE-2020-10543 (bug #1839273) -- Fix CVE-2020-10878 (bug #1839276) -- Fix a file mode of a perl-example.stp example (bug #1913693) +* Mon Jul 18 2022 Jitka Plesnikova - 4:5.36.0-490 +- Increase release to solve conflicts with bootstrapped standalone packages + in the module -* Fri Dec 18 2020 Petr Pisar - 4:5.26.3-418 -- Fix CVE-2020-12723 (bug #1839279) +* Wed Jul 13 2022 Jitka Plesnikova - 4:5.36.0-489 +- Increase release to solve conflicts with standalone packages in the module + perl-bootstrap -* Thu Dec 03 2020 Jitka Plesnikova - 4:5.26.3-417 -- Fix Time-Local tests to pass after year 2019 (bug #1807120) -- Run-require perl(Encode) by perl-libs (bug #1903503) +* Fri Jun 03 2022 Jitka Plesnikova - 4:5.36.0-488 +- Perl 5.36 re-rebuild of bootstrapped packages -* Thu Dec 06 2018 Jitka Plesnikova - 4:5.26.3-416 -- 5.26.3 bump (bug #1655526) -- Fix CVE-2018-18311 (integer overflow leading to buffer overflow) (bug #1654920) -- Fix CVE-2018-18312 (heap buffer overflow in regcomp.c) (bug #1654922) -- Fix CVE-2018-18313 (heap buffer overflow read in regcomp.c) (bug #1654924) -- Fix CVE-2018-18314 (heap based buffer overflow) (bug #1654925) +* Mon May 30 2022 Jitka Plesnikova - 4:5.36.0-487 +- 5.36.0 bump (see + or release notes) -* Fri Nov 02 2018 Petr Pisar - 4:5.26.2-415 +* Tue Mar 15 2022 Michal Josef Špaček - 4:5.34.1-486 +- Fix minimal version for Perl debugger +- 5.34.1 bump + +* Mon Feb 07 2022 Jitka Plesnikova - 4:5.34.0-485 +- The test XS-APItest/t/printf.t was fixed by gcc-12.0.1-0.6.fc36 + +* Wed Feb 02 2022 Jitka Plesnikova - 4:5.34.0-484 +- Fix failing test XS-APItest/t/printf.t (bug#2046802) +- Disable package notes to prevent perl-* build breakage + +* Thu Jan 20 2022 Fedora Release Engineering - 4:5.34.0-483 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Mon Oct 18 2021 Petr Pisar - 4:5.34.0-482 +- Rebuild with new RPM_LD_FLAGS + +* Thu Jul 22 2021 Fedora Release Engineering - 4:5.34.0-481 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jun 23 2021 Jitka Plesnikova - 4:5.34.0-480 +- Fix GDBM_File to compile with gdbm version 1.20 (bug#1974288) + +* Wed Jun 16 2021 Jitka Plesnikova - 4:5.34.0-479 +- Updated list of *.ph files (bug#1972637) + +* Mon May 31 2021 Jitka Plesnikova - 4:5.34.0-478 +- Added perl-autouse and perl-ExtUtils-MM-Utils to perl meta-package + +* Mon May 24 2021 Jitka Plesnikova - 4:5.34.0-477 +- Perl 5.34 re-rebuild of bootstrapped packages + +* Thu May 20 2021 Jitka Plesnikova - 4:5.34.0-476 +- 5.34.0 bump (see + or release notes) + +* Tue May 04 2021 Petr Pisar - 4:5.32.1-475 +- XSLoader requires DynaLoader + +* Wed Mar 31 2021 Petr Pisar - 4:5.32.1-474 +- Fix dumping a hash entry of PL_strtab type +- Fix an arithmetic left shift of a minimal integer value (GH#18639) + +* Thu Mar 04 2021 Jitka Plesnikova - 4:5.32.1-473 +- Remove files excluded from dual-lived subpackages + +* Thu Mar 04 2021 Petr Pisar - 4:5.32.1-472 +- Protect locale tests from LANGUAGE environment variable +- Prevent the number of buckets in a hash from getting too large +- Fix a memory leak when compiling a regular expression (GH#18604) + +* Tue Feb 09 2021 Petr Pisar - 4:5.32.1-471 +- Make accessing environment by DynaLoader thread-safe +- Use duplocale() if available +- Fix fc() in Turkish locale +- Fix croaking on "my $_" when "use utf8" is in effect (GH#18449) +- Fix PERL_UNUSED_ARG() definition in XSUB.h +- Add missing entries to perldiag (GH#18276) + +* Tue Jan 26 2021 Fedora Release Engineering - 4:5.32.1-470 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Jan 25 2021 Jitka Plesnikova - 4:5.32.1-469 +- 5.32.1 bump (see + or release notes) + +* Wed Dec 02 2020 Jitka Plesnikova - 4:5.32.0-468 +- Run-require perl(Encode) by perl-libs + +* Thu Nov 19 2020 Petr Pisar - 4:5.32.0-467 +- Fix a crash in optimizing split() (GH#18232) +- Disable a dual-lived perl-Net-Ping (bug #1898132) + +* Thu Nov 12 2020 Petr Pisar - 4:5.32.0-466 +- Fix un undefined behavior in Perl_custom_op_get_field() +- Fix Config variable names in in t/op tests +- Fix fetching a magic on the stacked file test operators + +* Wed Oct 14 2020 Petr Pisar - 4:5.32.0-465 +- Fix sv_collxfrm macro to respect locale +- Fix an iterator signedness in handling an mro exception (GH#18155) +- Fix a code flow in Perl_sv_inc_nomg() +- Disable a dual-lived perl-Tie-RefHash subpackage (bug #1887937) + +* Fri Sep 25 2020 Petr Pisar - 4:5.32.0-464 +- Update perl-IO-Zlib metadata +- Disable dual-lived perl-IO-Zlib (bug #1882415) + +* Wed Sep 23 2020 Petr Pisar - 4:5.32.0-463 +- Run-require complete perl by perl-CPAN +- Remove a useless post-install dependency on perl-macros from + perl-interpreter +- Fix ownership of /usr/share/perl5/{ExtUtils,File,Module,Text,Time} directories +- Fix a buffer overflow when compiling a regular expression with a bracketed + character class with a white space +- Fix a mismatch with the recursive subpatterns (GH#18096) + +* Thu Aug 27 2020 Petr Pisar - 4:5.32.0-462 +- Fix inheritance resolution of lexial objects in a debugger (GH#17661) +- Fix a misoptimization when assignig a list in a list context (GH#17816) +- Fix handling left-hand-side undef when assigning a list (GH#16685) +- Fix a memory leak when compiling a long regular expression (GH#18054) +- Fix handling exceptions in a global destruction (GH#18063) +- Fix sorting with a block that calls return (GH#18081) + +* Fri Aug 21 2020 Jeff Law - 4:5.32.0-461 +- Re-enable LTO + +* Thu Aug 06 2020 Petr Pisar - 4:5.32.0-460 +- Fix an IO::Handle spurious error reported for regular file handles (GH#18019) + +* Wed Aug 05 2020 Petr Pisar - 4:5.32.0-459 +- Do not use C compiler reserved identifiers +- Fix SvUV_nomg() macro definition +- Fix SvTRUE() documentation +- Fix ext/XS-APItest/t/utf8_warn_base.pl tests +- Fix IO::Handle::error() to report write errors (GH#6799) +- Fix a link to Unicode Technical Standard #18 (GH#17881) +- Fix setting a non-blocking mode in IO::Socket::UNIX (GH#17787) +- Fix running actions after stepping in a debugger (GH#17901) +- Fix a buffer size for asctime_r() and ctime_r() functions +- Prevent from an integer overflow in RenewDouble() macro +- Fix a buffer overread in when reallocating formats (GH#17844) +- Fix a number of arguments passed to a BOOT XS subroutine (GH#17755) + +* Tue Jul 28 2020 Fedora Release Engineering - 4:5.32.0-458 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jun 30 2020 Jeff Law - 4:5.32.0-457 +- Disable LTO + +* Fri Jun 26 2020 Jitka Plesnikova - 4:5.32.0-456 +- Perl 5.32 re-rebuild of bootstrapped packages + +* Mon Jun 22 2020 Jitka Plesnikova - 4:5.32.0-455 +- 5.32.0 bump (see + or release notes) + +* Tue Jun 02 2020 Jitka Plesnikova - 4:5.30.3-454 +- 5.30.3 bump (see + for release notes) +- Security release fixes CVE-2020-10543, CVE-2020-10878 and CVE-2020-12723 + +* Fri Mar 27 2020 Petr Pisar - 4:5.30.2-453 +- Make perl-macros package noarch +- Fix a directory ownership in perl-Sys-Hostname +- Work around a glibc bug in caching LC_MESSAGES (GH#17081) +- Fix POSIX:setlocale() documentation +- Prevent from an integer overflow in POSIX::SigSet() +- Fix thread-safety of IO::Handle (GH#14816) +- Close :unix PerlIO layers properly (bug #987118) +- Fix sorting tied arrays (GH#17496) +- Fix a spurious warning about a multidimensional syntax (GH#16535) +- Normalize "#!/perl" shebangs in the tests +- Fix a warning about an uninitialized value in B::Deparse (GH#17537) + +* Mon Mar 16 2020 Jitka Plesnikova - 4:5.30.2-452 +- 5.30.2 bump (see + for release notes) + +* Mon Feb 03 2020 Petr Pisar - 4:5.30.1-451 +- Subpackage AutoLoader and AutoSplit +- Subpackage ExtUtils-Constant +- Subpackage NEXT +- Subpackage Tie-RefHash +- Subpackage autouse +- Subpackage base and fields +- Subpackage Dumpvalue +- Subpackage encoding-warnings +- Subpackage if +- Subpackage I18N-Collate +- Subpackage I18N-LangTags +- Subpackage lib +- Subpackage Safe +- Subpackage Search-Dict +- Subpackage Term-Complete +- Subpackage Term-ReadLine +- Subpackage Text-Abbrev +- Subpackage Thread-Semaphore +- Subpackage Tie-File +- Move attributes module into perl-libs +- Subpackage GDBM_File +- Subpackage NDBM_File +- Subpackage ODBM_File +- Move File::Glob module into perl-libs +- Subpackage File-DosGlob +- Subpackage File-Find +- Subpackage IPC-Open3 +- Subpackage B +- Subpackage Fcntl +- Subpackage FileCache +- Subpackage Hash-Util +- Subpackage Hash-Util-FieldHash +- Subpackage I18N-Langinfo +- Subpackage mro +- Subpackage Opcode +- Move PerlIO to perl-libs +- Subpackage POSIX +- Subpackage Sys-Hostname +- Move Tie::Hash::NamedCapture to perl-libs +- Subpackage Tie-Memoize +- Subpackage Benchmark +- Subpackage blib +- Move charnames to perl-libs +- Subpackage File-stat +- Subpackage Class-Struct +- Subpackage Net::*ent modules into perl-Net +- Subpackage User::* modules into perl-User-pwent +- Subpackage Time +- Subpackage base Tie::* modules into perl-Tie +- Move Config to perl-libs +- Move warnings::register to perl-libs +- Subpackage DBM_Filter modules +- Subpackage FileHandle +- Subpackage Thread +- Subpackage Unicode::UCD +- Subpackage diagnostics and move splain tool from perl-utils there +- Subpackage FindBin +- Subpackage File::Basename +- Subpackage File::Compare +- Subpackage File::Copy +- Subpackage overload +- Subpackage overloading +- Subpackage Config::Extensions +- Subpackage English +- Subpackage Getopt::Std +- Subpackage locale +- Subpackage deprecate +- Move AnyDBM_File, SDBM_File, Tie::Hash to perl-libs because of dbmopen function +- Subpackage DirHandle +- Subpackage Symbol +- Subpackage SelectSaver +- Move UNIVERSAL to perl-libs +- Subpackage DynaLoader +- Subpackage filetest +- Subpackage less +- Subpackage meta_notation +- Subpackage sigtrap +- Subpackage sort +- Subpackage subs +- Subpackage vars +- Subpackage vmsish +- Subpackage Pod-Functions +- Move feature to perl-libs +- Move debugger files into perl-debugger +- Move perlxs* POD to perl-ExtUtils-ParseXS +- Move ExtUtils/typemap to perl-devel +- Remove ExtUtils::XSSymSet manual without the code (GH#17424) +- Reduce and move remaining ph files to perl-ph +- Move most of the generic POD files to perl-doc + +* Wed Jan 29 2020 Fedora Release Engineering - 4:5.30.1-450 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Nov 29 2019 Petr Pisar - 4:5.30.1-449 +- Fix a memory leak when compiling a regular expression with a non-word class + (GH#17218) + +* Tue Nov 12 2019 Petr Pisar - 4:5.30.1-448 +- Fix overloading for binary and octal floats (RT#125557) +- Fix handling undefined array members in Dumpvalue (RT#134441) +- Fix taint mode documentation regarding @INC +- Fix handling a layer argument in Tie::StdHandle::BINMODE() (RT#132475) +- Fix an unintended upgrade to UTF-8 in the middle of a transliteration +- Fix a race in File::stat() tests (GH#17234) +- Fix a buffer overread when parsing a number (GH#17279) +- Fix GCC 10 version detection (GH#17295) + +* Mon Nov 11 2019 Jitka Plesnikova - 4:5.30.1-447 +- 5.30.1 bump (see + for release notes) + +* Wed Sep 11 2019 Petr Pisar - 4:5.30.0-446 +- Fix a memory leak when matching a UTF-8 regular expression (RT#134390) +- Fix a detection for futimes (RT#134432) + +* Mon Sep 02 2019 Petr Pisar - 4:5.30.0-445 +- Adjust spec file to rpm-build-4.15.0-0.rc1.1 +- Fix parsing a Unicode property name when compiling a regular expression +- Fix a buffer overread when parsing a Unicode property while compiling + a regular expression (RT#134133) +- Do not interpret 0x and 0b prefixes when numifying strings (RT#134230) +- Fix a buffer overread when compiling a regular expression with many escapes + (RT#134325) +- Fix a buffer overflow when compiling a regular expression with many branches + (RT#134329) +- Correct a misspelling in perlrebackslash documentation (RT#134395) + +* Thu Aug 22 2019 Petr Pisar - 4:5.30.0-444 +- Fix a NULL pointer dereference in PerlIOVia_pushed() +- Fix a crash when setting $@ on unwinding a call stack (RT#134266) +- Fix parsing a denominator when parsing a Unicode property name +- Fix a documentation about a future API change +- Do not run File-Find tests in parallel + +* Wed Aug 07 2019 Petr Pisar - 4:5.30.0-443 +- Fix propagating non-string variables in an exception value (RT#134291) +- Include trailing zero in scalars holding trie data (RT#134207) +- Fix a use after free in /(?{...})/ (RT#134208) +- Fix a use after free in debugging output of a collation +- Fix file mode of a perl-example.stp example + +* Fri Jul 26 2019 Fedora Release Engineering - 4:5.30.0-442 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Wed Jul 17 2019 Petr Pisar - 4:5.30.0-441 +- Fix a test for a crash in SIGALARM handler when waiting on a child process to + be closed (RT#122112) +- Fix a crash on an uninitialized warning when processing a multideref node + (RT#134275) +- Preserve append mode when opening anonymous files (RT#134221) +- Run Turkish locale tests + +* Tue Jun 25 2019 Petr Pisar - 4:5.30.0-440 +- Fix an out-of-buffer read while parsing a Unicode property name (RT#134134) +- Do not panic when outputting a warning (RT#134059) +- Fix memory handling when parsing string literals +- Fix an undefined behavior in shifting IV variables +- Fix stacking file test operators (CPAN RT#127073) +- Fix a crash in SIGALARM handler when waiting on a child process to be closed + (RT#122112) +- Fix a crash with a negative precision in sprintf function (RT#134008) +- Fix an erroneous assertion on OP_SCALAR (RT#134048) +- Prevent from wrapping a width in a numeric format string (RT#133913) +- Fix subroutine protypes to track reference aliases (RT#134072) +- Improve retrieving a scalar value of a variable modified in a signal handler + (RT#134035) +- Fix changing packet destination sent from a UDP IO::Socket object (RT#133936) +- Fix a stack underflow in readline() if passed an empty array as an argument + (#RT133989) +- Fix setting supplementar group IDs (RT#134169) +- Fix %%{^CAPTURE_ALL} to be an alias for %%- variable (RT#131867) +- Fix %%{^CAPTURE} value when used after @{^CAPTURE} (RT#134193) + +* Tue Jun 11 2019 Jitka Plesnikova - 4:5.30.0-439 +- Define %%perl_vendor*, %%perl_archlib, %%perl_privlib, because in rpm + 4.15 those are no longer defined + +* Sun Jun 02 2019 Jitka Plesnikova - 4:5.30.0-438 +- Perl 5.30 re-rebuild of bootstrapped packages + +* Wed May 22 2019 Jitka Plesnikova , Petr Pisar - 4:5.30.0-437 +- 5.30.0 bump (see + for release notes) +- Make site paths specific to Perl minor version (e.g. + /usr/local/share/perl5/5.30) to prevent from an ABI clash after upgrade + to an ABI-incompatible Perl + +* Tue Apr 23 2019 Jitka Plesnikova - 4:5.28.2-436 +- 5.28.2 bump (see + for release notes) + +* Fri Apr 05 2019 Petr Pisar - 4:5.28.1-435 +- Fix a leak when compiling a typed hash dereference +- Fix a buffer overread when handling a scope error in qr/\(?{/ (RT#133879) +- Fix a buffer overread when parsing a regular expression with an unknown + character name (RT#133880) +- Fix mbstate_t initialization in POSIX::mblen (RT#133928) +- Fix a memory leak when cloning a regular expression +- Fix a memory leak when spawning threads in a BEGIN phase +- Fix a memory leak when assigning a regular expression to a non-copy-on-write string +- Fix a memory leak when assignig to a localized ${^WARNING_BITS} +- Fix a memory leak when parsing misindented here-documents +- Fix a memory leak in package name lookup (RT#133977) +- Fix a memory leak when deletion in a tied hash dies +- Fix a crash when matching case insensitively (RT#133892) +- Fix a memory leak when warning about malformed UTF-8 string + +* Tue Mar 05 2019 Björn Esser - 4:5.28.1-434 +- Add explicit Requires: libxcrypt-devel to devel sub-package (bug #1666098) + +* Fri Feb 22 2019 Petr Pisar - 4:5.28.1-433 +- Fix a crash when parsing #line directives with large numbers in eval + (RT#131562) +- Fix setting magic when changing $^R (RT#133782) +- Fix a race when loading XS modules +- Fix extending a stack in Perl parser (RT#133778) + +* Fri Feb 01 2019 Fedora Release Engineering - 4:5.28.1-432 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Wed Jan 16 2019 Petr Pisar - 4:5.28.1-431 +- Remove a fix for un undefined C behavior in NULL pointer arithmetics + (RT#133223) because it changes perl ABI + +* Mon Jan 14 2019 Petr Pisar - 4:5.28.1-430 +- Adjust tests to gdbm-1.15 using an upstream fix (RT#133295) +- Do not close an IPC pipe that already has a desired descriptor (RT#133726) +- Fix reporting a line number for non-terminated prototypes (RT#133524) +- Fix first eof() return value (RT#133721) +- Fix a crash when compiling a malformed form (RT#132158) +- Fix an undefined C behavior in NULL pointer arithmetics (RT#133223) +- Prevent long jumps from clobbering local variables (RT#133575) +- Fix a mismatch with a case-insesitive regular expression on a text with ligatures + (RT#133756) +- Fix the interpreter path if procfs is not mounted (RT#133573) + +* Mon Jan 14 2019 Björn Esser - 4:5.28.1-429 +- Rebuilt for libcrypt.so.2 (#1666033) + +* Sun Jan 13 2019 Björn Esser - 4:5.28.1-428 +- Add BuildRequires: gcc-c++ for tests + +* Fri Nov 30 2018 Petr Pisar - 4:5.28.1-427 +- Fix script run matching to allow ASCII digits in scripts that use their own in + addition (RT#133547) +- Fix PathTools tests to cope with ESTALE error (RT#133534) +- Fix an undefined behaviour in S_hv_delete_common() +- Fix in-place edit to replace files on a successful perl exit status + (bug #1650041) +- Fix compiling regular expressions that contain both compile- and run-time + compiled code blocks (RT#133687) + +* Fri Nov 30 2018 Jitka Plesnikova - 4:5.28.1-426 +- 5.28.1 bump +- Fix CVE-2018-18312 (heap-buffer-overflow write in regcomp.c) + +* Fri Nov 02 2018 Petr Pisar - 4:5.28.0-425 - Install Encode developmental files when installing complete Perl - (bug #1645225) -* Tue Oct 02 2018 Jitka Plesnikova - 4:5.26.2-414 -- Fix annocheck failure by passing CFLAGS to dtrace (bug #1630617) +* Thu Oct 25 2018 Jitka Plesnikova - 4:5.28.0-424 +- Fix annocheck failure by passing CFLAGS to dtrace -* Mon Jul 09 2018 Petr Pisar - 4:5.26.2-413 +* Mon Sep 24 2018 Petr Pisar - 4:5.28.0-423 +- Fix upack "u" of invalid data (RT#132655) + +* Mon Sep 10 2018 Petr Pisar - 4:5.28.0-422 +- Revert a fix for a buffer overrun in deprecated S_is_utf8_common() + (bug #1627091) + +* Wed Sep 05 2018 Petr Pisar - 4:5.28.0-421 +- Fix a buffer overrun in deprecated S_is_utf8_common() +- Fix a buffer overrun in deprecated utf8_to_uvchr() +- Fix a time race in Time-HiRes/t/itimer.t test +- Fix matching an ASCII digit followed by a non-ASCII digit using a script run +- Fix Time::Piece to handle objects in overloaded methods correctly +- Fix an assignment to a lexical variable in multiconcatenation expressions + (RT#133441) +- Fix a spurious warning about uninitialized value in warn (RT#132683) +- Require Devel::PPPort by perl-devel for h2xs script + +* Wed Aug 01 2018 Petr Pisar - 4:5.28.0-420 +- Fix a file descriptor leak in in-place edits (RT#133314) + +* Tue Jul 17 2018 Petr Pisar - 4:5.28.0-419 +- Fix index() and rindex() optimization in given-when boolean context + (RT#133368) +- Fix build conditions in locale.c + +* Fri Jul 13 2018 Fedora Release Engineering - 4:5.28.0-418 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Mon Jul 09 2018 Petr Pisar - 4:5.28.0-417 - Adjust tests to gdbm-1.15 (RT#133295) - Fix an integer wrap when allocating memory for an environment variable (RT#133204) @@ -5330,20 +7843,32 @@ popd expression while ISO-8859-1 locale is in effect - Fix invoking a check for wide characters while ISO-8859-1 locale is in effect -* Fri May 25 2018 Petr Pisar - 4:5.26.2-412 +* Wed Jun 27 2018 Jitka Plesnikova - 4:5.28.0-416 +- Stop providing old perl(MODULE_COMPAT_5.26.*) + +* Tue Jun 26 2018 Jitka Plesnikova - 4:5.28.0-415 +- 5.28.0 bump (see + for release notes) + +* Fri May 25 2018 Petr Pisar - 4:5.26.2-414 +- Fix an infinite loop in the regular expression compiler (RT#133185) + +* Fri May 18 2018 Jitka Plesnikova - 4:5.26.2-413 +- Correct license tags of perl-libs (bug #1579524) + +* Thu Apr 19 2018 Petr Pisar - 4:5.26.2-412 - perl-devel requires redhat-rpm-config because of hardened compiler profiles (bug #1557667) - Do not clobber file bytes in :encoding layer (RT#132833) - Fix line numbers in multi-line s/// (RT#131930) - Fix parsing extended bracketed character classes (RT#132167) - Fix a possibly unitialized memory read in the Perl parser (RT#133074) -- Fix an infinite loop in the regular expression compiler (RT#133185) -* Fri May 18 2018 Jitka Plesnikova - 4:5.26.2-411 -- Correct license tags of perl-libs (bug #1579524) - -* Mon Apr 16 2018 Petr Pisar - 4:5.26.2-410 +* Mon Apr 16 2018 Petr Pisar - 4:5.26.2-411 - 5.26.2 bump + +* Mon Mar 26 2018 Petr Pisar - 4:5.26.2-410.RC1 +- 5.26.2-RC1 bump - Fix CVE-2018-6913 (heap buffer overflow in pp_pack.c) (bug #1567776) - Fix CVE-2018-6798 (heap read overflow in regexec.c) (bug #1567777) - Fix CVE-2018-6797 (heap write overflow in regcomp.c) (bug #1567778) diff --git a/SOURCES/perl.stp b/perl.stp similarity index 100% rename from SOURCES/perl.stp rename to perl.stp diff --git a/sources b/sources new file mode 100644 index 0000000..11ff635 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (perl-5.40.2.tar.xz) = 1324b119e4370bbeb47a343d152f46c637addb0373ff07f0e214aa9d5912c03cd2bd23987a6e86d43453166412d3a03a52e780201941f679ef4186df16590e41