From dcac7aff95f0f1edb0e653c5ea35036e79eebeac62407e63d95c1629d443b657 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Schr=C3=B6der?= Date: Wed, 8 Jan 2014 14:13:37 +0000 Subject: [PATCH] - update to perl-5.18.2 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl?expand=0&rev=104 --- perl-5.18.1.tar.gz | 3 -- perl-5.18.2.tar.gz | 3 ++ perl-reg89.diff | 127 --------------------------------------------- perl.changes | 11 ++++ perl.spec | 13 +++-- 5 files changed, 20 insertions(+), 137 deletions(-) delete mode 100644 perl-5.18.1.tar.gz create mode 100644 perl-5.18.2.tar.gz delete mode 100644 perl-reg89.diff diff --git a/perl-5.18.1.tar.gz b/perl-5.18.1.tar.gz deleted file mode 100644 index 15538a7..0000000 --- a/perl-5.18.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:655e11a8ffba8853efcdce568a142c232600ed120ac24aaebb4e6efe74e85b2b -size 17337400 diff --git a/perl-5.18.2.tar.gz b/perl-5.18.2.tar.gz new file mode 100644 index 0000000..7c2adf9 --- /dev/null +++ b/perl-5.18.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7cbed5ef11900e8f68041215eea0de5e443d53393f84c41d5c9c69c150a4982f +size 17296490 diff --git a/perl-reg89.diff b/perl-reg89.diff deleted file mode 100644 index bfed01e..0000000 --- a/perl-reg89.diff +++ /dev/null @@ -1,127 +0,0 @@ ---- ./regcomp.c.orig 2013-09-03 14:34:06.277801336 +0000 -+++ ./regcomp.c 2013-09-03 14:34:38.600801279 +0000 -@@ -10643,7 +10643,7 @@ tryagain: - if (num < 1) - vFAIL("Reference to nonexistent or unclosed group"); - } -- if (!isg && (num < 0 || (num > 9 && num >= RExC_npar))) -+ if (!isg && num > 9 && num >= RExC_npar && *RExC_parse != '8' && *RExC_parse != '9') - /* Probably a character specified in octal, e.g. \35 */ - goto defchar; - else { -@@ -10920,10 +10920,28 @@ tryagain: - p++; - ender = grok_bslash_c(*p++, UTF, SIZE_ONLY); - break; -- case '0': case '1': case '2': case '3':case '4': -+ case '8': case '9': /* must be a backreference */ -+ --p; -+ goto loopdone; -+ case '1': case '2': case '3':case '4': - case '5': case '6': case '7': -- if (*p == '0' || -- (isDIGIT(p[1]) && (U32)atoi(p) >= (U32)RExC_npar)) -+ /* When we parse backslash escapes there is ambiguity between -+ * backreferences and octal escapes. Any escape from \1 - \9 is -+ * a backreference, any multi-digit escape which does not start with -+ * 0 and which when evaluated as decimal could refer to an already -+ * parsed capture buffer is a backslash. Anything else is octal. -+ * -+ * Note this implies that \118 could be interpreted as 118 OR as -+ * "\11" . "8" depending on whether there were 118 capture buffers -+ * defined already in the pattern. -+ */ -+ if ( !isDIGIT(p[1]) || atoi(p) <= RExC_npar ) -+ { /* Not to be treated as an octal constant, go -+ find backref */ -+ --p; -+ goto loopdone; -+ } -+ case '0': - { - I32 flags = PERL_SCAN_SILENT_ILLDIGIT; - STRLEN numlen = 3; -@@ -10942,11 +10960,6 @@ tryagain: - form_short_octal_warning(p, numlen)); - } - } -- else { /* Not to be treated as an octal constant, go -- find backref */ -- --p; -- goto loopdone; -- } - if (PL_encoding && ender < 0x100) - goto recode_encoding; - break; ---- ./t/re/pat.t.orig 2013-09-03 14:34:06.277801336 +0000 -+++ ./t/re/pat.t 2013-09-03 14:34:13.645801323 +0000 -@@ -20,7 +20,7 @@ BEGIN { - require './test.pl'; - } - --plan tests => 472; # Update this when adding/deleting tests. -+plan tests => 572; # Update this when adding/deleting tests. - - run_tests() unless caller; - -@@ -1380,6 +1380,23 @@ EOP - is ($s, 'XXcdXXX&', 'RT #119125 with /x'); - } - -+ { -+ # if we have 87 capture buffers defined then \87 should refer to the 87th. -+ # test that this is true for 1..100 -+ my $str= "aa"; -+ for my $i (1..100) { -+ my $pat= "a"; -+ $pat= "($pat)" for 1 .. $i; -+ $pat.="\\$i"; -+ eval { -+ ok($str=~/$pat/,"\\$i works with $i buffers"); -+ 1; -+ } or do { -+ ok(0,"\\$i works with $i buffers"); -+ }; -+ } -+ } -+ - } # End of sub run_tests - - 1; ---- ./t/re/re_tests.orig 2013-09-03 14:34:06.277801336 +0000 -+++ ./t/re/re_tests 2013-09-03 14:34:13.646801323 +0000 -@@ -1487,9 +1487,9 @@ abc\N{def - c - \\N{NAME} must be resolv - [a\o{1000}] \x{200} y $& \x{200} - - # The below were inserting a NULL --\87 87 y $& 87 --a\87 a87 y $& a87 --a\97 a97 y $& a97 -+\87 87 c - Reference to nonexistent group in regex -+a\87 a87 c - Reference to nonexistent group in regex -+a\97 a97 c - Reference to nonexistent group in regex - - - # The below was inserting a NULL into the character class. ---- ./t/re/reg_mesg.t.orig 2013-09-03 14:34:06.277801336 +0000 -+++ ./t/re/reg_mesg.t 2013-09-03 14:34:13.646801323 +0000 -@@ -174,6 +174,9 @@ my @death = - 'm/[\o]/' => 'Missing braces on \o{} {#} m/[\o{#}]/', - 'm/[\o{}]/' => 'Number with no digits {#} m/[\o{}{#}]/', - 'm/(?^-i:foo)/' => 'Sequence (?^-...) not recognized {#} m/(?^-{#}i:foo)/', -+ 'm/\87/' => 'Reference to nonexistent group {#} m/\87{#}/', -+ 'm/a\87/' => 'Reference to nonexistent group {#} m/a\87{#}/', -+ 'm/a\97/' => 'Reference to nonexistent group {#} m/a\97{#}/', - ); - # Tests involving a user-defined charnames translator are in pat_advanced.t - -@@ -200,9 +203,6 @@ my @warning = ( - '/\018/' => '\'\018\' resolved to \'\o{1}8\' {#} m/\018{#}/', - '/[\08]/' => '\'\08\' resolved to \'\o{0}8\' {#} m/[\08{#}]/', - '/[\018]/' => '\'\018\' resolved to \'\o{1}8\' {#} m/[\018{#}]/', -- '/\87/' => 'Unrecognized escape \8 passed through {#} m/\8{#}7/', -- '/a\87/' => 'Unrecognized escape \8 passed through {#} m/a\8{#}7/', -- '/a\97/' => 'Unrecognized escape \9 passed through {#} m/a\9{#}7/', - '/(?=a)*/' => '(?=a)* matches null string many times {#} m/(?=a)*{#}/', - 'my $x = \'\m\'; qr/a$x/' => 'Unrecognized escape \m passed through {#} m/a\m{#}/', - '/\q/' => 'Unrecognized escape \q passed through {#} m/\q{#}/', diff --git a/perl.changes b/perl.changes index d6c6671..9ebdb69 100644 --- a/perl.changes +++ b/perl.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Wed Jan 8 15:11:45 CET 2014 - mls@suse.de + +- update to perl-5.18.2 + * updates for the B::Concise, English, File::Glob modules + * a lexical subs regression has been fixed + * a regression when using SUPER with AUTOLOAD has been fixed + * a buffer overflow with very long identifiers has been fixed + * some other minor bug fixes +- perl-reg89.diff is no longer needed + ------------------------------------------------------------------- Wed Sep 4 10:30:50 CEST 2013 - mls@suse.de diff --git a/perl.spec b/perl.spec index a7e74d9..e86ee90 100644 --- a/perl.spec +++ b/perl.spec @@ -1,7 +1,7 @@ # # spec file for package perl # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -21,9 +21,9 @@ Name: perl Summary: The Perl interpreter License: Artistic-1.0 or GPL-2.0+ Group: Development/Languages/Perl -Version: 5.18.1 +Version: 5.18.2 Release: 0 -%define pversion 5.18.1 +%define pversion 5.18.2 Url: http://www.perl.org/ Source: http://www.cpan.org/src/5.0/perl-%{version}.tar.gz Source1: %name-rpmlintrc @@ -39,8 +39,7 @@ Patch5: perl-HiRes.t-timeout.diff Patch6: perl-saverecontext.diff Patch7: perl-db6.diff Patch8: skip_time_hires.patch -Patch9: perl-reg89.diff -Patch10: perl-incfix.diff +Patch9: perl-incfix.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build PreReq: perl-base = %version #PreReq: %fillup_prereq @@ -58,8 +57,9 @@ Provides: perl = %pversion-%release Provides: perl-500 Provides: perl-Filter-Simple Provides: perl(:MODULE_COMPAT_%pversion) -%global versionlist 5.18.0 +%global versionlist 5.18.0 5.18.1 Provides: perl(:MODULE_COMPAT_5.18.0) +Provides: perl(:MODULE_COMPAT_5.18.1) Obsoletes: perl-Filter-Simple Provides: perl-I18N-LangTags Obsoletes: perl-I18N-LangTags @@ -174,7 +174,6 @@ cp -p %{S:3} . %patch8 -p1 %endif %patch9 -%patch10 %build cp -a lib savelib