Accepting request 314473 from devel:languages:perl
- Reformat baselibs.conf. - update to perl-5.22.0 * several new experimental features * new <<>> (double-diamond) operator * new "\b" boundaries in REs, w.r.t. Unicode * non-capturing RE flag "/n" * Unicode 7.0 * "defined(@array)", "defined(%hash)" are now fatal * unescaped literal "{" in a pattern results in deprecation warning * several modules updated * modules CGI, Module::Build no longer included * for a complete list of changes see perldelta.pod - perl-5.20.0.dif changed to fit 5.22.0, and renamed to perl-5.22.0.dif - changed patches to fit 5.22.0: perl-5.18.2-overflow.diff, perl-netcmdutf8.diff, perl-regexp-refoverflow.diff, perl-saverecontext.diff - dropped patches (now upstream): DataDumper-no-infinite-recursion.diff, perl-5.20.2-Fix-Errno.pm-generation-for-gcc-5.0.patch, perl-5.21.8-h2ph-correct-handling-of-hex-constants-for-the-pream.patch, perl-5.21.8-lib-h2ph.t-to-test-generated-t-_h2ph_pre.ph-instead-.patch OBS-URL: https://build.opensuse.org/request/show/314473 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/perl?expand=0&rev=96
This commit is contained in:
commit
4f50568bef
@ -1,236 +0,0 @@
|
||||
--- ./MANIFEST.orig 2014-09-14 11:30:59.000000000 +0000
|
||||
+++ ./MANIFEST 2014-09-17 12:33:11.840499982 +0000
|
||||
@@ -2994,6 +2994,7 @@ dist/Data-Dumper/t/perl-74170.t Regressi
|
||||
dist/Data-Dumper/t/purity_deepcopy_maxdepth.t See if three Data::Dumper functions work
|
||||
dist/Data-Dumper/t/qr.t See if Data::Dumper works with qr|/|
|
||||
dist/Data-Dumper/t/quotekeys.t See if Data::Dumper::Quotekeys works
|
||||
+dist/Data-Dumper/t/recurse.t See if Data::Dumper::Maxrecurse works
|
||||
dist/Data-Dumper/t/seen.t See if Data::Dumper::Seen works
|
||||
dist/Data-Dumper/t/sortkeys.t See if Data::Dumper::Sortkeys works
|
||||
dist/Data-Dumper/t/sparseseen.t See if Data::Dumper::Sparseseen works
|
||||
--- ./dist/Data-Dumper/Dumper.pm.orig 2014-09-14 11:31:01.000000000 +0000
|
||||
+++ ./dist/Data-Dumper/Dumper.pm 2014-09-17 12:33:11.840499982 +0000
|
||||
@@ -56,6 +56,7 @@ $Useperl = 0 unless defined $
|
||||
$Sortkeys = 0 unless defined $Sortkeys;
|
||||
$Deparse = 0 unless defined $Deparse;
|
||||
$Sparseseen = 0 unless defined $Sparseseen;
|
||||
+$Maxrecurse = 1000 unless defined $Maxrecurse;
|
||||
|
||||
#
|
||||
# expects an arrayref of values to be dumped.
|
||||
@@ -92,6 +93,7 @@ sub new {
|
||||
'bless' => $Bless, # keyword to use for "bless"
|
||||
# expdepth => $Expdepth, # cutoff depth for explicit dumping
|
||||
maxdepth => $Maxdepth, # depth beyond which we give up
|
||||
+ maxrecurse => $Maxrecurse, # depth beyond which we abort
|
||||
useperl => $Useperl, # use the pure Perl implementation
|
||||
sortkeys => $Sortkeys, # flag or filter for sorting hash keys
|
||||
deparse => $Deparse, # use B::Deparse for coderefs
|
||||
@@ -350,6 +352,12 @@ sub _dump {
|
||||
return qq['$val'];
|
||||
}
|
||||
|
||||
+ # avoid recursing infinitely [perl #122111]
|
||||
+ if ($s->{maxrecurse} > 0
|
||||
+ and $s->{level} >= $s->{maxrecurse}) {
|
||||
+ die "Recursion limit of $s->{maxrecurse} exceeded";
|
||||
+ }
|
||||
+
|
||||
# we have a blessed ref
|
||||
my ($blesspad);
|
||||
if ($realpack and !$no_bless) {
|
||||
@@ -680,6 +688,11 @@ sub Maxdepth {
|
||||
defined($v) ? (($s->{'maxdepth'} = $v), return $s) : $s->{'maxdepth'};
|
||||
}
|
||||
|
||||
+sub Maxrecurse {
|
||||
+ my($s, $v) = @_;
|
||||
+ defined($v) ? (($s->{'maxrecurse'} = $v), return $s) : $s->{'maxrecurse'};
|
||||
+}
|
||||
+
|
||||
sub Useperl {
|
||||
my($s, $v) = @_;
|
||||
defined($v) ? (($s->{'useperl'} = $v), return $s) : $s->{'useperl'};
|
||||
@@ -1105,6 +1118,16 @@ no maximum depth.
|
||||
|
||||
=item *
|
||||
|
||||
+$Data::Dumper::Maxrecurse I<or> $I<OBJ>->Maxrecurse(I<[NEWVAL]>)
|
||||
+
|
||||
+Can be set to a positive integer that specifies the depth beyond which
|
||||
+recursion into a structure will throw an exception. This is intended
|
||||
+as a security measure to prevent perl running out of stack space when
|
||||
+dumping an excessively deep structure. Can be set to 0 to remove the
|
||||
+limit. Default is 1000.
|
||||
+
|
||||
+=item *
|
||||
+
|
||||
$Data::Dumper::Useperl I<or> $I<OBJ>->Useperl(I<[NEWVAL]>)
|
||||
|
||||
Can be set to a boolean value which controls whether the pure Perl
|
||||
--- ./dist/Data-Dumper/Dumper.xs.orig 2014-09-14 11:31:01.000000000 +0000
|
||||
+++ ./dist/Data-Dumper/Dumper.xs 2014-09-17 12:34:36.236138989 +0000
|
||||
@@ -28,7 +28,7 @@ static I32 DD_dump (pTHX_ SV *val, const
|
||||
SV *pad, SV *xpad, SV *apad, SV *sep, SV *pair,
|
||||
SV *freezer, SV *toaster,
|
||||
I32 purity, I32 deepcopy, I32 quotekeys, SV *bless,
|
||||
- I32 maxdepth, SV *sortkeys, int use_sparse_seen_hash, I32 useqq);
|
||||
+ I32 maxdepth, SV *sortkeys, int use_sparse_seen_hash, I32 useqq, IV maxrecurse);
|
||||
|
||||
#ifndef HvNAME_get
|
||||
#define HvNAME_get HvNAME
|
||||
@@ -412,7 +412,7 @@ DD_dump(pTHX_ SV *val, const char *name,
|
||||
AV *postav, I32 *levelp, I32 indent, SV *pad, SV *xpad,
|
||||
SV *apad, SV *sep, SV *pair, SV *freezer, SV *toaster, I32 purity,
|
||||
I32 deepcopy, I32 quotekeys, SV *bless, I32 maxdepth, SV *sortkeys,
|
||||
- int use_sparse_seen_hash, I32 useqq)
|
||||
+ int use_sparse_seen_hash, I32 useqq, IV maxrecurse)
|
||||
{
|
||||
char tmpbuf[128];
|
||||
Size_t i;
|
||||
@@ -589,6 +589,10 @@ DD_dump(pTHX_ SV *val, const char *name,
|
||||
return 1;
|
||||
}
|
||||
|
||||
+ if (maxrecurse > 0 && *levelp >= maxrecurse) {
|
||||
+ croak("Recursion limit of %" IVdf " exceeded", maxrecurse);
|
||||
+ }
|
||||
+
|
||||
if (realpack && !no_bless) { /* we have a blessed ref */
|
||||
STRLEN blesslen;
|
||||
const char * const blessstr = SvPV(bless, blesslen);
|
||||
@@ -674,7 +678,8 @@ DD_dump(pTHX_ SV *val, const char *name,
|
||||
DD_dump(aTHX_ ival, SvPVX_const(namesv), SvCUR(namesv), retval, seenhv,
|
||||
postav, levelp, indent, pad, xpad, apad, sep, pair,
|
||||
freezer, toaster, purity, deepcopy, quotekeys, bless,
|
||||
- maxdepth, sortkeys, use_sparse_seen_hash, useqq);
|
||||
+ maxdepth, sortkeys, use_sparse_seen_hash, useqq,
|
||||
+ maxrecurse);
|
||||
sv_catpvn(retval, ")}", 2);
|
||||
} /* plain */
|
||||
else {
|
||||
@@ -682,7 +687,8 @@ DD_dump(pTHX_ SV *val, const char *name,
|
||||
DD_dump(aTHX_ ival, SvPVX_const(namesv), SvCUR(namesv), retval, seenhv,
|
||||
postav, levelp, indent, pad, xpad, apad, sep, pair,
|
||||
freezer, toaster, purity, deepcopy, quotekeys, bless,
|
||||
- maxdepth, sortkeys, use_sparse_seen_hash, useqq);
|
||||
+ maxdepth, sortkeys, use_sparse_seen_hash, useqq,
|
||||
+ maxrecurse);
|
||||
}
|
||||
SvREFCNT_dec(namesv);
|
||||
}
|
||||
@@ -694,7 +700,8 @@ DD_dump(pTHX_ SV *val, const char *name,
|
||||
DD_dump(aTHX_ ival, SvPVX_const(namesv), SvCUR(namesv), retval, seenhv,
|
||||
postav, levelp, indent, pad, xpad, apad, sep, pair,
|
||||
freezer, toaster, purity, deepcopy, quotekeys, bless,
|
||||
- maxdepth, sortkeys, use_sparse_seen_hash, useqq);
|
||||
+ maxdepth, sortkeys, use_sparse_seen_hash, useqq,
|
||||
+ maxrecurse);
|
||||
SvREFCNT_dec(namesv);
|
||||
}
|
||||
else if (realtype == SVt_PVAV) {
|
||||
@@ -767,7 +774,8 @@ DD_dump(pTHX_ SV *val, const char *name,
|
||||
DD_dump(aTHX_ elem, iname, ilen, retval, seenhv, postav,
|
||||
levelp, indent, pad, xpad, apad, sep, pair,
|
||||
freezer, toaster, purity, deepcopy, quotekeys, bless,
|
||||
- maxdepth, sortkeys, use_sparse_seen_hash, useqq);
|
||||
+ maxdepth, sortkeys, use_sparse_seen_hash,
|
||||
+ useqq, maxrecurse);
|
||||
if (ix < ixmax)
|
||||
sv_catpvn(retval, ",", 1);
|
||||
}
|
||||
@@ -970,7 +978,8 @@ DD_dump(pTHX_ SV *val, const char *name,
|
||||
DD_dump(aTHX_ hval, SvPVX_const(sname), SvCUR(sname), retval, seenhv,
|
||||
postav, levelp, indent, pad, xpad, newapad, sep, pair,
|
||||
freezer, toaster, purity, deepcopy, quotekeys, bless,
|
||||
- maxdepth, sortkeys, use_sparse_seen_hash, useqq);
|
||||
+ maxdepth, sortkeys, use_sparse_seen_hash, useqq,
|
||||
+ maxrecurse);
|
||||
SvREFCNT_dec(sname);
|
||||
Safefree(nkey_buffer);
|
||||
if (indent >= 2)
|
||||
@@ -1179,7 +1188,8 @@ DD_dump(pTHX_ SV *val, const char *name,
|
||||
seenhv, postav, &nlevel, indent, pad, xpad,
|
||||
newapad, sep, pair, freezer, toaster, purity,
|
||||
deepcopy, quotekeys, bless, maxdepth,
|
||||
- sortkeys, use_sparse_seen_hash, useqq);
|
||||
+ sortkeys, use_sparse_seen_hash, useqq,
|
||||
+ maxrecurse);
|
||||
SvREFCNT_dec(e);
|
||||
}
|
||||
}
|
||||
@@ -1269,6 +1279,7 @@ Data_Dumper_Dumpxs(href, ...)
|
||||
SV *val, *name, *pad, *xpad, *apad, *sep, *pair, *varname;
|
||||
SV *freezer, *toaster, *bless, *sortkeys;
|
||||
I32 purity, deepcopy, quotekeys, maxdepth = 0;
|
||||
+ IV maxrecurse = 1000;
|
||||
char tmpbuf[1024];
|
||||
I32 gimme = GIMME;
|
||||
int use_sparse_seen_hash = 0;
|
||||
@@ -1355,6 +1366,8 @@ Data_Dumper_Dumpxs(href, ...)
|
||||
bless = *svp;
|
||||
if ((svp = hv_fetch(hv, "maxdepth", 8, FALSE)))
|
||||
maxdepth = SvIV(*svp);
|
||||
+ if ((svp = hv_fetch(hv, "maxrecurse", 10, FALSE)))
|
||||
+ maxrecurse = SvIV(*svp);
|
||||
if ((svp = hv_fetch(hv, "sortkeys", 8, FALSE))) {
|
||||
sortkeys = *svp;
|
||||
if (! SvTRUE(sortkeys))
|
||||
@@ -1434,7 +1447,8 @@ Data_Dumper_Dumpxs(href, ...)
|
||||
DD_dump(aTHX_ val, SvPVX_const(name), SvCUR(name), valstr, seenhv,
|
||||
postav, &level, indent, pad, xpad, newapad, sep, pair,
|
||||
freezer, toaster, purity, deepcopy, quotekeys,
|
||||
- bless, maxdepth, sortkeys, use_sparse_seen_hash, useqq);
|
||||
+ bless, maxdepth, sortkeys, use_sparse_seen_hash,
|
||||
+ useqq, maxrecurse);
|
||||
SPAGAIN;
|
||||
|
||||
if (indent >= 2 && !terse)
|
||||
--- ./dist/Data-Dumper/t/recurse.t.orig 2014-09-17 12:33:11.841499978 +0000
|
||||
+++ ./dist/Data-Dumper/t/recurse.t 2014-09-17 12:33:11.841499978 +0000
|
||||
@@ -0,0 +1,45 @@
|
||||
+#!perl
|
||||
+
|
||||
+# Test the Maxrecurse option
|
||||
+
|
||||
+use strict;
|
||||
+use Test::More tests => 32;
|
||||
+use Data::Dumper;
|
||||
+
|
||||
+SKIP: {
|
||||
+ skip "no XS available", 16
|
||||
+ if $Data::Dumper::Useperl;
|
||||
+ local $Data::Dumper::Useperl = 1;
|
||||
+ test_recursion();
|
||||
+}
|
||||
+
|
||||
+test_recursion();
|
||||
+
|
||||
+sub test_recursion {
|
||||
+ my $pp = $Data::Dumper::Useperl ? "pure perl" : "XS";
|
||||
+ $Data::Dumper::Purity = 1; # make sure this has no effect
|
||||
+ $Data::Dumper::Indent = 0;
|
||||
+ $Data::Dumper::Maxrecurse = 1;
|
||||
+ is(eval { Dumper([]) }, '$VAR1 = [];', "$pp: maxrecurse 1, []");
|
||||
+ is(eval { Dumper([[]]) }, undef, "$pp: maxrecurse 1, [[]]");
|
||||
+ ok($@, "exception thrown");
|
||||
+ is(eval { Dumper({}) }, '$VAR1 = {};', "$pp: maxrecurse 1, {}");
|
||||
+ is(eval { Dumper({ a => 1 }) }, q($VAR1 = {'a' => 1};),
|
||||
+ "$pp: maxrecurse 1, { a => 1 }");
|
||||
+ is(eval { Dumper({ a => {} }) }, undef, "$pp: maxrecurse 1, { a => {} }");
|
||||
+ ok($@, "exception thrown");
|
||||
+ is(eval { Dumper(\1) }, "\$VAR1 = \\1;", "$pp: maxrecurse 1, \\1");
|
||||
+ is(eval { Dumper(\\1) }, undef, "$pp: maxrecurse 1, \\1");
|
||||
+ ok($@, "exception thrown");
|
||||
+ $Data::Dumper::Maxrecurse = 3;
|
||||
+ is(eval { Dumper(\1) }, "\$VAR1 = \\1;", "$pp: maxrecurse 3, \\1");
|
||||
+ is(eval { Dumper(\(my $s = {})) }, "\$VAR1 = \\{};", "$pp: maxrecurse 3, \\{}");
|
||||
+ is(eval { Dumper(\(my $s = { a => [] })) }, "\$VAR1 = \\{'a' => []};",
|
||||
+ "$pp: maxrecurse 3, \\{ a => [] }");
|
||||
+ is(eval { Dumper(\(my $s = { a => [{}] })) }, undef,
|
||||
+ "$pp: maxrecurse 3, \\{ a => [{}] }");
|
||||
+ ok($@, "exception thrown");
|
||||
+ $Data::Dumper::Maxrecurse = 0;
|
||||
+ is(eval { Dumper([[[[[]]]]]) }, q($VAR1 = [[[[[]]]]];),
|
||||
+ "$pp: check Maxrecurse doesn't set limit to 0 recursion");
|
||||
+}
|
@ -1,4 +1,4 @@
|
||||
perl
|
||||
+lib(64)?/perl5/.*-linux-thread-multi.*
|
||||
+lib(64)?/perl5/.*-linux-thread-multi.*
|
||||
perl-base
|
||||
+lib(64)?/perl5/.*-linux-thread-multi.*
|
||||
+lib(64)?/perl5/.*-linux-thread-multi.*
|
||||
|
@ -1,8 +1,8 @@
|
||||
--- sv.c.bak 2014-03-24 15:11:48.007595042 +0100
|
||||
+++ sv.c 2014-03-25 11:57:41.154752451 +0100
|
||||
@@ -2008,7 +2008,7 @@ S_sv_2iuv_common(pTHX_ SV *const sv)
|
||||
if (SvNVX(sv) == (NV) SvIVX(sv)
|
||||
@@ -2175,7 +2175,7 @@ S_sv_2iuv_common(pTHX_ SV *const sv)
|
||||
#ifndef NV_PRESERVES_UV
|
||||
&& SvIVX(sv) != IV_MIN /* avoid negating IV_MIN below */
|
||||
&& (((UV)1 << NV_PRESERVES_UV_BITS) >
|
||||
- (UV)(SvIVX(sv) > 0 ? SvIVX(sv) : -SvIVX(sv)))
|
||||
+ (UV)(SvIVX(sv) > 0 ? (UV)SvIVX(sv) : -(UV)SvIVX(sv)))
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ede5ded37e7fb6139b04728cfca826f17076f9888dbfd100a56834dbeb04657c
|
||||
size 13676155
|
@ -1,71 +0,0 @@
|
||||
From 93d77ec43f0de26bc9ead97d204a680a902d59e1 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
|
||||
Date: Wed, 11 Feb 2015 15:46:37 +0100
|
||||
Subject: [PATCH] Fix Errno.pm generation for gcc-5.0
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
gcc-5.0 -E interleaves now line numbers with expended macros, so that
|
||||
the generated errno.c will be preprocessed to
|
||||
|
||||
EBFONT => [[
|
||||
59
|
||||
]]
|
||||
|
||||
which is hard to parse in in line-based reader.
|
||||
|
||||
So use -P option with gcc >= 5.0. Global -P usage would break makedepend,
|
||||
global -ftrack-macro-expansion=0 would break lib/h2ph.t.
|
||||
|
||||
RT#123784
|
||||
|
||||
Signed-off-by: Petr Písař <ppisar@redhat.com>
|
||||
---
|
||||
ext/Errno/Errno_pm.PL | 23 +++++++++++++++++------
|
||||
1 file changed, 17 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL
|
||||
index 55ad01a..63b5916 100644
|
||||
--- a/ext/Errno/Errno_pm.PL
|
||||
+++ b/ext/Errno/Errno_pm.PL
|
||||
@@ -225,20 +225,31 @@ sub write_errno_pm {
|
||||
{ # BeOS (support now removed) did not enter this block
|
||||
# invoke CPP and read the output
|
||||
|
||||
+ my $inhibit_linemarkers = '';
|
||||
+ if ($Config{gccversion} =~ /\A(\d+)\./ and $1 >= 5) {
|
||||
+ # GCC 5.0 interleaves expanded macros with line numbers breaking
|
||||
+ # each line into multiple lines. RT#123784
|
||||
+ $inhibit_linemarkers = ' -P';
|
||||
+ }
|
||||
+
|
||||
if ($^O eq 'VMS') {
|
||||
- my $cpp = "$Config{cppstdin} $Config{cppflags} $Config{cppminus}";
|
||||
+ my $cpp = "$Config{cppstdin} $Config{cppflags}" .
|
||||
+ $inhibit_linemarkers . " $Config{cppminus}";
|
||||
$cpp =~ s/sys\$input//i;
|
||||
open(CPPO,"$cpp errno.c |") or
|
||||
die "Cannot exec $Config{cppstdin}";
|
||||
} elsif ($IsMSWin32 || $^O eq 'NetWare') {
|
||||
- open(CPPO,"$Config{cpprun} $Config{cppflags} errno.c |") or
|
||||
- die "Cannot run '$Config{cpprun} $Config{cppflags} errno.c'";
|
||||
+ my $cpp = "$Config{cpprun} $Config{cppflags}" .
|
||||
+ $inhibit_linemarkers;
|
||||
+ open(CPPO,"$cpp errno.c |") or
|
||||
+ die "Cannot run '$cpp errno.c'";
|
||||
} elsif ($IsSymbian) {
|
||||
- my $cpp = "gcc -E -I$ENV{SDK}\\epoc32\\include\\libc -";
|
||||
+ my $cpp = "gcc -E -I$ENV{SDK}\\epoc32\\include\\libc" .
|
||||
+ $inhibit_linemarkers ." -";
|
||||
open(CPPO,"$cpp < errno.c |")
|
||||
or die "Cannot exec $cpp";
|
||||
} else {
|
||||
- my $cpp = default_cpp();
|
||||
+ my $cpp = default_cpp() . $inhibit_linemarkers;
|
||||
open(CPPO,"$cpp < errno.c |")
|
||||
or die "Cannot exec $cpp";
|
||||
}
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,67 +0,0 @@
|
||||
From 3bea78d24634e630b610f59957e7a019205a67b2 Mon Sep 17 00:00:00 2001
|
||||
From: Tony Cook <tony@develop-help.com>
|
||||
Date: Mon, 16 Feb 2015 15:57:00 +1100
|
||||
Subject: [PATCH 2/2] h2ph: correct handling of hex constants for the preamble
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Previously they were treated as identifiers resulting in code
|
||||
generated like C< &0xFFF >.
|
||||
|
||||
We also try to prevent compile-time warnings from large hex integers,
|
||||
the user isn't responsible for the generated code, so we delay those
|
||||
warnings to run-time.
|
||||
|
||||
Signed-off-by: Petr Písař <ppisar@redhat.com>
|
||||
---
|
||||
utils/h2ph.PL | 19 ++++++++++++++++++-
|
||||
1 file changed, 18 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/utils/h2ph.PL b/utils/h2ph.PL
|
||||
index 9a8b14d..d082f22 100644
|
||||
--- a/utils/h2ph.PL
|
||||
+++ b/utils/h2ph.PL
|
||||
@@ -769,7 +769,7 @@ sub inc_dirs
|
||||
sub build_preamble_if_necessary
|
||||
{
|
||||
# Increment $VERSION every time this function is modified:
|
||||
- my $VERSION = 3;
|
||||
+ my $VERSION = 4;
|
||||
my $preamble = "$Dest_dir/_h2ph_pre.ph";
|
||||
|
||||
# Can we skip building the preamble file?
|
||||
@@ -788,6 +788,11 @@ sub build_preamble_if_necessary
|
||||
|
||||
open PREAMBLE, ">$preamble" or die "Cannot open $preamble: $!";
|
||||
print PREAMBLE "# This file was created by h2ph version $VERSION\n";
|
||||
+ # Prevent non-portable hex constants from warning.
|
||||
+ #
|
||||
+ # We still produce an overflow warning if we can't represent
|
||||
+ # a hex constant as an integer.
|
||||
+ print PREAMBLE "no warnings qw(portable);\n";
|
||||
|
||||
foreach (sort keys %define) {
|
||||
if ($opt_D) {
|
||||
@@ -814,6 +819,18 @@ DEFINE
|
||||
# integer:
|
||||
print PREAMBLE
|
||||
"unless (defined &$_) { sub $_() { $1 } }\n\n";
|
||||
+ } elsif ($define{$_} =~ /^([+-]?0x[\da-f]+)U?L{0,2}$/i) {
|
||||
+ # hex integer
|
||||
+ # Special cased, since perl warns on hex integers
|
||||
+ # that can't be represented in a UV.
|
||||
+ #
|
||||
+ # This way we get the warning at time of use, so the user
|
||||
+ # only gets the warning if they happen to use this
|
||||
+ # platform-specific definition.
|
||||
+ my $code = $1;
|
||||
+ $code = "hex('$code')" if length $code > 10;
|
||||
+ print PREAMBLE
|
||||
+ "unless (defined &$_) { sub $_() { $code } }\n\n";
|
||||
} elsif ($define{$_} =~ /^\w+$/) {
|
||||
my $def = $define{$_};
|
||||
if ($isatype{$def}) {
|
||||
--
|
||||
2.1.0
|
||||
|
@ -1,39 +0,0 @@
|
||||
From ae54661bfad51c56e0d5c01bace60d44513a77e2 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
|
||||
Date: Tue, 17 Feb 2015 13:11:00 +0100
|
||||
Subject: [PATCH] lib/h2ph.t to test generated t/_h2ph_pre.ph instead of the
|
||||
system one
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
The lib/h2ph.t test executes a t/lib/h2ph.pht which requires
|
||||
'_h2ph_pre.ph'. This should find and exercise generated t/_h2ph_pre.ph
|
||||
file. However, it found a loaded _h2ph_pre.ph from system because the
|
||||
interpreter has the './' directory after the system paths in the @INC by
|
||||
default.
|
||||
|
||||
This patch adds '-I./' to the runperl() invocation to prefer the
|
||||
_h2ph_pre.ph generated at build time.
|
||||
|
||||
Signed-off-by: Petr Písař <ppisar@redhat.com>
|
||||
---
|
||||
lib/h2ph.t | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/h2ph.t b/lib/h2ph.t
|
||||
index 2b58f6a..64d9dc0 100644
|
||||
--- a/lib/h2ph.t
|
||||
+++ b/lib/h2ph.t
|
||||
@@ -48,7 +48,7 @@ $result = runperl( progfile => '_h2ph_pre.ph',
|
||||
stderr => 1 );
|
||||
like( $result, qr/syntax OK$/, "preamble compiles");
|
||||
|
||||
-$result = runperl( switches => ["-w"],
|
||||
+$result = runperl( switches => ['-I.', "-w"],
|
||||
stderr => 1,
|
||||
prog => <<'PROG' );
|
||||
$SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht);
|
||||
--
|
||||
2.1.0
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- ./Configure.orig 2014-05-26 13:34:18.000000000 +0000
|
||||
+++ ./Configure 2014-06-02 14:12:24.160911277 +0000
|
||||
@@ -112,7 +112,7 @@ paths="$paths /usr/5bin /etc /usr/gnu/bi
|
||||
--- ./Configure.orig 2015-05-13 22:19:28.000000000 +0200
|
||||
+++ ./Configure 2015-06-10 11:41:25.382999381 +0200
|
||||
@@ -114,7 +114,7 @@ paths="$paths /usr/5bin /etc /usr/gnu/bi
|
||||
paths="$paths /opt/gnu/bin /opt/new /opt/new/bin /opt/nbin"
|
||||
paths="$paths /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/ucb"
|
||||
paths="$paths /bsd4.3/usr/bin /usr/bsd /bsd43/bin /opt/ansic/bin /usr/ccs/bin"
|
||||
@ -9,7 +9,7 @@
|
||||
paths="$paths /sbin /usr/sbin /usr/libexec"
|
||||
paths="$paths /system/gnu_library/bin"
|
||||
|
||||
@@ -1355,7 +1355,7 @@ loclibpth="/usr/local/lib /opt/local/lib
|
||||
@@ -1422,7 +1422,7 @@ loclibpth="/usr/local/lib /opt/local/lib
|
||||
loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib"
|
||||
|
||||
: general looking path for locating libraries
|
||||
@ -18,7 +18,7 @@
|
||||
glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib"
|
||||
test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth"
|
||||
test -f /shlib/libc.so && glibpth="/shlib $glibpth"
|
||||
@@ -2446,7 +2446,7 @@ uname
|
||||
@@ -2513,7 +2513,7 @@ uname
|
||||
zip
|
||||
"
|
||||
pth=`echo $PATH | sed -e "s/$p_/ /g"`
|
||||
@ -27,7 +27,7 @@
|
||||
for file in $loclist; do
|
||||
eval xxx=\$$file
|
||||
case "$xxx" in
|
||||
@@ -11435,7 +11435,7 @@ void xxx(int n, ...)
|
||||
@@ -11763,7 +11763,7 @@ void xxx(int n, ...)
|
||||
va_start(args, n);
|
||||
exit((unsigned long)vsprintf(buf,"%s",args) > 10L);
|
||||
}
|
||||
@ -36,7 +36,7 @@
|
||||
|
||||
#else /* I_VARARGS */
|
||||
|
||||
@@ -11447,7 +11447,7 @@ va_dcl
|
||||
@@ -11775,7 +11775,7 @@ va_dcl
|
||||
va_start(args);
|
||||
exit((unsigned long)vsprintf(buf,"%s",args) > 10L);
|
||||
}
|
||||
@ -45,7 +45,7 @@
|
||||
|
||||
#endif
|
||||
|
||||
@@ -19458,14 +19458,20 @@ int main(int argc, char *argv[])
|
||||
@@ -20221,14 +20221,20 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
EOCP
|
||||
set try
|
||||
@ -66,7 +66,7 @@
|
||||
i_db=$undef
|
||||
case " $libs " in
|
||||
*"-ldb "*)
|
||||
@@ -19508,7 +19514,7 @@ int main()
|
||||
@@ -20269,7 +20275,7 @@ int main()
|
||||
}
|
||||
#endif
|
||||
EOCP
|
||||
@ -75,7 +75,7 @@
|
||||
if $contains warning try.out >>/dev/null 2>&1 ; then
|
||||
db_hashtype='int'
|
||||
else
|
||||
@@ -19553,7 +19559,7 @@ int main()
|
||||
@@ -20312,7 +20318,7 @@ int main()
|
||||
}
|
||||
#endif
|
||||
EOCP
|
||||
@ -84,7 +84,7 @@
|
||||
if $contains warning try.out >>/dev/null 2>&1 ; then
|
||||
db_prefixtype='int'
|
||||
else
|
||||
@@ -23743,7 +23749,7 @@ passcat='$passcat'
|
||||
@@ -24603,7 +24609,7 @@ passcat='$passcat'
|
||||
patchlevel='$patchlevel'
|
||||
path_sep='$path_sep'
|
||||
perl5='$perl5'
|
||||
@ -93,8 +93,8 @@
|
||||
perl_patchlevel='$perl_patchlevel'
|
||||
perl_static_inline='$perl_static_inline'
|
||||
perladmin='$perladmin'
|
||||
--- ./SuSE/SuSEconfig.perl.orig 2014-06-02 14:10:31.871498553 +0000
|
||||
+++ ./SuSE/SuSEconfig.perl 2014-06-02 14:10:31.871498553 +0000
|
||||
--- ./SuSE/SuSEconfig.perl.orig 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ ./SuSE/SuSEconfig.perl 2015-06-10 11:41:25.383999384 +0200
|
||||
@@ -0,0 +1,76 @@
|
||||
+#! /bin/bash
|
||||
+#
|
||||
@ -172,8 +172,8 @@
|
||||
+#
|
||||
+# end of file SuSEconfig.perl
|
||||
+#
|
||||
--- ./SuSE/perllocal.SuSE.orig 2014-06-02 14:10:31.871498553 +0000
|
||||
+++ ./SuSE/perllocal.SuSE 2014-06-02 14:10:31.871498553 +0000
|
||||
--- ./SuSE/perllocal.SuSE.orig 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ ./SuSE/perllocal.SuSE 2015-06-10 11:41:25.383999384 +0200
|
||||
@@ -0,0 +1,84 @@
|
||||
+#!/usr/bin/perl
|
||||
+# Copyright (c) 1998 S.u.S.E. Gmbh Fuerth, Germany. All rights reserved.
|
||||
@ -259,8 +259,8 @@
|
||||
+ print "SuSEconfig.perl: Can't write to file $Config{'installarchlib'}/perllocal.pod !\n\n";
|
||||
+}
|
||||
+
|
||||
--- ./SuSE/sysconfig.suseconfig-perl.orig 2014-06-02 14:10:31.871498553 +0000
|
||||
+++ ./SuSE/sysconfig.suseconfig-perl 2014-06-02 14:10:31.871498553 +0000
|
||||
--- ./SuSE/sysconfig.suseconfig-perl.orig 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ ./SuSE/sysconfig.suseconfig-perl 2015-06-10 11:41:25.383999384 +0200
|
||||
@@ -0,0 +1,8 @@
|
||||
+## Path: System/SuSEconfig
|
||||
+## Type: yesno
|
||||
@ -270,8 +270,8 @@
|
||||
+# May SuSEconfig modify your perllocal.pod? (yes/no)
|
||||
+#
|
||||
+CREATE_PERLLOCAL_POD="yes"
|
||||
--- ./cpan/CPAN/lib/CPAN.pm.orig 2014-05-26 13:34:18.000000000 +0000
|
||||
+++ ./cpan/CPAN/lib/CPAN.pm 2014-06-02 14:10:31.872498486 +0000
|
||||
--- ./cpan/CPAN/lib/CPAN.pm.orig 2015-05-13 22:19:28.000000000 +0200
|
||||
+++ ./cpan/CPAN/lib/CPAN.pm 2015-06-10 11:41:25.384999384 +0200
|
||||
@@ -65,7 +65,7 @@ sub _uniq;
|
||||
|
||||
no lib ".";
|
||||
@ -281,8 +281,8 @@
|
||||
if ($ENV{PERL5_CPAN_IS_RUNNING} && $$ != $ENV{PERL5_CPAN_IS_RUNNING}) {
|
||||
$ENV{PERL5_CPAN_IS_RUNNING_IN_RECURSION} ||= $ENV{PERL5_CPAN_IS_RUNNING};
|
||||
my @rec = _uniq split(/,/, $ENV{PERL5_CPAN_IS_RUNNING_IN_RECURSION}), $$;
|
||||
--- ./cpan/Compress-Raw-Zlib/config.in.orig 2014-01-31 21:55:50.000000000 +0000
|
||||
+++ ./cpan/Compress-Raw-Zlib/config.in 2014-06-02 14:10:31.872498486 +0000
|
||||
--- ./cpan/Compress-Raw-Zlib/config.in.orig 2015-05-13 22:19:28.000000000 +0200
|
||||
+++ ./cpan/Compress-Raw-Zlib/config.in 2015-06-10 11:41:25.384999384 +0200
|
||||
@@ -16,9 +16,9 @@
|
||||
# Setting the Gzip OS Code
|
||||
#
|
||||
@ -296,9 +296,9 @@
|
||||
|
||||
OLD_ZLIB = False
|
||||
GZIP_OS_CODE = AUTO_DETECT
|
||||
--- ./cpan/Encode/bin/enc2xs.orig 2014-05-26 13:34:19.000000000 +0000
|
||||
+++ ./cpan/Encode/bin/enc2xs 2014-06-02 14:10:31.872498486 +0000
|
||||
@@ -1010,13 +1010,13 @@ sub make_configlocal_pm {
|
||||
--- ./cpan/Encode/bin/enc2xs.orig 2015-05-13 22:19:28.000000000 +0200
|
||||
+++ ./cpan/Encode/bin/enc2xs 2015-06-10 11:41:25.384999384 +0200
|
||||
@@ -1025,7 +1025,7 @@ sub make_configlocal_pm {
|
||||
$LocalMod{$enc} ||= $mod;
|
||||
}
|
||||
};
|
||||
@ -307,47 +307,8 @@
|
||||
$_ModLines = "";
|
||||
for my $enc ( sort keys %LocalMod ) {
|
||||
$_ModLines .=
|
||||
qq(\$Encode::ExtModule{'$enc'} = "$LocalMod{$enc}";\n);
|
||||
}
|
||||
- warn $_ModLines;
|
||||
+ warn $_ModLines if $_ModLines ne '';
|
||||
$_LocalVer = _mkversion();
|
||||
$_E2X = find_e2x();
|
||||
$_Inc = $INC{"Encode.pm"};
|
||||
--- ./cpan/File-Temp/lib/File/Temp.pm.orig 2014-05-26 13:34:19.000000000 +0000
|
||||
+++ ./cpan/File-Temp/lib/File/Temp.pm 2014-06-02 14:10:31.872498486 +0000
|
||||
@@ -16,7 +16,7 @@ use Fcntl 1.03;
|
||||
use IO::Seekable; # For SEEK_*
|
||||
use Errno;
|
||||
use Scalar::Util 'refaddr';
|
||||
-require VMS::Stdio if $^O eq 'VMS';
|
||||
+#require VMS::Stdio if $^O eq 'VMS';
|
||||
|
||||
# pre-emptively load Carp::Heavy. If we don't when we run out of file
|
||||
# handles and attempt to call croak() we get an error message telling
|
||||
--- ./cpan/Sys-Syslog/t/syslog.t.orig 2014-01-31 21:55:50.000000000 +0000
|
||||
+++ ./cpan/Sys-Syslog/t/syslog.t 2014-06-02 14:10:31.872498486 +0000
|
||||
@@ -220,6 +220,7 @@ SKIP: {
|
||||
}
|
||||
}
|
||||
else {
|
||||
+ $r = 1 unless -e '/dev/log';
|
||||
ok( $r, "setlogsock() should return true: '$r'" );
|
||||
}
|
||||
|
||||
--- ./cpan/libnet/Net/Config.pm.orig 2014-05-26 13:34:19.000000000 +0000
|
||||
+++ ./cpan/libnet/Net/Config.pm 2014-06-02 14:10:31.873498422 +0000
|
||||
@@ -37,7 +37,7 @@ eval { local $SIG{__DIE__}; require Net:
|
||||
# Try to get as much configuration info as possible from InternetConfig
|
||||
#
|
||||
$^O eq 'MacOS' and eval <<TRY_INTERNET_CONFIG;
|
||||
-use Mac::InternetConfig;
|
||||
+#use Mac::InternetConfig;
|
||||
|
||||
{
|
||||
my %nc = (
|
||||
--- ./dist/ExtUtils-Install/lib/ExtUtils/Packlist.pm.orig 2014-05-26 13:34:19.000000000 +0000
|
||||
+++ ./dist/ExtUtils-Install/lib/ExtUtils/Packlist.pm 2014-06-02 14:10:31.873498422 +0000
|
||||
--- ./cpan/ExtUtils-Install/lib/ExtUtils/Packlist.pm.orig 2015-05-13 22:19:28.000000000 +0200
|
||||
+++ ./cpan/ExtUtils-Install/lib/ExtUtils/Packlist.pm 2015-06-10 11:41:25.386999399 +0200
|
||||
@@ -207,8 +207,11 @@ foreach my $key (sort(keys(%{$self->{dat
|
||||
{
|
||||
if (! -e $key)
|
||||
@ -362,8 +323,40 @@
|
||||
}
|
||||
}
|
||||
return(@missing);
|
||||
--- ./ext/DynaLoader/hints/linux.pl.orig 2014-01-31 21:55:51.000000000 +0000
|
||||
+++ ./ext/DynaLoader/hints/linux.pl 2014-06-02 14:10:31.873498422 +0000
|
||||
--- ./cpan/File-Temp/lib/File/Temp.pm.orig 2015-05-13 22:19:28.000000000 +0200
|
||||
+++ ./cpan/File-Temp/lib/File/Temp.pm 2015-06-10 11:41:25.385999390 +0200
|
||||
@@ -16,7 +16,7 @@ use Fcntl 1.03;
|
||||
use IO::Seekable; # For SEEK_*
|
||||
use Errno;
|
||||
use Scalar::Util 'refaddr';
|
||||
-require VMS::Stdio if $^O eq 'VMS';
|
||||
+#require VMS::Stdio if $^O eq 'VMS';
|
||||
|
||||
# pre-emptively load Carp::Heavy. If we don't when we run out of file
|
||||
# handles and attempt to call croak() we get an error message telling
|
||||
--- ./cpan/Sys-Syslog/t/syslog.t.orig 2015-05-13 22:19:29.000000000 +0200
|
||||
+++ ./cpan/Sys-Syslog/t/syslog.t 2015-06-10 11:41:25.385999390 +0200
|
||||
@@ -220,6 +220,7 @@ SKIP: {
|
||||
}
|
||||
}
|
||||
else {
|
||||
+ $r = 1 unless -e '/dev/log';
|
||||
ok( $r, "setlogsock() should return true: '$r'" );
|
||||
}
|
||||
|
||||
--- ./cpan/libnet/lib/Net/Config.pm.orig 2015-05-13 22:19:29.000000000 +0200
|
||||
+++ ./cpan/libnet/lib/Net/Config.pm 2015-06-10 11:41:25.386999399 +0200
|
||||
@@ -47,7 +47,7 @@ our %NetConfig = (
|
||||
{
|
||||
## no critic (BuiltinFunctions::ProhibitStringyEval)
|
||||
$^O eq 'MacOS' and eval <<TRY_INTERNET_CONFIG;
|
||||
-use Mac::InternetConfig;
|
||||
+#use Mac::InternetConfig;
|
||||
|
||||
{
|
||||
my %nc = (
|
||||
--- ./ext/DynaLoader/hints/linux.pl.orig 2015-05-13 22:19:29.000000000 +0200
|
||||
+++ ./ext/DynaLoader/hints/linux.pl 2015-06-10 11:41:25.386999399 +0200
|
||||
@@ -2,4 +2,7 @@
|
||||
# Some Linux releases like to hide their <nlist.h>
|
||||
$self->{CCFLAGS} = $Config{ccflags} . ' -I/usr/include/libelf'
|
||||
@ -372,8 +365,8 @@
|
||||
+# module, so add cccdlflags if we're going for a shared libperl
|
||||
+$self->{CCFLAGS} = ($self->{CCFLAGS} || $Config{ccflags}) . " $Config{cccdlflags}" if $Config{'useshrplib'} eq 'true';
|
||||
1;
|
||||
--- ./ext/ODBM_File/Makefile.PL.orig 2014-01-31 21:55:51.000000000 +0000
|
||||
+++ ./ext/ODBM_File/Makefile.PL 2014-06-02 14:10:31.873498422 +0000
|
||||
--- ./ext/ODBM_File/Makefile.PL.orig 2015-05-13 22:19:29.000000000 +0200
|
||||
+++ ./ext/ODBM_File/Makefile.PL 2015-06-10 11:41:25.386999399 +0200
|
||||
@@ -1,7 +1,7 @@
|
||||
use ExtUtils::MakeMaker;
|
||||
WriteMakefile(
|
||||
@ -383,8 +376,8 @@
|
||||
XSPROTOARG => '-noprototypes', # XXX remove later?
|
||||
VERSION_FROM => 'ODBM_File.pm',
|
||||
);
|
||||
--- ./ext/ODBM_File/hints/linux.pl.orig 2014-01-31 21:55:51.000000000 +0000
|
||||
+++ ./ext/ODBM_File/hints/linux.pl 2014-06-02 14:10:31.873498422 +0000
|
||||
--- ./ext/ODBM_File/hints/linux.pl.orig 2015-05-13 22:19:29.000000000 +0200
|
||||
+++ ./ext/ODBM_File/hints/linux.pl 2015-06-10 11:41:25.386999399 +0200
|
||||
@@ -1,5 +1,5 @@
|
||||
# uses GDBM dbm compatibility feature - at least on SuSE 8.0
|
||||
-$self->{LIBS} = ['-lgdbm'];
|
||||
@ -392,8 +385,8 @@
|
||||
|
||||
# Debian/Ubuntu have libgdbm_compat.so but not this file,
|
||||
# so linking may fail
|
||||
--- ./hints/linux.sh.orig 2014-05-26 13:34:20.000000000 +0000
|
||||
+++ ./hints/linux.sh 2014-06-02 14:28:21.977903155 +0000
|
||||
--- ./hints/linux.sh.orig 2015-05-13 22:19:29.000000000 +0200
|
||||
+++ ./hints/linux.sh 2015-06-10 11:41:25.387999412 +0200
|
||||
@@ -53,7 +53,7 @@ ignore_versioned_solibs='y'
|
||||
# BSD compatibility library no longer needed
|
||||
# 'kaffe' has a /usr/lib/libnet.so which is not at all relevant for perl.
|
||||
@ -432,7 +425,7 @@
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -204,6 +219,10 @@ case "$libc" in
|
||||
@@ -221,6 +236,10 @@ case "$libc" in
|
||||
;;
|
||||
esac
|
||||
|
||||
@ -443,7 +436,7 @@
|
||||
# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
|
||||
# for this test.
|
||||
cat >try.c <<'EOM'
|
||||
@@ -288,6 +307,29 @@ EOM
|
||||
@@ -305,6 +324,29 @@ EOM
|
||||
esac
|
||||
fi
|
||||
|
||||
@ -473,7 +466,7 @@
|
||||
rm -f try.c a.out
|
||||
|
||||
if ${sh:-/bin/sh} -c exit; then
|
||||
@@ -337,6 +379,9 @@ else
|
||||
@@ -354,6 +396,9 @@ else
|
||||
echo "Couldn't find tcsh. Csh-based globbing might be broken."
|
||||
fi
|
||||
fi
|
||||
@ -483,7 +476,7 @@
|
||||
|
||||
# Shimpei Yamashita <shimpei@socrates.patnet.caltech.edu>
|
||||
# Message-Id: <33EF1634.B36B6500@pobox.com>
|
||||
@@ -447,6 +492,8 @@ $define|true|[yY]*)
|
||||
@@ -464,6 +509,8 @@ $define|true|[yY]*)
|
||||
d_localtime_r_proto="$define"
|
||||
d_random_r_proto="$define"
|
||||
|
||||
@ -492,9 +485,9 @@
|
||||
;;
|
||||
esac
|
||||
EOCBU
|
||||
--- ./installperl.orig 2014-05-26 13:34:20.000000000 +0000
|
||||
+++ ./installperl 2014-06-02 14:10:31.873498422 +0000
|
||||
@@ -722,7 +722,7 @@ sub installlib {
|
||||
--- ./installperl.orig 2015-05-13 22:19:29.000000000 +0200
|
||||
+++ ./installperl 2015-06-10 11:41:25.387999412 +0200
|
||||
@@ -704,7 +704,7 @@ sub installlib {
|
||||
return if $name eq 'ExtUtils/XSSymSet.pm' and !$Is_VMS;
|
||||
|
||||
my $installlib = $installprivlib;
|
||||
@ -503,9 +496,9 @@
|
||||
($name =~ /^(.*)\.(?:pm|pod)$/ && $archpms{$1}) ||
|
||||
($name =~ /^(.*)\.(?:h|lib)$/i && ($Is_W32 || $Is_NetWare)) ||
|
||||
$name=~/^Config_(heavy|git)\.pl\z/
|
||||
--- ./lib/perl5db.pl.orig 2014-05-26 13:34:20.000000000 +0000
|
||||
+++ ./lib/perl5db.pl 2014-06-02 14:10:31.875498305 +0000
|
||||
@@ -2327,6 +2327,8 @@ sub _DB__handle_run_command_in_pager_com
|
||||
--- ./lib/perl5db.pl.orig 2015-05-13 22:19:30.000000000 +0200
|
||||
+++ ./lib/perl5db.pl 2015-06-10 11:41:25.389999430 +0200
|
||||
@@ -2343,6 +2343,8 @@ sub _DB__handle_run_command_in_pager_com
|
||||
open( OUT, ">&STDOUT" ) # XXX: lost message
|
||||
|| _db_warn("Can't restore DB::OUT");
|
||||
}
|
||||
@ -514,7 +507,7 @@
|
||||
next CMD;
|
||||
} ## end unless ($piped = open(OUT,...
|
||||
|
||||
@@ -2431,6 +2433,9 @@ sub _DB__at_end_of_every_command {
|
||||
@@ -2447,6 +2449,9 @@ sub _DB__at_end_of_every_command {
|
||||
$obj->selected("");
|
||||
}
|
||||
|
||||
@ -524,30 +517,8 @@
|
||||
# No pipes now.
|
||||
$obj->piped("");
|
||||
} ## end if ($piped)
|
||||
--- ./locale.c.orig 2014-06-02 14:10:31.875498305 +0000
|
||||
+++ ./locale.c 2014-06-02 14:16:48.640529661 +0000
|
||||
@@ -512,7 +512,7 @@ Perl_init_i18nl10n(pTHX_ int printwarn)
|
||||
char *p;
|
||||
const bool locwarn = (printwarn > 1 ||
|
||||
(printwarn &&
|
||||
- (!(p = PerlEnv_getenv("PERL_BADLANG")) || atoi(p))));
|
||||
+ ((p = PerlEnv_getenv("PERL_BADLANG")) && atoi(p))));
|
||||
bool done = FALSE;
|
||||
const char *system_default_locale = NULL;
|
||||
|
||||
--- ./t/op/numconvert.t.orig 2014-01-31 21:55:52.000000000 +0000
|
||||
+++ ./t/op/numconvert.t 2014-06-02 14:10:31.875498305 +0000
|
||||
@@ -47,7 +47,7 @@ my $max_chain = $ENV{PERL_TEST_NUMCONVER
|
||||
|
||||
# Bulk out if unsigned type is hopelessly wrong:
|
||||
my $max_uv1 = ~0;
|
||||
-my $max_uv2 = sprintf "%u", $max_uv1 ** 6; # 6 is an arbitrary number here
|
||||
+my $max_uv2 = sprintf "%lu", $max_uv1 ** 6; # 6 is an arbitrary number here
|
||||
my $big_iv = do {use integer; $max_uv1 * 16}; # 16 is an arbitrary number here
|
||||
my $max_uv_less3 = $max_uv1 - 3;
|
||||
|
||||
--- ./utils/perlbug.PL.orig 2014-05-26 13:34:20.000000000 +0000
|
||||
+++ ./utils/perlbug.PL 2014-06-02 14:10:31.876498251 +0000
|
||||
--- ./utils/perlbug.PL.orig 2015-05-13 22:19:31.000000000 +0200
|
||||
+++ ./utils/perlbug.PL 2015-06-10 11:41:25.390999437 +0200
|
||||
@@ -1038,6 +1038,7 @@ sub _message_headers {
|
||||
$headers{'Cc'} = $cc if ($cc);
|
||||
$headers{'Message-Id'} = $messageid if ($messageid);
|
||||
@ -556,80 +527,3 @@
|
||||
$headers{'From'} = $from if ($from);
|
||||
if ($have_attachment) {
|
||||
$headers{'MIME-Version'} = '1.0';
|
||||
--- ./t/porting/customized.dat.orig 2014-06-02 15:53:50.283278716 +0000
|
||||
+++ ./t/porting/customized.dat 2014-06-02 15:53:59.816228999 +0000
|
||||
@@ -1,5 +1,5 @@
|
||||
Digest::MD5 cpan/Digest-MD5/t/files.t bdbe05b705d9da305fedce7a9f4b6ba63250c7cf
|
||||
-Encode cpan/Encode/bin/enc2xs f60036fd3574ec05c9aab7f4db00a828d5dea92d
|
||||
+Encode cpan/Encode/bin/enc2xs f99feedf6a1a4fa2274022dd47ccd614f35ff944
|
||||
Encode cpan/Encode/Byte/Makefile.PL 0986e25f981a3bf182a13a0060d28d4efedd87e6
|
||||
Encode cpan/Encode/CN/Makefile.PL 5507a49d822d0c1d14e967f4595e29e9c873540b
|
||||
Encode cpan/Encode/EBCDIC/Makefile.PL 574289638393eb6b1109eb9a6874bfe8c5d2ddea
|
||||
--- ./cpan/IO-Socket-IP/t/15io-socket.t.orig 2014-06-02 18:04:14.281137864 +0000
|
||||
+++ ./cpan/IO-Socket-IP/t/15io-socket.t 2014-06-02 18:05:00.617893645 +0000
|
||||
@@ -15,6 +15,7 @@ use IO::Socket::IP -register;
|
||||
Type => SOCK_STREAM,
|
||||
LocalHost => "127.0.0.1",
|
||||
LocalPort => 0,
|
||||
+ GetAddrInfoFlags => 0,
|
||||
);
|
||||
|
||||
isa_ok( $sock, "IO::Socket::IP", 'IO::Socket->new( Domain => AF_INET )' );
|
||||
@@ -23,6 +24,7 @@ use IO::Socket::IP -register;
|
||||
Domain => AF_INET,
|
||||
Type => SOCK_STREAM,
|
||||
LocalHost => "::1",
|
||||
+ GetAddrInfoFlags => 0,
|
||||
);
|
||||
|
||||
ok( !defined $sock, 'Domain => AF_INET, LocalHost => "::1" fails' );
|
||||
@@ -40,6 +42,7 @@ SKIP: {
|
||||
Type => SOCK_STREAM,
|
||||
LocalHost => "::1",
|
||||
LocalPort => 0,
|
||||
+ GetAddrInfoFlags => 0,
|
||||
);
|
||||
|
||||
isa_ok( $sock, "IO::Socket::IP", 'IO::Socket->new( Domain => AF_INET6 )' ) or
|
||||
@@ -49,6 +52,7 @@ SKIP: {
|
||||
Domain => $AF_INET6,
|
||||
Type => SOCK_STREAM,
|
||||
LocalHost => "127.0.0.1",
|
||||
+ GetAddrInfoFlags => 0,
|
||||
);
|
||||
|
||||
ok( !defined $sock, 'Domain => AF_INET6, LocalHost => "127.0.0.1" fails' );
|
||||
--- ./cpan/IO-Socket-IP/t/16v6only.t.orig 2014-06-02 18:04:20.555104796 +0000
|
||||
+++ ./cpan/IO-Socket-IP/t/16v6only.t 2014-06-02 18:06:14.417504741 +0000
|
||||
@@ -25,6 +25,7 @@ my $ECONNREFUSED_STR = "$!";
|
||||
LocalPort => 0,
|
||||
Type => SOCK_STREAM,
|
||||
V6Only => 1,
|
||||
+ GetAddrInfoFlags => 0,
|
||||
) or die "Cannot listen on PF_INET6 - $@";
|
||||
|
||||
is( $listensock->getsockopt( IPPROTO_IPV6, IPV6_V6ONLY ), 1, 'IPV6_V6ONLY is 1 on $listensock' );
|
||||
@@ -34,6 +35,7 @@ my $ECONNREFUSED_STR = "$!";
|
||||
PeerHost => "127.0.0.1",
|
||||
PeerPort => $listensock->sockport,
|
||||
Type => SOCK_STREAM,
|
||||
+ GetAddrInfoFlags => 0,
|
||||
);
|
||||
my $err = "$@";
|
||||
|
||||
@@ -52,6 +54,7 @@ SKIP: {
|
||||
LocalPort => 0,
|
||||
Type => SOCK_STREAM,
|
||||
V6Only => 0,
|
||||
+ GetAddrInfoFlags => 0,
|
||||
) or die "Cannot listen on PF_INET6 - $@";
|
||||
|
||||
is( $listensock->getsockopt( IPPROTO_IPV6, IPV6_V6ONLY ), 0, 'IPV6_V6ONLY is 0 on $listensock' );
|
||||
@@ -61,6 +64,7 @@ SKIP: {
|
||||
PeerHost => "127.0.0.1",
|
||||
PeerPort => $listensock->sockport,
|
||||
Type => SOCK_STREAM,
|
||||
+ GetAddrInfoFlags => 0,
|
||||
);
|
||||
my $err = "$@";
|
||||
|
3
perl-5.22.0.tar.bz2
Normal file
3
perl-5.22.0.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3689fdb519133d039f49e12834764ff4c1de8f8d925dea44a952ca110d0ac9f7
|
||||
size 13811518
|
@ -1,6 +1,6 @@
|
||||
--- ./cpan/libnet/Net/Cmd.pm.orig 2009-09-03 14:32:13.000000000 +0000
|
||||
+++ ./cpan/libnet/Net/Cmd.pm 2009-09-03 14:47:30.000000000 +0000
|
||||
@@ -226,6 +226,10 @@ sub command {
|
||||
--- ./cpan/libnet/lib/Net/Cmd.pm.orig 2009-09-03 14:32:13.000000000 +0000
|
||||
+++ ./cpan/libnet/lib/Net/Cmd.pm 2009-09-03 14:47:30.000000000 +0000
|
||||
@@ -254,6 +254,10 @@ sub command {
|
||||
$str = $cmd->toascii($str) if $tr;
|
||||
$str .= "\015\012";
|
||||
|
||||
@ -11,9 +11,9 @@
|
||||
my $len = length $str;
|
||||
my $swlen;
|
||||
|
||||
@@ -473,6 +477,10 @@ sub rawdatasend {
|
||||
|
||||
return 0 unless defined(fileno($cmd));
|
||||
@@ -509,6 +512,10 @@ sub rawdatasend {
|
||||
return 0
|
||||
if $cmd->_is_closed;
|
||||
|
||||
+ # encode to individual utf8 bytes if
|
||||
+ # $line is a string (in internal UTF-8)
|
||||
|
@ -1,8 +1,8 @@
|
||||
--- ./regcomp.c.orig 2014-05-26 13:34:20.000000000 +0000
|
||||
+++ ./regcomp.c 2014-06-02 14:39:25.188429940 +0000
|
||||
@@ -9771,7 +9771,7 @@ S_reg(pTHX_ RExC_state_t *pRExC_state, I
|
||||
@@ -10170,7 +10170,7 @@ S_reg(pTHX_ RExC_state_t *pRExC_state, I
|
||||
|
||||
ret = reganode(pRExC_state, GOSUB, num);
|
||||
ret = reg2Lanode(pRExC_state, GOSUB, num, RExC_recurse_count);
|
||||
if (!SIZE_ONLY) {
|
||||
- if (num > (I32)RExC_rx->nparens) {
|
||||
+ if (num < 0 || num > (I32)RExC_rx->nparens) {
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- ./regcomp.c.orig 2013-06-06 13:04:19.000000000 +0000
|
||||
+++ ./regcomp.c 2013-06-06 13:15:51.000000000 +0000
|
||||
@@ -15461,8 +15461,21 @@ Perl_save_re_context(pTHX)
|
||||
--- ./regcomp.c.orig 2015-05-13 22:19:30.000000000 +0200
|
||||
+++ ./regcomp.c 2015-06-02 09:01:18.881114678 +0200
|
||||
@@ -17744,8 +17744,21 @@
|
||||
|
||||
if (gvp) {
|
||||
GV * const gv = *gvp;
|
||||
|
28
perl.changes
28
perl.changes
@ -1,3 +1,31 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Jun 22 06:47:41 UTC 2015 - dimstar@opensuse.org
|
||||
|
||||
- Reformat baselibs.conf.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 9 15:24:45 UTC 2015 - hsk@imb-jena.de
|
||||
|
||||
- update to perl-5.22.0
|
||||
* several new experimental features
|
||||
* new <<>> (double-diamond) operator
|
||||
* new "\b" boundaries in REs, w.r.t. Unicode
|
||||
* non-capturing RE flag "/n"
|
||||
* Unicode 7.0
|
||||
* "defined(@array)", "defined(%hash)" are now fatal
|
||||
* unescaped literal "{" in a pattern results in deprecation warning
|
||||
* several modules updated
|
||||
* modules CGI, Module::Build no longer included
|
||||
* for a complete list of changes see perldelta.pod
|
||||
- perl-5.20.0.dif changed to fit 5.22.0, and renamed to perl-5.22.0.dif
|
||||
- changed patches to fit 5.22.0: perl-5.18.2-overflow.diff,
|
||||
perl-netcmdutf8.diff, perl-regexp-refoverflow.diff,
|
||||
perl-saverecontext.diff
|
||||
- dropped patches (now upstream): DataDumper-no-infinite-recursion.diff,
|
||||
perl-5.20.2-Fix-Errno.pm-generation-for-gcc-5.0.patch,
|
||||
perl-5.21.8-h2ph-correct-handling-of-hex-constants-for-the-pream.patch,
|
||||
perl-5.21.8-lib-h2ph.t-to-test-generated-t-_h2ph_pre.ph-instead-.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 23 13:13:16 UTC 2015 - idonmez@suse.com
|
||||
|
||||
|
112
perl.spec
112
perl.spec
@ -21,16 +21,16 @@ Name: perl
|
||||
Summary: The Perl interpreter
|
||||
License: Artistic-1.0 or GPL-2.0+
|
||||
Group: Development/Languages/Perl
|
||||
Version: 5.20.1
|
||||
Version: 5.22.0
|
||||
Release: 0
|
||||
%define pversion 5.20.1
|
||||
%define pversion 5.22.0
|
||||
Url: http://www.perl.org/
|
||||
Source: http://www.cpan.org/src/5.0/perl-%{version}.tar.bz2
|
||||
Source1: %name-rpmlintrc
|
||||
Source2: macros.perl
|
||||
Source3: README.macros
|
||||
Source4: baselibs.conf
|
||||
Patch0: perl-5.20.0.dif
|
||||
Patch0: perl-5.22.0.dif
|
||||
Patch2: perl-regexp-refoverflow.diff
|
||||
Patch3: perl-nroff.diff
|
||||
Patch4: perl-netcmdutf8.diff
|
||||
@ -39,10 +39,6 @@ Patch6: perl-saverecontext.diff
|
||||
Patch8: skip_time_hires.patch
|
||||
Patch9: perl-incfix.diff
|
||||
Patch11: perl-5.18.2-overflow.diff
|
||||
Patch12: DataDumper-no-infinite-recursion.diff
|
||||
Patch13: perl-5.20.2-Fix-Errno.pm-generation-for-gcc-5.0.patch
|
||||
Patch14: perl-5.21.8-h2ph-correct-handling-of-hex-constants-for-the-pream.patch
|
||||
Patch15: perl-5.21.8-lib-h2ph.t-to-test-generated-t-_h2ph_pre.ph-instead-.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
PreReq: perl-base = %version
|
||||
#PreReq: %fillup_prereq
|
||||
@ -59,56 +55,62 @@ Provides: perl = %pversion-%release
|
||||
%endif
|
||||
Provides: perl-500
|
||||
Provides: perl(:MODULE_COMPAT_%pversion)
|
||||
%global versionlist 5.20.0
|
||||
Provides: perl-Filter-Simple = 0.91
|
||||
Provides: perl(:MODULE_COMPAT_5.20.0)
|
||||
Obsoletes: perl-Filter-Simple < 0.91
|
||||
%global versionlist 5.22.0
|
||||
Provides: perl-Filter-Simple = 0.92
|
||||
Provides: perl(:MODULE_COMPAT_5.22.0)
|
||||
Obsoletes: perl-Filter-Simple <= 0.92
|
||||
Provides: perl-I18N-LangTags = 0.40
|
||||
Obsoletes: perl-I18N-LangTags < 0.40
|
||||
Provides: perl-MIME-Base64 = 3.14
|
||||
Obsoletes: perl-MIME-Base64 < 3.14
|
||||
Provides: perl-Storable = 2.49
|
||||
Obsoletes: perl-Storable < 2.49
|
||||
Provides: perl-Test-Simple = 1.001003
|
||||
Obsoletes: perl-Test-Simple < 1.001003
|
||||
Provides: perl-Text-Balanced = 2.02
|
||||
Obsoletes: perl-Text-Balanced < 2.02
|
||||
Provides: perl-Time-HiRes
|
||||
Obsoletes: perl-Time-HiRes
|
||||
Provides: perl-libnet
|
||||
Obsoletes: perl-libnet
|
||||
Provides: perl-Compress-Raw-Zlib
|
||||
Obsoletes: perl-Compress-Raw-Zlib
|
||||
Provides: perl-Compress-Zlib
|
||||
Obsoletes: perl-Compress-Zlib
|
||||
Provides: perl-IO-Compress-Base
|
||||
Obsoletes: perl-IO-Compress-Base
|
||||
Provides: perl-IO-Compress-Zlib
|
||||
Obsoletes: perl-IO-Compress-Zlib
|
||||
Provides: perl-IO-Zlib
|
||||
Obsoletes: perl-IO-Zlib
|
||||
Provides: perl-Archive-Tar
|
||||
Obsoletes: perl-Archive-Tar
|
||||
Obsoletes: perl-Module-Build <= 0.4003
|
||||
Obsoletes: perl-I18N-LangTags <= 0.40
|
||||
Provides: perl-MIME-Base64 = 3.15
|
||||
Obsoletes: perl-MIME-Base64 <= 3.15
|
||||
Provides: perl-Storable = 2.53
|
||||
Obsoletes: perl-Storable <= 2.53
|
||||
Provides: perl-Test-Simple = 1.001014
|
||||
Obsoletes: perl-Test-Simple <= 1.001014
|
||||
Provides: perl-Text-Balanced = 2.03
|
||||
Obsoletes: perl-Text-Balanced <= 2.03
|
||||
Provides: perl-Time-HiRes = 1.9726
|
||||
Obsoletes: perl-Time-HiRes <= 1.9726
|
||||
Provides: perl-libnet = 3.05
|
||||
Obsoletes: perl-libnet <= 3.05
|
||||
Provides: perl-Compress-Raw-Zlib = 2.068
|
||||
Obsoletes: perl-Compress-Raw-Zlib <= 2.068
|
||||
Provides: perl-Compress-Zlib = 2.068
|
||||
Obsoletes: perl-Compress-Zlib <= 2.068
|
||||
Provides: perl-IO-Compress-Base = 2.068
|
||||
Obsoletes: perl-IO-Compress-Base <= 2.068
|
||||
Provides: perl-IO-Compress-Zlib = 2.068
|
||||
Obsoletes: perl-IO-Compress-Zlib <= 2.068
|
||||
Provides: perl-IO-Zlib = 1.10
|
||||
Obsoletes: perl-IO-Zlib <= 1.10
|
||||
Provides: perl-Archive-Tar = 2.04
|
||||
Obsoletes: perl-Archive-Tar <= 2.04
|
||||
Provides: perl-Locale-Maketext-Simple = 0.21
|
||||
Obsoletes: perl-Locale-Maketext-Simple < 0.21
|
||||
Provides: perl-Pod-Escapes = 1.06
|
||||
Obsoletes: perl-Pod-Escapes < 1.06
|
||||
Provides: perl-Pod-Simple = 3.28
|
||||
Obsoletes: perl-Pod-Simple < 3.28
|
||||
Provides: perl-ExtUtils-ParseXS = 3.24
|
||||
Obsoletes: perl-CPAN-Meta <= 2.140640
|
||||
Obsoletes: perl-Locale-Maketext-Simple <= 0.21
|
||||
Provides: perl-Pod-Escapes = 1.07
|
||||
Obsoletes: perl-Pod-Escapes <= 1.07
|
||||
Provides: perl-Pod-Simple = 3.29
|
||||
Obsoletes: perl-Pod-Simple <= 3.29
|
||||
Provides: perl-ExtUtils-ParseXS = 3.28
|
||||
Obsoletes: perl-ExtUtils-ParseXS <= 3.28
|
||||
Provides: perl-CPAN-Meta = 2.150001
|
||||
Obsoletes: perl-CPAN-Meta <= 2.150001
|
||||
Provides: perl-CPAN-Meta-YAML = 0.012
|
||||
Obsoletes: perl-CPAN-Meta-YAML <= 0.012
|
||||
Obsoletes: perl-ExtUtils-CBuilder <= 0.280217
|
||||
Obsoletes: perl-ExtUtils-ParseXS < 3.24
|
||||
Obsoletes: perl-IO-Socket-IP <= 0.29
|
||||
Provides: perl-ExtUtils-CBuilder = 0.280221
|
||||
Obsoletes: perl-ExtUtils-CBuilder <= 0.280221
|
||||
Provides: perl-IO-Socket-IP = 0.37
|
||||
Obsoletes: perl-IO-Socket-IP <= 0.37
|
||||
Provides: perl-Parse-CPAN-Meta = 1.4414
|
||||
Obsoletes: perl-Parse-CPAN-Meta <= 1.4414
|
||||
Obsoletes: perl-PathTools <= 3.48
|
||||
Obsoletes: perl-autodie <= 2.23
|
||||
Provides: perl-Test-Harness = 3.30
|
||||
Obsoletes: perl-Test-Harness < 3.30
|
||||
Provides: perl-PathTools = 3.56
|
||||
Obsoletes: perl-PathTools <= 3.56
|
||||
Provides: perl-autodie = 2.26
|
||||
Obsoletes: perl-autodie <= 2.26
|
||||
Provides: perl-Test-Harness = 3.35
|
||||
Obsoletes: perl-Test-Harness <= 3.35
|
||||
Provides: perl-version = 0.9909
|
||||
Obsoletes: perl-version < 0.9909
|
||||
Obsoletes: perl-version <= 0.9909
|
||||
|
||||
%description
|
||||
perl - Practical Extraction and Report Language
|
||||
@ -177,10 +179,6 @@ cp -p %{S:3} .
|
||||
%endif
|
||||
%patch9
|
||||
%patch11
|
||||
%patch12
|
||||
%patch13 -p1
|
||||
%patch14 -p1
|
||||
%patch15 -p1
|
||||
|
||||
%build
|
||||
cp -a lib savelib
|
||||
@ -214,7 +212,7 @@ make %{?_smp_mflags}
|
||||
cp -p libperl.so savelibperl.so
|
||||
cp -p lib/Config.pm saveConfig.pm
|
||||
cp -p lib/Config_heavy.pl saveConfig_heavy.pl
|
||||
make clean > /dev/null
|
||||
##make clean > /dev/null
|
||||
make clobber
|
||||
rm -rf lib
|
||||
mv savelib lib
|
||||
|
Loading…
Reference in New Issue
Block a user