diff --git a/.gitignore b/.gitignore index 591796d..842117a 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ filter-requires.sh /perl-5.16.2.tar.gz /perl-5.16.3.tar.bz2 /perl-5.18.0.tar.bz2 +/perl-5.18.1.tar.bz2 diff --git a/perl-5.18.0-Fix-regmatch-pointer-32-bit-wraparound-regression.patch b/perl-5.18.0-Fix-regmatch-pointer-32-bit-wraparound-regression.patch deleted file mode 100644 index 262c42a..0000000 --- a/perl-5.18.0-Fix-regmatch-pointer-32-bit-wraparound-regression.patch +++ /dev/null @@ -1,109 +0,0 @@ -From 4149c7198d9b78d861df289cce40dd865cab57e7 Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Mon, 3 Jun 2013 22:28:37 +1000 -Subject: [PATCH] Fix regmatch pointer 32-bit wraparound regression - -Cherry-picked from: - -commit 285a3ca139d04d2ee1894c9a9110294ee8bb0309 -Merge: aad0429 dfb8f19 -Author: Tony Cook -AuthorDate: Mon Jun 3 22:28:37 2013 +1000 -Commit: Tony Cook -CommitDate: Mon Jun 3 22:28:37 2013 +1000 - - [perl #118175] avoid making pointers outside of objects - - In a couple of cases, when strings were allocated above the 2GB line - on 32-bit CPUs, this could cause regexps to act strangely - not matching - or crashing perl. - - The final patch in the set prevents pointer creation which the C standard - describes as undefined behaviour, but is typically safe (as long as the - pointer isn't derefed) - -This regression was introduced into 5.18.0 by commit -4063ade8503ac8877a02fc4eae8ebbe242b9110b. ---- - regexec.c | 8 ++++---- - t/re/pat_rt_report.t | 17 ++++++++++++++++- - 2 files changed, 20 insertions(+), 5 deletions(-) - -diff --git a/regexec.c b/regexec.c -index bc38839..b865b46 100644 ---- a/regexec.c -+++ b/regexec.c -@@ -6662,7 +6662,7 @@ S_regrepeat(pTHX_ regexp *prog, char **startposp, const regnode *p, - scan = *startposp; - if (max == REG_INFTY) - max = I32_MAX; -- else if (! utf8_target && scan + max < loceol) -+ else if (! utf8_target && loceol - scan > max) - loceol = scan + max; - - /* Here, for the case of a non-UTF-8 target we have adjusted down -@@ -6711,7 +6711,7 @@ S_regrepeat(pTHX_ regexp *prog, char **startposp, const regnode *p, - scan = loceol; - break; - case CANY: /* Move forward bytes, unless goes off end */ -- if (utf8_target && scan + max < loceol) { -+ if (utf8_target && loceol - scan > max) { - - /* hadn't been adjusted in the UTF-8 case */ - scan += max; -@@ -6730,7 +6730,7 @@ S_regrepeat(pTHX_ regexp *prog, char **startposp, const regnode *p, - * can use UTF8_IS_INVARIANT() even if the pattern isn't UTF-8, as it's - * true iff it doesn't matter if the argument is in UTF-8 or not */ - if (UTF8_IS_INVARIANT(c) || (! utf8_target && ! is_utf8_pat)) { -- if (utf8_target && scan + max < loceol) { -+ if (utf8_target && loceol - scan > max) { - /* We didn't adjust because is UTF-8, but ok to do so, - * since here, to match at all, 1 char == 1 byte */ - loceol = scan + max; -@@ -6910,7 +6910,7 @@ S_regrepeat(pTHX_ regexp *prog, char **startposp, const regnode *p, - /* FALLTHROUGH */ - - case POSIXA: -- if (utf8_target && scan + max < loceol) { -+ if (utf8_target && loceol - scan > max) { - - /* We didn't adjust at the beginning of this routine - * because is UTF-8, but it is actually ok to do so, since here, to -diff --git a/t/re/pat_rt_report.t b/t/re/pat_rt_report.t -index 2244fdf..9a9b5f5 100644 ---- a/t/re/pat_rt_report.t -+++ b/t/re/pat_rt_report.t -@@ -22,7 +22,7 @@ BEGIN { - } - - --plan tests => 2530; # Update this when adding/deleting tests. -+plan tests => 2532; # Update this when adding/deleting tests. - - run_tests() unless caller; - -@@ -1158,6 +1158,21 @@ EOP - '$_ = "abc"; /b/g; $_ = "hello"; print eval q|$\'|,"\n"', - "c\n", {}, '$\' first mentioned after match'); - } -+ -+ { -+ # [perl #118175] threaded perl-5.18.0 fails pat_rt_report_thr.t -+ # this tests some related failures -+ # -+ # The tests in the block *only* fail when run on 32-bit systems -+ # with a malloc that allocates above the 2GB line. On the system -+ # in the report above that only happened in a thread. -+ my $s = "\x{1ff}" . "f" x 32; -+ ok($s =~ /\x{1ff}[[:alpha:]]+/gca, "POSIXA pointer wrap"); -+ -+ # this one segfaulted under the conditions above -+ # of course, CANY is evil, maybe it should crash -+ ok($s =~ /.\C+/, "CANY pointer wrap"); -+ } - } # End of sub run_tests - - 1; --- -1.8.1.4 - diff --git a/perl-5.18.0-Suppress-system-Term-ReadLine-Gnu.patch b/perl-5.18.0-Suppress-system-Term-ReadLine-Gnu.patch index f82cf5c..e55c795 100644 --- a/perl-5.18.0-Suppress-system-Term-ReadLine-Gnu.patch +++ b/perl-5.18.0-Suppress-system-Term-ReadLine-Gnu.patch @@ -37,7 +37,7 @@ index 0e507b2..67cdd24 100644 + $ENV{PERL_RL} = 'Perl'; # Suppress system Term::ReadLine::Gnu } - plan(113); + plan(116); -- 1.8.1.4 diff --git a/perl.spec b/perl.spec index b5c2242..9cffb0a 100644 --- a/perl.spec +++ b/perl.spec @@ -1,4 +1,4 @@ -%global perl_version 5.18.0 +%global perl_version 5.18.1 %global perl_epoch 4 %global perl_arch_stem -thread-multi %global perl_archname %{_arch}-%{_os}%{perl_arch_stem} @@ -8,7 +8,7 @@ %global tapsetdir %{_datadir}/systemtap/tapset %global dual_life 0 -%global rebuild_from_scratch 1 +%global rebuild_from_scratch 0 # This overrides filters from build root (/etc/rpm/macros.perl) # intentionally (unversioned perl(DB) is removed and versioned one is kept) @@ -31,7 +31,7 @@ Name: perl Version: %{perl_version} # release number must be even higher, because dual-lived modules will be broken otherwise -Release: 286%{?dist} +Release: 287%{?dist} Epoch: %{perl_epoch} Summary: Practical Extraction and Report Language Group: Development/Languages @@ -89,9 +89,6 @@ Patch11: perl-5.16.3-Synchronize-pod2html-usage-output-and-its-POD-text.p # Fix a test failure in perl5db.t when TERM=vt100, RT#118817 Patch12: perl-5.18.0-Disable-ornaments-on-perl5db-AutoTrace-tests.patch -# Fix regmatch pointer 32-bit wraparound regression, RT#118175 -Patch13: perl-5.18.0-Fix-regmatch-pointer-32-bit-wraparound-regression.patch - # Prevent from loading system Term::ReadLine::Gnu while running tests, # RT#118821 Patch14: perl-5.18.0-Suppress-system-Term-ReadLine-Gnu.patch @@ -124,10 +121,11 @@ BuildRequires: procps, rsyslog # compat macro needed for rebuild -%global perl_compat perl(:MODULE_COMPAT_5.18.0) +%global perl_compat perl(:MODULE_COMPAT_5.18.1) # Compat provides Provides: %perl_compat +Provides: perl(:MODULE_COMPAT_5.18.0) # Threading provides Provides: perl(:WITH_ITHREADS) @@ -633,7 +631,8 @@ Group: Development/Libraries License: GPL+ or Artistic # Epoch bump for clean upgrade over old standalone package Epoch: 1 -Version: 5.84 +# real version 5.84_01 +Version: 5.84.1 Requires: %perl_compat # Recommended Requires: perl(Digest::base) @@ -664,7 +663,7 @@ of the system. Perl strings are sequences of characters. Summary: Character encodings in Perl Group: Development/Libraries License: GPL+ or Artistic -Epoch: 0 +Epoch: 1 Version: 2.49 Requires: %perl_compat Requires: %{name}-Encode = %{epoch}:%{version}-%{release} @@ -1165,7 +1164,7 @@ Summary: Perl core modules indexed by perl versions Group: Development/Languages License: GPL+ or Artistic Epoch: 1 -Version: 2.90 +Version: 2.96 Requires: %perl_compat Requires: perl(version) BuildArch: noarch @@ -1882,7 +1881,6 @@ tarball from perl.org. %patch10 -p1 %patch11 -p1 %patch12 -p1 -%patch13 -p1 %patch14 -p1 %patch15 -p1 %patch16 -p1 @@ -1904,7 +1902,6 @@ perl -x patchlevel.h \ 'Fedora Patch10: Update h2ph(1) documentation (RT#117647)' \ 'Fedora Patch11: Update pod2html(1) documentation (RT#117623)' \ 'Fedora Patch12: Disable ornaments on perl5db AutoTrace tests (RT#118817)' \ - 'Fedora Patch13: Fix regmatch pointer 32-bit wraparound regression (RT#118175)' \ 'Fedora Patch14: Do not use system Term::ReadLine::Gnu in tests (RT#118821)' \ 'Fedora Patch15: Define SONAME for libperl.so' \ 'Fedora Patch16: Install libperl.so to -Dshrpdir value' \ @@ -3594,6 +3591,16 @@ sed \ # Old changelog entries are preserved in CVS. %changelog +* Tue Aug 13 2013 Jitka Plesnikova - 4:5.18.1-287 +- 5.18.1 bump (see + for release notes) +- Disable macro %%{rebuild_from_scratch} +- Fix regex seqfault 5.18 regression (bug #989921) +- Fixed interpolating downgraded variables into upgraded (bug #970913) +- SvTRUE returns correct value (bug #967463) +- Fixed doc command in perl debugger (bug #967461) +- Fixed unaligned access in slab allocator (bug #964950) + * Sat Aug 03 2013 Fedora Release Engineering - 4:5.18.0-286 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild diff --git a/sources b/sources index 46b7cde..fe65b05 100644 --- a/sources +++ b/sources @@ -2,4 +2,4 @@ aceea3db13a159cd5f7e5f2e3ad9534f perl-5.8.0-libdir64.patch ad5d07285d6e4914384b43c9abc2bdba filter-requires.sh 93b780a770906408a34b1c511e333a12 perl.stp 735480c6749c2aa86faa8311fe651142 perl-example.stp -a832e928adfd36d162d2a5d3b631265c perl-5.18.0.tar.bz2 +4ec1a3f3824674552e749ae420c5e68c perl-5.18.1.tar.bz2