5.26.2-RC1 bump

This commit is contained in:
Petr Písař 2018-03-26 12:14:05 +02:00
parent 89b92bf4f0
commit 3abe685779
14 changed files with 350 additions and 1149 deletions

1
.gitignore vendored
View File

@ -25,3 +25,4 @@ perl-5.12.1.tar.gz
/perl-5.24.1.tar.bz2
/perl-5.26.0.tar.bz2
/perl-5.26.1.tar.bz2
/perl-5.26.2-RC1.tar.bz2

View File

@ -1,5 +1,34 @@
%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) \
@ -182,6 +211,8 @@ 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) \
@ -192,6 +223,8 @@ 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) \
@ -213,6 +246,8 @@ 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) \
@ -220,6 +255,8 @@ 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) \
@ -230,6 +267,8 @@ 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) \
@ -251,6 +290,8 @@ 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) \
@ -263,6 +304,8 @@ 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 \
@ -322,6 +365,8 @@ 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) \
@ -607,6 +652,8 @@ 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) \
@ -626,251 +673,6 @@ Requires: perl(strict) \
Requires: perl(warnings) \
Provides: perl(HTTP::Tiny) = 0.070 \
%{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.026000 \
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.026000 \
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.16 \
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.16 \
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.68 \
Provides: perl(User::grent) = 1.01 \
Provides: perl(User::pwent) = 1.00 \
Provides: perl(_charnames) = 1.44 \
Provides: perl(arybase) = 0.12 \
Provides: perl(attributes) = 0.29 \
Provides: perl(autouse) = 1.11 \
Provides: perl(base) = 2.25 \
Provides: perl(blib) = 1.06 \
Provides: perl(bytes) = 1.05 \
Provides: perl(bytes_heavy.pl) \
Provides: perl(charnames) = 1.44 \
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_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_IO \
Requires: perl(:VERSION) >= 5.6.0 \
Requires: perl(Carp) \
@ -1004,6 +806,8 @@ 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) \
@ -1034,6 +838,8 @@ 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) \
@ -1104,6 +910,8 @@ 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) \
@ -1129,6 +937,8 @@ 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) \
@ -1173,9 +983,9 @@ Requires: perl(strict) \
Requires: perl(vars) \
Requires: perl(version) \
Requires: perl(warnings) \
Provides: perl(Module::CoreList) = 5.20170530 \
Provides: perl(Module::CoreList::TieHashDelta) = 5.20170530 \
Provides: perl(Module::CoreList::Utils) = 5.20170530 \
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) \
@ -1261,6 +1071,8 @@ 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) \
@ -1459,6 +1271,8 @@ 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) \
@ -1475,12 +1289,16 @@ 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) \
@ -1496,6 +1314,8 @@ 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) \
@ -1764,6 +1584,8 @@ 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) \
@ -1785,6 +1607,8 @@ 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) \
@ -1805,6 +1629,8 @@ 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) \
@ -1814,6 +1640,8 @@ 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) \
@ -1866,6 +1694,8 @@ 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) \
@ -1894,6 +1724,224 @@ 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) \
@ -1944,10 +1992,11 @@ Requires: perl(vars) \
Requires: perl(integer) \
Requires: perl(strict) \
Requires: perl(warnings) \
Provides: perl(:MODULE_COMPAT_5.24.0) \
Provides: perl(:MODULE_COMPAT_5.24.1) \
Provides: perl(:MODULE_COMPAT_5.26.0) \
Provides: perl(:VERSION) = 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) \
@ -1961,6 +2010,8 @@ 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 \
@ -2013,6 +2064,8 @@ 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) \
@ -2020,6 +2073,8 @@ 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) \

View File

@ -1,69 +0,0 @@
From af6344c9702b589162d8672ae24130231698acae Mon Sep 17 00:00:00 2001
From: Yves Orton <demerphq@gmail.com>
Date: Sun, 10 Sep 2017 10:59:05 +0200
Subject: [PATCH] fix #132017 - OPFAIL insert needs to set flags to 0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
why reginsert doesnt do this stuff I dont know.
Petr Písař: Ported to 5.26.1.
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
regcomp.c | 6 +++++-
t/re/pat.t | 5 ++++-
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/regcomp.c b/regcomp.c
index b2de7f0..1df3df8 100644
--- a/regcomp.c
+++ b/regcomp.c
@@ -11724,6 +11724,7 @@ S_regpiece(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
if (max < min) { /* If can't match, warn and optimize to fail
unconditionally */
reginsert(pRExC_state, OPFAIL, orig_emit, depth+1);
+ orig_emit->flags = 0;
if (PASS2) {
ckWARNreg(RExC_parse, "Quantifier {n,m} with n > m can't match");
NEXT_OFF(orig_emit)= regarglen[OPFAIL] + NODE_STEP_REGNODE;
@@ -19343,8 +19344,11 @@ Perl_regprop(pTHX_ const regexp *prog, SV *sv, const regnode *o, const regmatch_
/* add on the verb argument if there is one */
if ( ( k == VERB || OP(o) == ACCEPT || OP(o) == OPFAIL ) && o->flags) {
- Perl_sv_catpvf(aTHX_ sv, ":%" SVf,
+ if ( ARG(o) )
+ Perl_sv_catpvf(aTHX_ sv, ":%" SVf,
SVfARG((MUTABLE_SV(progi->data->data[ ARG( o ) ]))));
+ else
+ sv_catpvs(sv, ":NULL");
}
#else
PERL_UNUSED_CONTEXT;
diff --git a/t/re/pat.t b/t/re/pat.t
index 2510eab..dda2a5a 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 => 838; # Update this when adding/deleting tests.
+plan tests => 839; # Update this when adding/deleting tests.
run_tests() unless caller;
@@ -1921,6 +1921,9 @@ EOP
pos($text) = 3;
ok(scalar($text !~ m{(~*=[a-z]=)}g), "RT #131575");
}
+ {
+ fresh_perl_is('"AA" =~ m/AA{1,0}/','',{},"handle OPFAIL insert properly");
+ }
} # End of sub run_tests
--
2.13.6

View File

@ -1,4 +1,4 @@
From 4f08ed80a1ad3deb06ce5d8d20cc2d176dcbced0 Mon Sep 17 00:00:00 2001
From 07ebe9c4fb1028d17e61caabe8c15abd0cd48983 Mon Sep 17 00:00:00 2001
From: Yves Orton <demerphq@gmail.com>
Date: Thu, 29 Jun 2017 11:31:14 +0200
Subject: [PATCH] Parse caret vars with subscripts the same as normal vars
@ -16,6 +16,8 @@ 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ř <ppisar@redhat.com>
---
t/base/lex.t | 28 +++++++++++++++++++++++++++-
@ -23,14 +25,14 @@ Signed-off-by: Petr Písař <ppisar@redhat.com>
2 files changed, 52 insertions(+), 22 deletions(-)
diff --git a/t/base/lex.t b/t/base/lex.t
index e154aca..89d46df 100644
index 99fd3bb..ae17bbd 100644
--- a/t/base/lex.t
+++ b/t/base/lex.t
@@ -1,6 +1,6 @@
#!./perl
-print "1..109\n";
+print "1..116\n";
-print "1..112\n";
+print "1..119\n";
$x = 'x';
@ -68,10 +70,10 @@ index e154aca..89d46df 100644
# 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 0dcf623..ace92e3 100644
index ee9c464..aff785b 100644
--- a/toke.c
+++ b/toke.c
@@ -9352,19 +9352,36 @@ S_scan_ident(pTHX_ char *s, char *dest, STRLEN destlen, I32 ck_uni)
@@ -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... */
@ -116,7 +118,7 @@ index 0dcf623..ace92e3 100644
if (ckWARN(WARN_AMBIGUOUS) && keyword(dest, d - dest, 0)) {
const char * const brack =
(const char *)
@@ -9383,19 +9400,6 @@ S_scan_ident(pTHX_ char *s, char *dest, STRLEN destlen, I32 ck_uni)
@@ -9447,19 +9464,6 @@ S_scan_ident(pTHX_ char *s, char *dest, STRLEN destlen, I32 ck_uni)
return s;
}
}
@ -137,5 +139,5 @@ index 0dcf623..ace92e3 100644
if ( !tmp_copline )
tmp_copline = CopLINE(PL_curcop);
--
2.9.4
2.14.3

View File

@ -1,4 +1,4 @@
From 9b7d3fdf8458e3581b4fb3a6c557b4db4e1f31e8 Mon Sep 17 00:00:00 2001
From edea384e57453b0a62de58445eed1fded18c1cca Mon Sep 17 00:00:00 2001
From: Yves Orton <demerphq@gmail.com>
Date: Thu, 29 Jun 2017 13:20:49 +0200
Subject: [PATCH] add an additional test for whitespace tolerance in caret
@ -7,20 +7,22 @@ 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ř <ppisar@redhat.com>
---
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 89d46df..de33e7a 100644
index ae17bbd..414aa1f 100644
--- a/t/base/lex.t
+++ b/t/base/lex.t
@@ -1,6 +1,6 @@
#!./perl
-print "1..116\n";
+print "1..117\n";
-print "1..119\n";
+print "1..120\n";
$x = 'x';
@ -39,5 +41,5 @@ index 89d46df..de33e7a 100644
print "not " if "${^TEST}[0]" ne "splat[0]";
print "ok $test\n"; $test++;
--
2.9.4
2.14.3

View File

@ -1,4 +1,4 @@
From cbe3025c652289aee2f2f4145f882be5b33a27ee Mon Sep 17 00:00:00 2001
From 3e6e57e89f298f450cbe14c61609f08fc01bf233 Mon Sep 17 00:00:00 2001
From: Zefram <zefram@fysh.org>
Date: Sat, 16 Dec 2017 05:33:20 +0000
Subject: [PATCH] perform system() arg processing before fork
@ -14,7 +14,7 @@ $$, 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.1 from
Petr Písař: Ported to 5.26.2-RC1 from
64def2aeaeb63f92dadc6dfa33486c1d7b311963.
Signed-off-by: Petr Písař <ppisar@redhat.com>
@ -53,19 +53,19 @@ index 87961f1..07e552a 100644
}
PERL_FLUSHALL_FOR_CHILD;
diff --git a/t/op/exec.t b/t/op/exec.t
index 1155439..45237e9 100644
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 => 25);
+plan(tests => 28);
-plan(tests => 34);
+plan(tests => 37);
my $Perl = which_perl();
@@ -156,6 +156,19 @@ TODO: {
@@ -177,6 +177,19 @@ TODO: {
"exec failure doesn't terminate process");
}
@ -86,5 +86,5 @@ index 1155439..45237e9 100644
exec $Perl, '-le', qq{${quote}print 'ok $test - exec PROG, LIST'${quote}};
fail("This should never be reached if the exec() worked");
--
2.13.6
2.14.3

View File

@ -1,299 +0,0 @@
From 99b847695211f825df6299aa9da91f9494f741e2 Mon Sep 17 00:00:00 2001
From: Tony Cook <tony@develop-help.com>
Date: Thu, 1 Jun 2017 15:11:27 +1000
Subject: [PATCH] [perl #131221] improve duplication of :via handles
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Previously duplication (as with open ... ">&...") would fail
unless the user supplied a GETARG, which wasn't documented, and
resulted in an attempt to free and unreferened scalar if supplied.
Cloning on thread creation was simply broken.
We now handle GETARG correctly, and provide a useful default if it
returns nothing.
Cloning on thread creation now duplicates the appropriate parts of the
parent thread's handle.
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
MANIFEST | 1 +
ext/PerlIO-via/t/thread.t | 73 +++++++++++++++++++++++++++++++++++++++++++++++
ext/PerlIO-via/t/via.t | 56 +++++++++++++++++++++++++++++++++++-
ext/PerlIO-via/via.pm | 2 +-
ext/PerlIO-via/via.xs | 55 +++++++++++++++++++++++++++++++----
5 files changed, 179 insertions(+), 8 deletions(-)
create mode 100644 ext/PerlIO-via/t/thread.t
diff --git a/MANIFEST b/MANIFEST
index 8c4950e..d39f992 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -4056,6 +4056,7 @@ ext/PerlIO-scalar/scalar.xs PerlIO layer for scalars
ext/PerlIO-scalar/t/scalar.t See if PerlIO::scalar works
ext/PerlIO-scalar/t/scalar_ungetc.t Tests for PerlIO layer for scalars
ext/PerlIO-via/hints/aix.pl Hint for PerlIO::via for named architecture
+ext/PerlIO-via/t/thread.t See if PerlIO::via works with threads
ext/PerlIO-via/t/via.t See if PerlIO::via works
ext/PerlIO-via/via.pm PerlIO layer for layers in perl
ext/PerlIO-via/via.xs PerlIO layer for layers in perl
diff --git a/ext/PerlIO-via/t/thread.t b/ext/PerlIO-via/t/thread.t
new file mode 100644
index 0000000..e4358f9
--- /dev/null
+++ b/ext/PerlIO-via/t/thread.t
@@ -0,0 +1,73 @@
+#!perl
+BEGIN {
+ unless (find PerlIO::Layer 'perlio') {
+ print "1..0 # Skip: not perlio\n";
+ exit 0;
+ }
+ require Config;
+ unless ($Config::Config{'usethreads'}) {
+ print "1..0 # Skip -- need threads for this test\n";
+ exit 0;
+ }
+ if (($Config::Config{'extensions'} !~ m!\bPerlIO/via\b!) ){
+ print "1..0 # Skip -- Perl configured without PerlIO::via module\n";
+ exit 0;
+ }
+}
+
+use strict;
+use warnings;
+use threads;
+
+my $tmp = "via$$";
+
+END {
+ 1 while unlink $tmp;
+}
+
+use Test::More tests => 2;
+
+our $push_count = 0;
+
+{
+ open my $fh, ">:via(Test1)", $tmp
+ or die "Cannot open $tmp: $!";
+ $fh->autoflush;
+
+ print $fh "AXAX";
+
+ # previously this would crash
+ threads->create(
+ sub {
+ print $fh "XZXZ";
+ })->join;
+
+ print $fh "BXBX";
+ close $fh;
+
+ open my $in, "<", $tmp;
+ my $line = <$in>;
+ close $in;
+
+ is($line, "AYAYYZYZBYBY", "check thread data delivered");
+
+ is($push_count, 1, "PUSHED not called for dup on thread creation");
+}
+
+package PerlIO::via::Test1;
+
+sub PUSHED {
+ my ($class) = @_;
+ ++$main::push_count;
+ bless {}, $class;
+}
+
+sub WRITE {
+ my ($self, $data, $fh) = @_;
+ $data =~ tr/X/Y/;
+ $fh->autoflush;
+ print $fh $data;
+ return length $data;
+}
+
+
diff --git a/ext/PerlIO-via/t/via.t b/ext/PerlIO-via/t/via.t
index 6787e11..80577df 100644
--- a/ext/PerlIO-via/t/via.t
+++ b/ext/PerlIO-via/t/via.t
@@ -17,7 +17,7 @@ use warnings;
my $tmp = "via$$";
-use Test::More tests => 18;
+use Test::More tests => 26;
my $fh;
my $a = join("", map { chr } 0..255) x 10;
@@ -84,6 +84,60 @@ is( $obj, 'Foo', 'search for package Foo' );
open $fh, '<:via(Bar)', "bar";
is( $obj, 'PerlIO::via::Bar', 'search for package PerlIO::via::Bar' );
+{
+ # [perl #131221]
+ ok(open(my $fh1, ">", $tmp), "open $tmp");
+ ok(binmode($fh1, ":via(XXX)"), "binmode :via(XXX) onto it");
+ ok(open(my $fh2, ">&", $fh1), "dup it");
+ close $fh1;
+ close $fh2;
+
+ # make sure the old workaround still works
+ ok(open($fh1, ">", $tmp), "open $tmp");
+ ok(binmode($fh1, ":via(YYY)"), "binmode :via(YYY) onto it");
+ ok(open($fh2, ">&", $fh1), "dup it");
+ print $fh2 "XZXZ";
+ close $fh1;
+ close $fh2;
+
+ ok(open($fh1, "<", $tmp), "open $tmp for check");
+ { local $/; $b = <$fh1> }
+ close $fh1;
+ is($b, "XZXZ", "check result is from non-filtering class");
+
+ package PerlIO::via::XXX;
+
+ sub PUSHED {
+ my $class = shift;
+ bless {}, $class;
+ }
+
+ sub WRITE {
+ my ($self, $buffer, $handle) = @_;
+
+ print $handle $buffer;
+ return length($buffer);
+ }
+ package PerlIO::via::YYY;
+
+ sub PUSHED {
+ my $class = shift;
+ bless {}, $class;
+ }
+
+ sub WRITE {
+ my ($self, $buffer, $handle) = @_;
+
+ $buffer =~ tr/X/Y/;
+ print $handle $buffer;
+ return length($buffer);
+ }
+
+ sub GETARG {
+ "XXX";
+ }
+}
+
END {
1 while unlink $tmp;
}
diff --git a/ext/PerlIO-via/via.pm b/ext/PerlIO-via/via.pm
index e477dcc..30083fe 100644
--- a/ext/PerlIO-via/via.pm
+++ b/ext/PerlIO-via/via.pm
@@ -1,5 +1,5 @@
package PerlIO::via;
-our $VERSION = '0.16';
+our $VERSION = '0.17';
require XSLoader;
XSLoader::load();
1;
diff --git a/ext/PerlIO-via/via.xs b/ext/PerlIO-via/via.xs
index 8a7f1fc..61953c8 100644
--- a/ext/PerlIO-via/via.xs
+++ b/ext/PerlIO-via/via.xs
@@ -38,6 +38,8 @@ typedef struct
CV *UTF8;
} PerlIOVia;
+static const MGVTBL PerlIOVia_tag = { 0, 0, 0, 0, 0, 0, 0, 0 };
+
#define MYMethod(x) #x,&s->x
static CV *
@@ -131,8 +133,14 @@ PerlIOVia_pushed(pTHX_ PerlIO * f, const char *mode, SV * arg,
PerlIO_funcs * tab)
{
IV code = PerlIOBase_pushed(aTHX_ f, mode, Nullsv, tab);
+
+ if (SvTYPE(arg) >= SVt_PVMG
+ && mg_findext(arg, PERL_MAGIC_ext, &PerlIOVia_tag)) {
+ return code;
+ }
+
if (code == 0) {
- PerlIOVia *s = PerlIOSelf(f, PerlIOVia);
+ PerlIOVia *s = PerlIOSelf(f, PerlIOVia);
if (!arg) {
if (ckWARN(WARN_LAYER))
Perl_warner(aTHX_ packWARN(WARN_LAYER),
@@ -583,20 +591,55 @@ static SV *
PerlIOVia_getarg(pTHX_ PerlIO * f, CLONE_PARAMS * param, int flags)
{
PerlIOVia *s = PerlIOSelf(f, PerlIOVia);
- PERL_UNUSED_ARG(param);
+ SV *arg;
PERL_UNUSED_ARG(flags);
- return PerlIOVia_method(aTHX_ f, MYMethod(GETARG), G_SCALAR, Nullsv);
+
+ /* During cloning, return an undef token object so that _pushed() knows
+ * that it should not call methods and wait for _dup() to actually dup the
+ * object. */
+ if (param) {
+ SV *sv = newSV(0);
+ sv_magicext(sv, NULL, PERL_MAGIC_ext, &PerlIOVia_tag, 0, 0);
+ return sv;
+ }
+
+ arg = PerlIOVia_method(aTHX_ f, MYMethod(GETARG), G_SCALAR, Nullsv);
+ if (arg) {
+ /* arg is a temp, and PerlIOBase_dup() will explicitly free it */
+ SvREFCNT_inc(arg);
+ }
+ else {
+ arg = newSVpvn(HvNAME(s->stash), HvNAMELEN(s->stash));
+ }
+
+ return arg;
}
static PerlIO *
PerlIOVia_dup(pTHX_ PerlIO * f, PerlIO * o, CLONE_PARAMS * param,
int flags)
{
- if ((f = PerlIOBase_dup(aTHX_ f, o, param, flags))) {
- /* Most of the fields will lazily set themselves up as needed
- stash and obj have been set up by the implied push
+ if ((f = PerlIOBase_dup(aTHX_ f, o, param, flags)) && param) {
+ /* For a non-interpreter dup stash and obj have been set up
+ by the implied push.
+
+ But if this is a clone for a new interpreter we need to
+ translate the objects to their dups.
*/
+
+ PerlIOVia *fs = PerlIOSelf(f, PerlIOVia);
+ PerlIOVia *os = PerlIOSelf(o, PerlIOVia);
+
+ fs->obj = sv_dup_inc(os->obj, param);
+ fs->stash = (HV*)sv_dup((SV*)os->stash, param);
+ fs->var = sv_dup_inc(os->var, param);
+ fs->cnt = os->cnt;
+
+ /* fh, io, cached CVs left as NULL, PerlIOVia_method()
+ will reinitialize them if needed */
}
+ /* for a non-threaded dup fs->obj and stash should be set by _pushed() */
+
return f;
}
--
2.9.4

View File

@ -1,71 +0,0 @@
From 7b3443d31f11c15859593e5b710c301795a6de01 Mon Sep 17 00:00:00 2001
From: Tony Cook <tony@develop-help.com>
Date: Thu, 8 Jun 2017 11:06:39 +1000
Subject: [PATCH] [perl #131221] sv_dup/sv_dup_inc are only available under
threads
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
ext/PerlIO-via/via.xs | 42 +++++++++++++++++++++++-------------------
1 file changed, 23 insertions(+), 19 deletions(-)
diff --git a/ext/PerlIO-via/via.xs b/ext/PerlIO-via/via.xs
index 61953c8..d91c685 100644
--- a/ext/PerlIO-via/via.xs
+++ b/ext/PerlIO-via/via.xs
@@ -619,26 +619,30 @@ static PerlIO *
PerlIOVia_dup(pTHX_ PerlIO * f, PerlIO * o, CLONE_PARAMS * param,
int flags)
{
- if ((f = PerlIOBase_dup(aTHX_ f, o, param, flags)) && param) {
- /* For a non-interpreter dup stash and obj have been set up
- by the implied push.
-
- But if this is a clone for a new interpreter we need to
- translate the objects to their dups.
- */
-
- PerlIOVia *fs = PerlIOSelf(f, PerlIOVia);
- PerlIOVia *os = PerlIOSelf(o, PerlIOVia);
-
- fs->obj = sv_dup_inc(os->obj, param);
- fs->stash = (HV*)sv_dup((SV*)os->stash, param);
- fs->var = sv_dup_inc(os->var, param);
- fs->cnt = os->cnt;
-
- /* fh, io, cached CVs left as NULL, PerlIOVia_method()
- will reinitialize them if needed */
+ if ((f = PerlIOBase_dup(aTHX_ f, o, param, flags))) {
+#ifdef USE_ITHREADS
+ if (param) {
+ /* For a non-interpreter dup stash and obj have been set up
+ by the implied push.
+
+ But if this is a clone for a new interpreter we need to
+ translate the objects to their dups.
+ */
+
+ PerlIOVia *fs = PerlIOSelf(f, PerlIOVia);
+ PerlIOVia *os = PerlIOSelf(o, PerlIOVia);
+
+ fs->obj = sv_dup_inc(os->obj, param);
+ fs->stash = (HV*)sv_dup((SV*)os->stash, param);
+ fs->var = sv_dup_inc(os->var, param);
+ fs->cnt = os->cnt;
+
+ /* fh, io, cached CVs left as NULL, PerlIOVia_method()
+ will reinitialize them if needed */
+ }
+#endif
+ /* for a non-threaded dup fs->obj and stash should be set by _pushed() */
}
- /* for a non-threaded dup fs->obj and stash should be set by _pushed() */
return f;
}
--
2.9.4

View File

@ -1,80 +0,0 @@
From 36000cd1c47863d8412b285701db7232dd450239 Mon Sep 17 00:00:00 2001
From: Tony Cook <tony@develop-help.com>
Date: Wed, 26 Jul 2017 12:04:18 +1000
Subject: [PATCH] (perl #131793) sanely handle PL_linestart > PL_bufptr
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
In the test case, scan_ident() ends up fetching another line
(updating PL_linestart), and since in this case we don't
successfully parse ${identifier} s (and PL_bufptr) end up being
before PL_linestart.
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
t/comp/parser_run.t | 9 ++++++++-
toke.c | 19 +++++++++++++++----
2 files changed, 23 insertions(+), 5 deletions(-)
diff --git a/t/comp/parser_run.t b/t/comp/parser_run.t
index e74644d3fb..0fca5b2800 100644
--- a/t/comp/parser_run.t
+++ b/t/comp/parser_run.t
@@ -10,7 +10,7 @@ BEGIN {
}
require './test.pl';
-plan(1);
+plan(2);
# [perl #130814] can reallocate lineptr while looking ahead for
# "Missing $ on loop variable" diagnostic.
@@ -24,5 +24,12 @@ syntax error at - line 3, near "foreach m0
Identifier too long at - line 3.
EXPECT
+fresh_perl_is(<<EOS, <<'EXPECT', {}, "linestart before bufptr");
+\${ \xD5eeeeeeeeeeee
+'x
+EOS
+Unrecognized character \xD5; marked by <-- HERE after ${ <-- HERE near column 4 at - line 1.
+EXPECT
+
__END__
# ex: set ts=8 sts=4 sw=4 et:
diff --git a/toke.c b/toke.c
index 6de7d09ea4..3899b729af 100644
--- a/toke.c
+++ b/toke.c
@@ -5158,12 +5158,23 @@ Perl_yylex(pTHX)
else {
c = Perl_form(aTHX_ "\\x%02X", (unsigned char)*s);
}
- len = UTF ? Perl_utf8_length(aTHX_ (U8 *) PL_linestart, (U8 *) s) : (STRLEN) (s - PL_linestart);
- if (len > UNRECOGNIZED_PRECEDE_COUNT) {
- d = UTF ? (char *) utf8_hop_back((U8 *) s, -UNRECOGNIZED_PRECEDE_COUNT, (U8 *)PL_linestart) : s - UNRECOGNIZED_PRECEDE_COUNT;
- } else {
+
+ if (s >= PL_linestart) {
d = PL_linestart;
}
+ else {
+ /* somehow (probably due to a parse failure), PL_linestart has advanced
+ * pass PL_bufptr, get a reasonable beginning of line
+ */
+ d = s;
+ while (d > SvPVX(PL_linestr) && d[-1] && d[-1] != '\n')
+ --d;
+ }
+ len = UTF ? Perl_utf8_length(aTHX_ (U8 *) d, (U8 *) s) : (STRLEN) (s - d);
+ if (len > UNRECOGNIZED_PRECEDE_COUNT) {
+ d = UTF ? (char *) utf8_hop_back((U8 *) s, -UNRECOGNIZED_PRECEDE_COUNT, (U8 *)d) : s - UNRECOGNIZED_PRECEDE_COUNT;
+ }
+
Perl_croak(aTHX_ "Unrecognized character %s; marked by <-- HERE after %" UTF8f "<-- HERE near column %d", c,
UTF8fARG(UTF, (s - d), d),
(int) len + 1);
--
2.13.6

View File

@ -1,152 +0,0 @@
From d8b61909479178ddb668ad385988877d26f202f2 Mon Sep 17 00:00:00 2001
From: James E Keenan <jkeenan@cpan.org>
Date: Thu, 31 Aug 2017 22:57:06 -0400
Subject: [PATCH] Term::ReadLine generates empty &STDERR files
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Revert to 2-arg open in one case.
If /dev/tty is inaccessible, redirecting file handles to STDERR:
open (my $fh, ">&STDERR))
... cannot be done as a 3 arg open or it'll actually try to write to that
file.
Bump $Term::ReadLine::VERSION.
Add unit test for RT #132008
For: RT #132008
(cherry picked from commit e4dc68d725b19f46c6fca9423e6e7a0eaeff47f4)
Signed-off-by: Nicolas R <atoomic@cpan.org>
xx
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
MANIFEST | 1 +
dist/Term-ReadLine/lib/Term/ReadLine.pm | 17 +++++++++-----
dist/Term-ReadLine/t/ReadLine-STDERR.t | 41 +++++++++++++++++++++++++++++++++
3 files changed, 53 insertions(+), 6 deletions(-)
create mode 100644 dist/Term-ReadLine/t/ReadLine-STDERR.t
diff --git a/MANIFEST b/MANIFEST
index ad24a2d28b..180fd4f543 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -3669,6 +3669,7 @@ dist/Term-ReadLine/lib/Term/ReadLine.pm Stub readline library
dist/Term-ReadLine/t/AE.t See if Term::ReadLine works
dist/Term-ReadLine/t/AETk.t See if Term::ReadLine works
dist/Term-ReadLine/t/ReadLine.t See if Term::ReadLine works
+dist/Term-ReadLine/t/ReadLine-STDERR.t See if Term::ReadLine works
dist/Term-ReadLine/t/Tk.t See if Term::ReadLine works
dist/Test/lib/Test.pm A simple framework for writing test scripts
dist/Test/t/05_about_verbose.t See if Test works
diff --git a/dist/Term-ReadLine/lib/Term/ReadLine.pm b/dist/Term-ReadLine/lib/Term/ReadLine.pm
index 88d5a75877..e00fb376cd 100644
--- a/dist/Term-ReadLine/lib/Term/ReadLine.pm
+++ b/dist/Term-ReadLine/lib/Term/ReadLine.pm
@@ -229,12 +229,17 @@ sub readline {
}
sub addhistory {}
+# used for testing purpose
+sub devtty { return '/dev/tty' }
+
sub findConsole {
my $console;
my $consoleOUT;
- if ($^O ne 'MSWin32' and -e "/dev/tty") {
- $console = "/dev/tty";
+ my $devtty = devtty();
+
+ if ($^O ne 'MSWin32' and -e $devtty) {
+ $console = $devtty;
} elsif ($^O eq 'MSWin32' or $^O eq 'msys' or -e "con") {
$console = 'CONIN$';
$consoleOUT = 'CONOUT$';
@@ -248,7 +253,7 @@ sub findConsole {
$consoleOUT = $console unless defined $consoleOUT;
$console = "&STDIN" unless defined $console;
- if ($console eq "/dev/tty" && !open(my $fh, "<", $console)) {
+ if ($console eq $devtty && !open(my $fh, "<", $console)) {
$console = "&STDIN";
undef($consoleOUT);
}
@@ -266,11 +271,11 @@ sub new {
if (@_==2) {
my($console, $consoleOUT) = $_[0]->findConsole;
-
# the Windows CONIN$ needs GENERIC_WRITE mode to allow
# a SetConsoleMode() if we end up using Term::ReadKey
open FIN, (( $^O eq 'MSWin32' && $console eq 'CONIN$' ) ? '+<' : '<' ), $console;
- open FOUT,'>', $consoleOUT;
+ # RT #132008: Still need 2-arg open here
+ open FOUT,">$consoleOUT";
#OUT->autoflush(1); # Conflicts with debugger?
my $sel = select(FOUT);
@@ -319,7 +324,7 @@ sub Features { \%features }
package Term::ReadLine; # So late to allow the above code be defined?
-our $VERSION = '1.16';
+our $VERSION = '1.17';
my ($which) = exists $ENV{PERL_RL} ? split /\s+/, $ENV{PERL_RL} : undef;
if ($which) {
diff --git a/dist/Term-ReadLine/t/ReadLine-STDERR.t b/dist/Term-ReadLine/t/ReadLine-STDERR.t
new file mode 100644
index 0000000000..f7aa2df925
--- /dev/null
+++ b/dist/Term-ReadLine/t/ReadLine-STDERR.t
@@ -0,0 +1,41 @@
+#!./perl -w
+use strict;
+
+use Test::More;
+
+## unit test for RT 132008 - https://rt.perl.org/Ticket/Display.html?id=132008
+
+if ( $^O eq 'MSWin32' || !-e q{/dev/tty} ) {
+ plan skip_all => "Test not tested on windows or when /dev/tty do not exists";
+}
+else {
+ plan tests => 9;
+}
+
+if ( -e q[&STDERR] ) {
+ note q[Removing existing file &STDERR];
+ unlink q[&STDERR] or die q{Cannot remove existing file &STDERR [probably created from a previous run]};
+}
+
+use_ok('Term::ReadLine');
+can_ok( 'Term::ReadLine::Stub', qw{new devtty findConsole} );
+
+is( Term::ReadLine->devtty(), q{/dev/tty} );
+my @out = Term::ReadLine::Stub::findConsole();
+is_deeply \@out, [ q{/dev/tty}, q{/dev/tty} ], "findConsole is using /dev/tty";
+
+{
+ no warnings 'redefine';
+ my $donotexist = q[/this/should/not/exist/hopefully];
+
+ ok !-e $donotexist, "File $donotexist does not exist";
+ local *Term::ReadLine::Stub::devtty = sub { $donotexist };
+ is( Term::ReadLine->devtty(), $donotexist, "devtty mocked" );
+
+ my @out = Term::ReadLine::Stub::findConsole();
+ is_deeply \@out, [ q{&STDIN}, q{&STDERR} ], "findConsole is using /dev/tty" or diag explain \@out;
+
+ ok !-e q[&STDERR], 'file &STDERR do not exist before Term::ReadLine call';
+ my $tr = Term::ReadLine->new('whatever');
+ ok !-e q[&STDERR], 'file &STDERR was not created by mistake';
+}
--
2.13.6

View File

@ -1,73 +0,0 @@
From 1d217c696857b2bf41d87a7e927c43d20cc556e5 Mon Sep 17 00:00:00 2001
From: Tony Cook <tony@develop-help.com>
Date: Tue, 19 Sep 2017 17:40:52 +1000
Subject: [PATCH] (perl #132008) make sure the test behaves without a tty
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The test is intended to test how Term::ReadLine behaves without a tty
and mocks up an invalid tty.
Unfortunately some of the checks it does fail if the test starts without
a tty.
Modified the test to handle the lack of a tty.
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
dist/Term-ReadLine/t/ReadLine-STDERR.t | 22 +++++++++++++++-------
1 file changed, 15 insertions(+), 7 deletions(-)
diff --git a/dist/Term-ReadLine/t/ReadLine-STDERR.t b/dist/Term-ReadLine/t/ReadLine-STDERR.t
index f7aa2df925..2bdf799f42 100644
--- a/dist/Term-ReadLine/t/ReadLine-STDERR.t
+++ b/dist/Term-ReadLine/t/ReadLine-STDERR.t
@@ -6,7 +6,7 @@ use Test::More;
## unit test for RT 132008 - https://rt.perl.org/Ticket/Display.html?id=132008
if ( $^O eq 'MSWin32' || !-e q{/dev/tty} ) {
- plan skip_all => "Test not tested on windows or when /dev/tty do not exists";
+ plan skip_all => "Not tested on windows or when /dev/tty does not exist";
}
else {
plan tests => 9;
@@ -19,21 +19,29 @@ if ( -e q[&STDERR] ) {
use_ok('Term::ReadLine');
can_ok( 'Term::ReadLine::Stub', qw{new devtty findConsole} );
-
-is( Term::ReadLine->devtty(), q{/dev/tty} );
-my @out = Term::ReadLine::Stub::findConsole();
-is_deeply \@out, [ q{/dev/tty}, q{/dev/tty} ], "findConsole is using /dev/tty";
+is( Term::ReadLine->devtty(), q{/dev/tty}, "check sub devtty" );
+SKIP:
+{
+ open my $tty, "<", Term::ReadLine->devtty()
+ or skip "Cannot open tty", 1;
+ -t $tty
+ or skip "No tty found, so findConsole() won't return /dev/tty", 1;
+ my @out = Term::ReadLine::Stub::findConsole();
+ is_deeply \@out, [ q{/dev/tty}, q{/dev/tty} ], "findConsole is using /dev/tty";
+}
{
no warnings 'redefine';
my $donotexist = q[/this/should/not/exist/hopefully];
ok !-e $donotexist, "File $donotexist does not exist";
- local *Term::ReadLine::Stub::devtty = sub { $donotexist };
+ # double mention to prevent warning
+ local *Term::ReadLine::Stub::devtty =
+ *Term::ReadLine::Stub::devtty = sub { $donotexist };
is( Term::ReadLine->devtty(), $donotexist, "devtty mocked" );
my @out = Term::ReadLine::Stub::findConsole();
- is_deeply \@out, [ q{&STDIN}, q{&STDERR} ], "findConsole is using /dev/tty" or diag explain \@out;
+ is_deeply \@out, [ q{&STDIN}, q{&STDERR} ], "findConsole isn't using /dev/tty" or diag explain \@out;
ok !-e q[&STDERR], 'file &STDERR do not exist before Term::ReadLine call';
my $tr = Term::ReadLine->new('whatever');
--
2.13.6

View File

@ -1,92 +0,0 @@
From 57bd660029d94312ca4eb88993889d981f41b484 Mon Sep 17 00:00:00 2001
From: Tony Cook <tony@develop-help.com>
Date: Thu, 24 Aug 2017 15:52:33 +1000
Subject: [PATCH] (perl #131954) don't initialize mark before a possible move
of the stack
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
pp.c | 4 +++-
t/op/list.t | 42 +++++++++++++++++++++++++++++++++++++++++-
2 files changed, 44 insertions(+), 2 deletions(-)
diff --git a/pp.c b/pp.c
index ae6d9c94d1..4b1ccbba80 100644
--- a/pp.c
+++ b/pp.c
@@ -5104,9 +5104,11 @@ PP(pp_list)
{
I32 markidx = POPMARK;
if (GIMME_V != G_ARRAY) {
- SV **mark = PL_stack_base + markidx;
+ /* don't initialize mark here, EXTEND() may move the stack */
+ SV **mark;
dSP;
EXTEND(SP, 1); /* in case no arguments, as in @empty */
+ mark = PL_stack_base + markidx;
if (++MARK <= SP)
*MARK = *SP; /* unwanted list, return last item */
else
diff --git a/t/op/list.t b/t/op/list.t
index 3f9487b96f..2acb03a321 100644
--- a/t/op/list.t
+++ b/t/op/list.t
@@ -6,7 +6,7 @@ BEGIN {
set_up_inc(qw(. ../lib));
}
-plan( tests => 71 );
+plan( tests => 72 );
@foo = (1, 2, 3, 4);
cmp_ok($foo[0], '==', 1, 'first elem');
@@ -228,3 +228,43 @@ ok(($0[()[()]],1), "[perl #126193] list slice with zero indexes");
@x;
pass('no panic'); # panics only under DEBUGGING
}
+
+fresh_perl_is(<<'EOS', "", {}, "[perl #131954] heap use after free in pp_list");
+#!./perl
+BEGIN {
+my $bar = "bar";
+
+sub test_no_error {
+ eval $_[0];
+}
+
+test_no_error($_) for split /\n/,
+q[ x
+ definfoo, $bar;
+ x
+ x
+ x
+ grep((not $bar, $bar, $bar), $bar);
+ x
+ x
+ x
+ x
+ x
+ x
+ x
+ x
+ x
+ x
+ x
+ x
+ x
+ x
+ x
+ x
+ x
+ x
+ x
+ x
+ ];
+}
+EOS
--
2.13.6

View File

@ -1,4 +1,4 @@
%global perl_version 5.26.1
%global perl_version 5.26.2
%global perl_epoch 4
%global perl_arch_stem -thread-multi
%global perl_archname %{_arch}-%{_os}%{perl_arch_stem}
@ -81,10 +81,10 @@ License: GPL+ or Artistic
Epoch: %{perl_epoch}
Version: %{perl_version}
# release number must be even higher, because dual-lived modules will be broken otherwise
Release: 409%{?dist}
Release: 410.RC1%{?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
Source0: http://www.cpan.org/src/5.0/perl-%{perl_version}-RC1.tar.bz2
Source3: macros.perl
#Systemtap tapset and example that make use of systemtap-sdt-devel
# build requirement. Written by lberk; Not yet upstream.
@ -146,11 +146,6 @@ Patch30: perl-5.22.1-Replace-EU-MM-dependnecy-with-EU-MM-Utils-in-IPC-Cmd
# in upstream after 5.27.0
Patch31: perl-5.27.0-perl-131211-fixup-File-Glob-degenerate-matching.patch
# Fix cloning :via handles on thread creation, RT#131221,
# in upstream after 5.27.0
Patch34: perl-5.27.0-perl-131221-improve-duplication-of-via-handles.patch
Patch35: perl-5.27.0-perl-131221-sv_dup-sv_dup_inc-are-only-available-und.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
@ -170,8 +165,8 @@ 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.27.1-Parse-caret-vars-with-subscripts-the-same-as-normal-.patch
Patch48: perl-5.27.1-add-an-additional-test-for-whitespace-tolerance-in-c.patch
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
@ -199,19 +194,9 @@ 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 an overflow in the lexer when reading a new line, RT#131793,
# in upstream after 5.27.2
Patch59: perl-5.27.2-perl-131793-sanely-handle-PL_linestart-PL_bufptr.patch
# Fix Term::ReadLine not to create spurious &STDERR files, RT#132008,
# in upstream after 5.27.3
Patch60: perl-5.27.3-Term-ReadLine-generates-empty-STDERR-files.patch
Patch61: perl-5.27.3-perl-132008-try-to-prevent-the-similar-mistakes-in-t.patch
Patch62: perl-5.27.3-perl-132008-make-sure-the-test-behaves-without-a-tty.patch
# Fix a crash when a match for inversely repeated group fails, RT#132017,
# in upstream after 5.27.3
Patch63: perl-5.26.1-fix-132017-OPFAIL-insert-needs-to-set-flags-to-0.patch
# Fix an overflow when parsing a character range with no preceding character,
# RT#132245, in upstream after 5.27.5
@ -249,7 +234,7 @@ 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.1-perform-system-arg-processing-before-fork.patch
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
@ -271,10 +256,6 @@ Patch79: perl-5.27.8-hints-linux-Add-lphtread-to-lddlflags.patch
# in upstream after 5.27.7
Patch80: perl-5.26.1-fix-parsing-of-braced-subscript-after-parens.patch
# Fix a heap use after free when moving a stack, RT#131954,
# in upstream after 5.27.7
Patch81: perl-5.27.7-perl-131954-don-t-initialize-mark-before-a-possible-.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
@ -324,7 +305,7 @@ BuildRequires: rsyslog
# compat macro needed for rebuild
%global perl_compat perl(:MODULE_COMPAT_5.26.1)
%global perl_compat perl(:MODULE_COMPAT_5.26.2)
Requires: %perl_compat
Requires: perl-interpreter%{?_isa} = %{perl_epoch}:%{perl_version}-%{release}
@ -475,6 +456,7 @@ Summary: The libraries for the perl run-time
License: (GPL+ or Artistic) and HSLR and MIT and UCD
# Compat provides
Provides: %perl_compat
Provides: perl(:MODULE_COMPAT_5.26.1)
Provides: perl(:MODULE_COMPAT_5.26.0)
# Interpreter version to fulfil required genersted from "require 5.006;"
Provides: perl(:VERSION) = %{perl_version}
@ -1958,7 +1940,7 @@ encoder/decoder. These encoding methods are specified in RFC 2045 - MIME
Summary: What modules are shipped with versions of perl
License: GPL+ or Artistic
Epoch: 1
Version: 5.20170922
Version: 5.20180414
Requires: %perl_compat
Requires: perl(List::Util)
Requires: perl(version) >= 0.88
@ -1976,7 +1958,7 @@ are shipped with each version of perl.
Summary: Tool for listing modules shipped with perl
License: GPL+ or Artistic
Epoch: 1
Version: 5.20170922
Version: 5.20180414
Requires: %perl_compat
Requires: perl(feature)
Requires: perl(version) >= 0.88
@ -2822,7 +2804,7 @@ Perl extension for Version Objects
%endif
%prep
%setup -q -n perl-%{perl_version}
%setup -q -n perl-%{perl_version}-RC1
%patch1 -p1
%ifarch %{multilib_64_archs}
%patch3 -p1
@ -2838,8 +2820,6 @@ Perl extension for Version Objects
%patch26 -p1
%patch30 -p1
%patch31 -p1
%patch34 -p1
%patch35 -p1
%patch36 -p1
%patch38 -p1
%patch43 -p1
@ -2854,11 +2834,7 @@ Perl extension for Version Objects
%patch55 -p1
%patch56 -p1
%patch58 -p1
%patch59 -p1
%patch60 -p1
%patch61 -p1
%patch62 -p1
%patch63 -p1
%patch64 -p1
%patch65 -p1
%patch66 -p1
@ -2876,7 +2852,6 @@ Perl extension for Version Objects
%patch78 -p1
%patch79 -p1
%patch80 -p1
%patch81 -p1
%patch200 -p1
%patch201 -p1
@ -2898,7 +2873,6 @@ perl -x patchlevel.h \
'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 Patch34: Fix cloning :via handles on thread creation (RT#131221)' \
'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' \
@ -2911,9 +2885,7 @@ perl -x patchlevel.h \
'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 Patch59: Fix an overflow in the lexer when reading a new line (RT#131793)' \
'Fedora Patch60: Fix Term::ReadLine not to create spurious &STDERR files (RT#132008)' \
'Fedora Patch63: Fix a crash when a match for inversely repeated group fails (RT#132017)' \
'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)' \
@ -2928,7 +2900,6 @@ perl -x patchlevel.h \
'Fedora Patch78: Fix compatibility with libxcrypt (bug #1536752)' \
'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: Fix a heap use after free when moving a stack (RT#131954)' \
'Fedora Patch200: Link XS modules to libperl.so with EU::CBuilder on Linux' \
'Fedora Patch201: Link XS modules to libperl.so with EU::MM on Linux' \
%{nil}
@ -5216,6 +5187,12 @@ popd
# Old changelog entries are preserved in CVS.
%changelog
* Mon Mar 26 2018 Petr Pisar <ppisar@redhat.com> - 4:5.26.2-410.RC1
- 5.26.2-RC1 bump
- Fix CVE-2018-6913 (heap buffer overflow in pp_pack.c) (RT#131844)
- Fix CVE-2018-6798 (heap read overflow in regexec.c) (RT#132063)
- Fix CVE-2018-6797 (heap write overflow in regcomp.c) (RT#132227)
* Thu Mar 1 2018 Florian Weimer <fweimer@redhat.com> - 4:5.26.1-409
- Rebuild to pick up new build flags from redhat-rpm-config

View File

@ -1 +1 @@
SHA512 (perl-5.26.1.tar.bz2) = 821a4b78a22d24d6f79b56f68ed4a36db24bddc4dbe36c9d2622cd15d7abf6548186c037dea3d3745c1781af83339d0b54297f8094aa538046c0e57a953b5547
SHA512 (perl-5.26.2-RC1.tar.bz2) = ec77661d38331248f92c598f6beb104bbc4d1d47cab4de33cb99619b29a291149ee10e99d38eb705967f75fe30473ac7a8e2c03128fa3848465cd98ce4b241bf