SHA256
1
0
forked from pool/perl

Accepting request 528515 from devel:languages:perl

- update to perl-5.26.1
 * [CVE-2017-12837] Heap buffer overflow in regular expression compiler
 * [CVE-2017-12883] Buffer over-read in regular expression parser
 * tons of bug fixes
- update list of obsoletes

- update to perl-5.26.0
  * "." no longer in @INC
  * "do" may now warn
  * regexp: a literal left brace "{" should be escaped
  * lexical subroutines are no longer experimental
  * indented Here-documents
  * new regular expression modifier /xx
  * declaring a reference to a variable
  * unicode 9.0 is now supported
  * new Hash Function For 64-bit Builds
- rename perl-5.24.0.dif to perl-5.26.0.dif
- remove obsolete perl-avoid-warnings.patch
- remove obsolete Compress-Raw-Zlib-2.071-zlib-1.2.11.patch

OBS-URL: https://build.opensuse.org/request/show/528515
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/perl?expand=0&rev=104
This commit is contained in:
Dominique Leuenberger 2017-10-02 14:43:01 +00:00 committed by Git OBS Bridge
commit 6636f39d7e
14 changed files with 407 additions and 883 deletions

View File

@ -1,372 +0,0 @@
Index: perl-5.24.1/cpan/Compress-Raw-Zlib/Zlib.xs
===================================================================
--- perl-5.24.1.orig/cpan/Compress-Raw-Zlib/Zlib.xs
+++ perl-5.24.1/cpan/Compress-Raw-Zlib/Zlib.xs
@@ -74,6 +74,10 @@
# define AT_LEAST_ZLIB_1_2_8
#endif
+#if defined(ZLIB_VERNUM) && ZLIB_VERNUM >= 0x1290
+# define AT_LEAST_ZLIB_1_2_9
+#endif
+
#ifdef USE_PPPORT_H
# define NEED_sv_2pvbyte
# define NEED_sv_2pv_nolen
@@ -134,12 +138,13 @@ typedef struct di_stream {
uLong dict_adler ;
int last_error ;
bool zip_mode ;
-#define SETP_BYTE
+/* #define SETP_BYTE */
#ifdef SETP_BYTE
+ /* SETP_BYTE only works with zlib up to 1.2.8 */
bool deflateParams_out_valid ;
Bytef deflateParams_out_byte;
#else
-#define deflateParams_BUFFER_SIZE 0x4000
+#define deflateParams_BUFFER_SIZE 0x40000
uLong deflateParams_out_length;
Bytef* deflateParams_out_buffer;
#endif
@@ -636,6 +641,103 @@ char * string ;
return sv ;
}
+#if 0
+int
+flushToBuffer(di_stream* s, int flush)
+{
+ dTHX;
+ int ret ;
+ z_stream * strm = &s->stream;
+
+ Bytef* output = s->deflateParams_out_buffer ;
+
+ strm->next_in = NULL;
+ strm->avail_in = 0;
+
+ uLong total_output = 0;
+ uLong have = 0;
+
+ do
+ {
+ if (output)
+ output = (unsigned char *)saferealloc(output, total_output + s->bufsize);
+ else
+ output = (unsigned char *)safemalloc(s->bufsize);
+
+ strm->next_out = output + total_output;
+ strm->avail_out = s->bufsize;
+
+ ret = deflate(strm, flush); /* no bad return value */
+ //assert(ret != Z_STREAM_ERROR); /* state not clobbered */
+ if(ret == Z_STREAM_ERROR)
+ {
+ safefree(output);
+ return ret;
+ }
+ have = s->bufsize - strm->avail_out;
+ total_output += have;
+
+ //fprintf(stderr, "FLUSH %s %d, return %d\n", flush_flags[flush], have, ret);
+
+ } while (strm->avail_out == 0);
+
+ s->deflateParams_out_buffer = output;
+ s->deflateParams_out_length = total_output;
+
+ return Z_OK;
+}
+#endif
+
+#ifndef SETP_BYTE
+int
+flushParams(di_stream* s)
+{
+ dTHX;
+ int ret ;
+ z_stream * strm = &s->stream;
+
+ Bytef* output = s->deflateParams_out_buffer ;
+ uLong total_output = s->deflateParams_out_length;
+
+ uLong have = 0;
+
+ strm->next_in = NULL;
+ strm->avail_in = 0;
+
+ do
+ {
+ if (output)
+ output = (unsigned char *)saferealloc(output, total_output + s->bufsize);
+ else
+ output = (unsigned char *)safemalloc(s->bufsize);
+
+ strm->next_out = output + total_output;
+ strm->avail_out = s->bufsize;
+
+ ret = deflateParams(&(s->stream), s->Level, s->Strategy);
+ /* fprintf(stderr, "deflateParams %d %s %lu\n", ret,
+ GetErrorString(ret), s->bufsize - strm->avail_out); */
+
+ if (ret == Z_STREAM_ERROR)
+ break;
+
+ have = s->bufsize - strm->avail_out;
+ total_output += have;
+
+
+ } while (ret == Z_BUF_ERROR) ;
+
+ if(ret == Z_STREAM_ERROR)
+ safefree(output);
+ else
+ {
+ s->deflateParams_out_buffer = output;
+ s->deflateParams_out_length = total_output;
+ }
+
+ return ret;
+}
+#endif /* ! SETP_BYTE */
#include "constants.h"
@@ -991,20 +1093,24 @@ deflate (s, buf, output)
/* Check for saved output from deflateParams */
if (s->deflateParams_out_length) {
uLong plen = s->deflateParams_out_length ;
- /* printf("Copy %d bytes saved data\n", plen);*/
+ /* printf("Copy %lu bytes saved data\n", plen); */
if (s->stream.avail_out < plen) {
- /*printf("GROW from %d to %d\n", s->stream.avail_out,
- SvLEN(output) + plen - s->stream.avail_out); */
- Sv_Grow(output, SvLEN(output) + plen - s->stream.avail_out) ;
+ /* printf("GROW from %d to %lu\n", s->stream.avail_out,
+ SvLEN(output) + plen - s->stream.avail_out); */
+ s->stream.next_out = (Bytef*) Sv_Grow(output, SvLEN(output) + plen - s->stream.avail_out) ;
+ s->stream.next_out += cur_length;
}
- Copy(s->stream.next_out, s->deflateParams_out_buffer, plen, Bytef) ;
- cur_length = cur_length + plen;
+ Copy(s->deflateParams_out_buffer, s->stream.next_out, plen, Bytef) ;
+ cur_length += plen;
SvCUR_set(output, cur_length);
- s->stream.next_out += plen ;
- s->stream.avail_out = SvLEN(output) - cur_length ;
- increment = s->stream.avail_out;
- s->deflateParams_out_length = 0;
+ s->stream.next_out += plen ;
+ s->stream.avail_out = SvLEN(output) - cur_length ;
+ increment = s->stream.avail_out;
+
+ s->deflateParams_out_length = 0;
+ Safefree(s->deflateParams_out_buffer);
+ s->deflateParams_out_buffer = NULL;
}
#endif
RETVAL = Z_OK ;
@@ -1027,6 +1133,12 @@ deflate (s, buf, output)
}
RETVAL = deflate(&(s->stream), Z_NO_FLUSH);
+ if (RETVAL != Z_STREAM_ERROR) {
+ int done = increment - s->stream.avail_out ;
+ /* printf("std DEFLATEr returned %d '%s' avail in %d, out %d wrote %d\n", RETVAL,
+ GetErrorString(RETVAL), s->stream.avail_in,
+s->stream.avail_out, done); */
+ }
if (trace) {
printf("DEFLATE returned %d %s, avail in %d, out %d\n", RETVAL,
@@ -1080,7 +1192,6 @@ flush(s, output, f=Z_FINISH)
CODE:
bufinc = s->bufsize;
- s->stream.avail_in = 0; /* should be zero already anyway */
/* retrieve the output buffer */
output = deRef_l(output, "flush") ;
@@ -1108,20 +1219,24 @@ flush(s, output, f=Z_FINISH)
/* Check for saved output from deflateParams */
if (s->deflateParams_out_length) {
uLong plen = s->deflateParams_out_length ;
- /* printf("Copy %d bytes saved data\n", plen); */
+ /* printf("Copy %lu bytes saved data\n", plen); */
if (s->stream.avail_out < plen) {
- /* printf("GROW from %d to %d\n", s->stream.avail_out,
+ /* printf("GROW from %d to %lu\n", s->stream.avail_out,
SvLEN(output) + plen - s->stream.avail_out); */
- Sv_Grow(output, SvLEN(output) + plen - s->stream.avail_out) ;
+ s->stream.next_out = (Bytef*) Sv_Grow(output, SvLEN(output) + plen - s->stream.avail_out) ;
+ s->stream.next_out += cur_length;
}
- Copy(s->stream.next_out, s->deflateParams_out_buffer, plen, Bytef) ;
- cur_length = cur_length + plen;
+ Copy(s->deflateParams_out_buffer, s->stream.next_out, plen, Bytef) ;
+ cur_length += plen;
SvCUR_set(output, cur_length);
- s->stream.next_out += plen ;
- s->stream.avail_out = SvLEN(output) - cur_length ;
- increment = s->stream.avail_out;
- s->deflateParams_out_length = 0;
+ s->stream.next_out += plen ;
+ s->stream.avail_out = SvLEN(output) - cur_length ;
+ increment = s->stream.avail_out;
+
+ s->deflateParams_out_length = 0;
+ Safefree(s->deflateParams_out_buffer);
+ s->deflateParams_out_buffer = NULL;
}
#endif
@@ -1145,9 +1260,15 @@ flush(s, output, f=Z_FINISH)
}
RETVAL = deflate(&(s->stream), f);
+ if (RETVAL != Z_STREAM_ERROR) {
+ int done = availableout - s->stream.avail_out ;
+ /* printf("flush DEFLATEr returned %d '%s' avail in %d, out %d wrote %d\n", RETVAL,
+ GetErrorString(RETVAL), s->stream.avail_in,
+s->stream.avail_out, done); */
+ }
if (trace) {
- printf("flush DEFLATE returned %d %s, avail in %d, out %d\n", RETVAL,
+ printf("flush DEFLATE returned %d '%s', avail in %d, out %d\n", RETVAL,
GetErrorString(RETVAL), s->stream.avail_in, s->stream.avail_out);
DispStream(s, "AFTER");
}
@@ -1184,41 +1305,38 @@ _deflateParams(s, flags, level, strategy
int level
int strategy
uLong bufsize
+ bool changed = FALSE;
CODE:
- /* printf("_deflateParams(Flags %d Level %d Strategy %d Bufsize %d)\n", flags, level, strategy, bufsize);
- printf("Before -- Level %d, Strategy %d, Bufsize %d\n", s->Level, s->Strategy, s->bufsize); */
- if (flags & 1)
- s->Level = level ;
- if (flags & 2)
- s->Strategy = strategy ;
- if (flags & 4) {
+ /* printf("_deflateParams(Flags %d Level %d Strategy %d Bufsize %d)\n", flags, level, strategy, bufsize);
+ printf("Before -- Level %d, Strategy %d, Bufsize %d\n", s->Level, s->Strategy, s->bufsize); */
+ if (flags & 1 && level != s->Level) {
+ s->Level = level ;
+ changed = TRUE;
+ }
+ if (flags & 2 && strategy != s->Strategy) {
+ s->Strategy = strategy ;
+ changed = TRUE;
+ }
+ if (flags & 4)
s->bufsize = bufsize;
- }
- /* printf("After -- Level %d, Strategy %d, Bufsize %d\n", s->Level, s->Strategy, s->bufsize);*/
+ if (changed) {
#ifdef SETP_BYTE
- s->stream.avail_in = 0;
- s->stream.next_out = &(s->deflateParams_out_byte) ;
- s->stream.avail_out = 1;
- RETVAL = deflateParams(&(s->stream), s->Level, s->Strategy);
- s->deflateParams_out_valid =
- (RETVAL == Z_OK && s->stream.avail_out == 0) ;
- /* printf("RETVAL %d, avail out %d, byte %c\n", RETVAL, s->stream.avail_out, s->deflateParams_out_byte); */
+ s->stream.avail_in = 0;
+ s->stream.next_out = &(s->deflateParams_out_byte) ;
+ s->stream.avail_out = 1;
+ RETVAL = deflateParams(&(s->stream), s->Level, s->Strategy);
+ s->deflateParams_out_valid =
+ (RETVAL == Z_OK && s->stream.avail_out == 0) ;
#else
- /* printf("Level %d Strategy %d, Prev Len %d\n",
+ /* printf("Level %d Strategy %d, Prev Len %d\n",
s->Level, s->Strategy, s->deflateParams_out_length); */
- s->stream.avail_in = 0;
- if (s->deflateParams_out_buffer == NULL)
- s->deflateParams_out_buffer = safemalloc(deflateParams_BUFFER_SIZE);
- s->stream.next_out = s->deflateParams_out_buffer ;
- s->stream.avail_out = deflateParams_BUFFER_SIZE;
-
- RETVAL = deflateParams(&(s->stream), s->Level, s->Strategy);
- s->deflateParams_out_length = deflateParams_BUFFER_SIZE - s->stream.avail_out;
- /* printf("RETVAL %d, length out %d, avail %d\n",
- RETVAL, s->deflateParams_out_length, s->stream.avail_out ); */
+ RETVAL = flushParams(s);
#endif
+ }
+ else
+ RETVAL = Z_OK;
OUTPUT:
- RETVAL
+ RETVAL
int
Index: perl-5.24.1/cpan/Compress-Raw-Zlib/t/02zlib.t
===================================================================
--- perl-5.24.1.orig/cpan/Compress-Raw-Zlib/t/02zlib.t
+++ perl-5.24.1/cpan/Compress-Raw-Zlib/t/02zlib.t
@@ -27,7 +27,7 @@ BEGIN
$count = 232 ;
}
elsif ($] >= 5.006) {
- $count = 317 ;
+ $count = 320 ;
}
else {
$count = 275 ;
@@ -559,6 +559,13 @@ SKIP:
is $x->get_Level(), Z_BEST_SPEED;
is $x->get_Strategy(), Z_HUFFMAN_ONLY;
+ # change both Level & Strategy again without any calls to deflate
+ $status = $x->deflateParams(-Level => Z_DEFAULT_COMPRESSION, -Strategy => Z_DEFAULT_STRATEGY, -Bufsize => 1234) ;
+ cmp_ok $status, '==', Z_OK ;
+
+ is $x->get_Level(), Z_DEFAULT_COMPRESSION;
+ is $x->get_Strategy(), Z_DEFAULT_STRATEGY;
+
$status = $x->deflate($goodbye, $Answer) ;
cmp_ok $status, '==', Z_OK ;
$input .= $goodbye;
@@ -568,7 +575,7 @@ SKIP:
cmp_ok $status, '==', Z_OK ;
is $x->get_Level(), Z_NO_COMPRESSION;
- is $x->get_Strategy(), Z_HUFFMAN_ONLY;
+ is $x->get_Strategy(), Z_DEFAULT_STRATEGY;
$status = $x->deflate($goodbye, $Answer) ;
cmp_ok $status, '==', Z_OK ;
Index: perl-5.24.1/cpan/Compress-Raw-Zlib/t/compress/CompTestUtils.pm
===================================================================
--- perl-5.24.1.orig/cpan/Compress-Raw-Zlib/t/compress/CompTestUtils.pm
+++ perl-5.24.1/cpan/Compress-Raw-Zlib/t/compress/CompTestUtils.pm
@@ -70,8 +70,8 @@ BEGIN {
our ($index);
$index = '00000';
- our ($useTempFile) = defined &File::Temp::tempdir;
- our ($useTempDir) = defined &File::Temp::newdir;
+ our ($useTempFile);
+ our ($useTempDir);
sub new
{
Index: perl-5.24.1/cpan/Compress-Raw-Zlib/zlib-src/inflate.c
===================================================================
--- perl-5.24.1.orig/cpan/Compress-Raw-Zlib/zlib-src/inflate.c
+++ perl-5.24.1/cpan/Compress-Raw-Zlib/zlib-src/inflate.c
@@ -1494,6 +1494,7 @@ int ZEXPORT inflateUndermine(
state->sane = !subvert;
return Z_OK;
#else
+ (void)subvert;
state->sane = 1;
return Z_DATA_ERROR;
#endif

View File

@ -1,10 +1,8 @@
Index: cpan/Math-BigInt/lib/Math/BigInt/CalcEmu.pm
===================================================================
--- cpan/Math-BigInt/lib/Math/BigInt/CalcEmu.pm.orig
+++ cpan/Math-BigInt/lib/Math/BigInt/CalcEmu.pm
@@ -7,7 +7,8 @@ use warnings;
our $VERSION = '1.999715';
$VERSION = eval $VERSION;
--- ./cpan/Math-BigInt/lib/Math/BigInt/CalcEmu.pm.orig 2017-04-19 13:37:05.000000000 +0000
+++ ./cpan/Math-BigInt/lib/Math/BigInt/CalcEmu.pm 2017-08-30 12:16:04.561183753 +0000
@@ -6,7 +6,8 @@ use warnings;
our $VERSION = '1.999806';
-package Math::BigInt;
+package Math::BigInt # line break to prevent wrong rpm provides
@ -12,10 +10,8 @@ Index: cpan/Math-BigInt/lib/Math/BigInt/CalcEmu.pm
# See SYNOPSIS below.
Index: lib/sigtrap.pm
===================================================================
--- lib/sigtrap.pm.orig
+++ lib/sigtrap.pm
--- ./lib/sigtrap.pm.orig 2017-04-19 13:37:05.000000000 +0000
+++ ./lib/sigtrap.pm 2017-08-30 12:16:04.561183753 +0000
@@ -80,7 +80,8 @@ sub handler_die {
}

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:03a77bac4505c270f1890ece75afc7d4b555090b41aa41ea478747e23b2afb3f
size 11569284

View File

@ -1,7 +1,5 @@
Index: Configure
===================================================================
--- Configure.orig
+++ Configure
--- ./Configure.orig 2017-05-30 09:57:56.000000000 +0000
+++ ./Configure 2017-08-30 12:05:40.255184858 +0000
@@ -117,7 +117,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"
@ -11,7 +9,7 @@ Index: Configure
paths="$paths /sbin /usr/sbin /usr/libexec"
paths="$paths /system/gnu_library/bin"
@@ -1446,7 +1446,7 @@ loclibpth="/usr/local/lib /opt/local/lib
@@ -1464,7 +1464,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
@ -20,7 +18,7 @@ Index: Configure
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"
@@ -2541,7 +2541,7 @@ uname
@@ -2559,7 +2559,7 @@ uname
zip
"
pth=`echo $PATH | sed -e "s/$p_/ /g"`
@ -29,7 +27,7 @@ Index: Configure
for file in $loclist; do
eval xxx=\$$file
case "$xxx" in
@@ -11838,7 +11838,7 @@ void xxx(int n, ...)
@@ -11963,7 +11963,7 @@ void xxx(int n, ...)
va_start(args, n);
exit((unsigned long)vsprintf(buf,"%s",args) > 10L);
}
@ -38,7 +36,7 @@ Index: Configure
#else /* I_VARARGS */
@@ -11850,7 +11850,7 @@ va_dcl
@@ -11975,7 +11975,7 @@ va_dcl
va_start(args);
exit((unsigned long)vsprintf(buf,"%s",args) > 10L);
}
@ -47,7 +45,7 @@ Index: Configure
#endif
@@ -20354,14 +20354,20 @@ int main(int argc, char *argv[])
@@ -20516,14 +20516,20 @@ int main(int argc, char *argv[])
}
EOCP
set try
@ -68,7 +66,7 @@ Index: Configure
i_db=$undef
case " $libs " in
*"-ldb "*)
@@ -20402,7 +20408,7 @@ int main()
@@ -20564,7 +20570,7 @@ int main()
}
#endif
EOCP
@ -77,7 +75,7 @@ Index: Configure
if $contains warning try.out >>/dev/null 2>&1 ; then
db_hashtype='int'
else
@@ -20445,7 +20451,7 @@ int main()
@@ -20607,7 +20613,7 @@ int main()
}
#endif
EOCP
@ -86,7 +84,7 @@ Index: Configure
if $contains warning try.out >>/dev/null 2>&1 ; then
db_prefixtype='int'
else
@@ -25039,7 +25045,7 @@ passcat='$passcat'
@@ -25304,7 +25310,7 @@ passcat='$passcat'
patchlevel='$patchlevel'
path_sep='$path_sep'
perl5='$perl5'
@ -95,270 +93,87 @@ Index: Configure
perl_patchlevel='$perl_patchlevel'
perl_static_inline='$perl_static_inline'
perladmin='$perladmin'
Index: cpan/Compress-Raw-Zlib/config.in
===================================================================
--- cpan/Compress-Raw-Zlib/config.in.orig
+++ cpan/Compress-Raw-Zlib/config.in
@@ -16,9 +16,9 @@
# Setting the Gzip OS Code
#
-BUILD_ZLIB = True
-INCLUDE = ./zlib-src
-LIB = ./zlib-src
+BUILD_ZLIB = False
+INCLUDE = /usr/include
+LIB = /usr/lib
OLD_ZLIB = False
GZIP_OS_CODE = AUTO_DETECT
Index: cpan/Encode/bin/enc2xs
===================================================================
--- cpan/Encode/bin/enc2xs.orig
+++ cpan/Encode/bin/enc2xs
@@ -1066,7 +1066,7 @@ sub make_configlocal_pm {
$LocalMod{$enc} ||= $mod;
}
};
- File::Find::find({wanted => $wanted}, @INC);
+ File::Find::find({wanted => $wanted}, grep {$_ ne '.'} @INC);
$_ModLines = "";
for my $enc ( sort keys %LocalMod ) {
$_ModLines .=
Index: cpan/ExtUtils-Install/lib/ExtUtils/Packlist.pm
===================================================================
--- cpan/ExtUtils-Install/lib/ExtUtils/Packlist.pm.orig
+++ cpan/ExtUtils-Install/lib/ExtUtils/Packlist.pm
@@ -207,8 +207,11 @@ foreach my $key (sort(keys(%{$self->{dat
{
if (! -e $key)
{
- push(@missing, $key);
- delete($self->{data}{$key}) if ($remove);
+ if (($key !~ m!/man/!) || ! -e "$key.gz")
+ {
+ push(@missing, $key);
+ delete($self->{data}{$key}) if ($remove);
+ }
}
}
return(@missing);
Index: cpan/File-Temp/lib/File/Temp.pm
===================================================================
--- cpan/File-Temp/lib/File/Temp.pm.orig
+++ cpan/File-Temp/lib/File/Temp.pm
@@ -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
Index: cpan/libnet/lib/Net/Config.pm
===================================================================
--- cpan/libnet/lib/Net/Config.pm.orig
+++ cpan/libnet/lib/Net/Config.pm
@@ -53,7 +53,7 @@ our %NetConfig = (
{
## no critic (BuiltinFunctions::ProhibitStringyEval)
$^O eq 'MacOS' and eval <<TRY_INTERNET_CONFIG;
-use Mac::InternetConfig;
+#use Mac::InternetConfig;
{
my %nc = (
Index: cpan/Sys-Syslog/t/syslog.t
===================================================================
--- cpan/Sys-Syslog/t/syslog.t.orig
+++ cpan/Sys-Syslog/t/syslog.t
@@ -220,6 +220,7 @@ SKIP: {
}
}
else {
+ $r = 1 unless -e '/dev/log';
ok( $r, "setlogsock() should return true: '$r'" );
}
Index: ext/DynaLoader/hints/linux.pl
===================================================================
--- ext/DynaLoader/hints/linux.pl.orig
+++ ext/DynaLoader/hints/linux.pl
@@ -2,4 +2,7 @@
# Some Linux releases like to hide their <nlist.h>
$self->{CCFLAGS} = $Config{ccflags} . ' -I/usr/include/libelf'
if -f "/usr/include/libelf/nlist.h";
+# Some silly modules like mod_perl use DynaLoader.a in a shared
+# 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;
Index: ext/ODBM_File/hints/linux.pl
===================================================================
--- ext/ODBM_File/hints/linux.pl.orig
+++ ext/ODBM_File/hints/linux.pl
@@ -1,5 +1,5 @@
# uses GDBM dbm compatibility feature - at least on SuSE 8.0
-$self->{LIBS} = ['-lgdbm'];
+$self->{LIBS} = ['-lgdbm -lgdbm_compat'];
# Debian/Ubuntu have libgdbm_compat.so but not this file,
# so linking may fail
Index: ext/ODBM_File/Makefile.PL
===================================================================
--- ext/ODBM_File/Makefile.PL.orig
+++ ext/ODBM_File/Makefile.PL
@@ -1,7 +1,7 @@
use ExtUtils::MakeMaker;
WriteMakefile(
NAME => 'ODBM_File',
- LIBS => ["-ldbm -lucb"],
+ LIBS => ["-lgdbm -lucb"],
XSPROTOARG => '-noprototypes', # XXX remove later?
VERSION_FROM => 'ODBM_File.pm',
);
Index: hints/linux.sh
===================================================================
--- hints/linux.sh.orig
+++ hints/linux.sh
@@ -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.
# bind causes issues with several reentrant functions
-set `echo X "$libswanted "| sed -e 's/ bsd / /' -e 's/ net / /' -e 's/ bind / /'`
+set `echo X "$libswanted "| sed -e 's/ bsd / /' -e 's/ net / /' -e 's/ bind / /' -e 's/ db / /' -e 's/ gdbm / /' -e 's/ ndbm / /'`
shift
libswanted="$*"
@@ -64,6 +64,20 @@ if echo " $libswanted " | grep -q ' gdbm
libswanted="$libswanted gdbm_compat"
fi
+if test -e /lib64/libc.so.6 ; then
+ libc=`ls -l /lib64/libc.so.6 | awk '{print $NF}'`
+ libc=/lib64/$libc
+ glibpth='/lib64 /usr/lib64 /usr/local/lib64'
+ libspath='/usr/local/lib64 /lib64 /usr/lib64'
+ loclibpth='/usr/local/lib64'
+ lddlflags='-shared -L/usr/local/lib64'
+ ldflags=' -L/usr/local/lib64'
+ libs='-lm -ldl -lcrypt'
+elif test -L /lib/libc.so.6; then
+ libc=`ls -l /lib/libc.so.6 | awk '{print $NF}'`
+ libc=/lib/$libc
--- ./SuSE/SuSEconfig.perl.orig 2017-08-30 12:05:40.265184858 +0000
+++ ./SuSE/SuSEconfig.perl 2017-08-30 12:05:40.265184858 +0000
@@ -0,0 +1,76 @@
+#! /bin/bash
+#
+# Copyright (c) 1996 S.u.S.E. Gmbh Fuerth, Germany. All rights reserved.
+#
+# Author: Burchard Steinbild <bs@suse.de>, 1996
+# Martin Scherbaum <maddin@suse.de>, 5/1997
+# Ruediger Oertel <ro@suse.de>, 7/1998
+
+#
+# Variables in /etc/sysconfig/suseconfig used by this script are:
+# CREATE_PERLLOCAL_POD
+#
+# This script calls the scripts:
+# /usr/sbin/perllocal.suse which comes from the package perl
+#
+
+#
+# check if we are started as root
+# only one of UID and USER must be set correctly
+#
+if test "$UID" != 0 -a "$USER" != root; then
+ echo "You must be root to start $0."
+ exit 1
+fi
+
# Configure may fail to find lstat() since it's a static/inline
# function in <sys/stat.h>.
d_lstat=define
@@ -147,6 +161,7 @@ case "$optimize" in
esac
;;
esac
+ optimize="$optimize --pipe"
;;
esac
@@ -221,6 +236,10 @@ case "$libc" in
;;
esac
+man1dir=/usr/share/man/man1
+man3dir=/usr/share/man/man3
+man3ext=3pm
+#
+# SuSEconfig sometimes sets the variable CHECK_NEWPACKAGE. If it is set
+# to false, we don't have to do anything.
+#
+test "$CHECK_NEWPACKAGE" = false && exit 0
+
# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
# for this test.
cat >try.c <<'EOM'
@@ -305,6 +324,29 @@ EOM
esac
fi
+case `uname -m` in
+i?86) archname='i586-linux';;
+*) archname=`uname -m`-linux;;
+esac
+test -f /etc/sysconfig/suseconfig || { echo "No /etc/sysconfig/suseconfig found." && exit 1 ; }
+. /etc/sysconfig/suseconfig
+
+case $archname in
+sparc64-linux) glibpth="/lib64 /usr/lib64";;
+esac
+# this skript only works in a running system.
+
+cf_email='none'
+#libs='-lgdbm -ldb -ldl -lm -lc'
+#libs='-ldl -lm -lc'
+test -n "$ROOT" && exit 0
+
+usedl='true'
+dlsrc='dl_dlopen.xs'
+d_dosuid='undef'
+d_bincompat3='y'
+perl -e 'exit 0' 2>/dev/null || { echo "Perl not found." && exit 0 ; }
+
+# We don't want to add /usr/local/include and /usr/local/lib to the search
+# paths, they are already searched by default.
+locincpth=
+loclibpth=
+#
+# see if we may do any work
+#
+test -n "$CREATE_PERLLOCAL_POD" -a "$CREATE_PERLLOCAL_POD" = "yes" \
+ || { echo "disabled in sysconfig/suseconfig" && exit 1 ; }
+
+#
+# check if anything to add
+#
+PERLLOCAL_PATH=`perl -V:installarchlib | sed -e "s/.*='\(.*\)'.*/\1/"`
+
rm -f try.c a.out
if ${sh:-/bin/sh} -c exit; then
@@ -354,6 +396,9 @@ else
echo "Couldn't find tcsh. Csh-based globbing might be broken."
fi
fi
+csh=''
+d_csh='undef'
+full_csh=''
# Shimpei Yamashita <shimpei@socrates.patnet.caltech.edu>
# Message-Id: <33EF1634.B36B6500@pobox.com>
@@ -464,6 +509,8 @@ $define|true|[yY]*)
d_localtime_r_proto="$define"
d_random_r_proto="$define"
+ test -e /lib64/libc.so.6 && libs='-lm -ldl -lcrypt -lpthread'
+NEEDED="false"
+
;;
esac
EOCBU
Index: installperl
===================================================================
--- installperl.orig
+++ installperl
@@ -728,7 +728,7 @@ sub installlib {
return if $name eq 'ExtUtils/MakeMaker/version/regex.pm';
my $installlib = $installprivlib;
- if ($dir =~ /^auto\// ||
+ if (($dir =~ /^auto\// && $dir ne 'auto/Compress/Zlib') ||
($name =~ /^(.*)\.(?:pm|pod)$/ && $archpms{$1}) ||
($name =~ /^(.*)\.(?:h|lib)$/i && ($Is_W32 || $Is_NetWare)) ||
$name=~/^Config_(heavy|git)\.pl\z/
Index: lib/perl5db.pl
===================================================================
--- lib/perl5db.pl.orig
+++ lib/perl5db.pl
@@ -2359,6 +2359,8 @@ sub _DB__handle_run_command_in_pager_com
open( OUT, ">&STDOUT" ) # XXX: lost message
|| _db_warn("Can't restore DB::OUT");
}
+ # tell readline the new OUT handle
+ $term->Attribs()->{outstream} = *OUT if defined &Term::ReadLine::Gnu::readline;
next CMD;
} ## end unless ($piped = open(OUT,...
@@ -2463,6 +2465,9 @@ sub _DB__at_end_of_every_command {
$obj->selected("");
}
+ # tell readline the new OUT handle
+ $term->Attribs()->{outstream} = *OUT if defined &Term::ReadLine::Gnu::readline;
+if test -d /var/adm/perl-modules ; then
+ if test /var/adm/perl-modules -nt $PERLLOCAL_PATH/perllocal.pod ; then
+ NEEDED="true"
+ elif test ! -f $PERLLOCAL_PATH/perllocal.pod ; then
+ NEEDED="true"
+ fi
+fi
+
# No pipes now.
$obj->piped("");
} ## end if ($piped)
Index: SuSE/perllocal.SuSE
===================================================================
--- /dev/null
+++ SuSE/perllocal.SuSE
+#
+# now call the working script
+#
+if "$NEEDED" = "true" ; then
+ if test -x /usr/lib/perl5/perllocal.SuSE ; then
+ /usr/lib/perl5/perllocal.SuSE
+ pod2man $PERLLOCAL_PATH/perllocal.pod | gzip > /usr/share/man/man3/perllocal.3pm.gz
+ else
+ echo "SuSEconfig.perl: /usr/lib/perl5/perllocal.SuSE not found!"
+ fi
+fi
+
+#
+# end of file SuSEconfig.perl
+#
--- ./SuSE/perllocal.SuSE.orig 2017-08-30 12:05:40.264184858 +0000
+++ ./SuSE/perllocal.SuSE 2017-08-30 12:05:40.264184858 +0000
@@ -0,0 +1,84 @@
+#!/usr/bin/perl
+# Copyright (c) 1998 S.u.S.E. Gmbh Fuerth, Germany. All rights reserved.
@ -444,91 +259,8 @@ Index: SuSE/perllocal.SuSE
+ print "SuSEconfig.perl: Can't write to file $Config{'installarchlib'}/perllocal.pod !\n\n";
+}
+
Index: SuSE/SuSEconfig.perl
===================================================================
--- /dev/null
+++ SuSE/SuSEconfig.perl
@@ -0,0 +1,76 @@
+#! /bin/bash
+#
+# Copyright (c) 1996 S.u.S.E. Gmbh Fuerth, Germany. All rights reserved.
+#
+# Author: Burchard Steinbild <bs@suse.de>, 1996
+# Martin Scherbaum <maddin@suse.de>, 5/1997
+# Ruediger Oertel <ro@suse.de>, 7/1998
+
+#
+# Variables in /etc/sysconfig/suseconfig used by this script are:
+# CREATE_PERLLOCAL_POD
+#
+# This script calls the scripts:
+# /usr/sbin/perllocal.suse which comes from the package perl
+#
+
+#
+# check if we are started as root
+# only one of UID and USER must be set correctly
+#
+if test "$UID" != 0 -a "$USER" != root; then
+ echo "You must be root to start $0."
+ exit 1
+fi
+
+#
+# SuSEconfig sometimes sets the variable CHECK_NEWPACKAGE. If it is set
+# to false, we don't have to do anything.
+#
+test "$CHECK_NEWPACKAGE" = false && exit 0
+
+test -f /etc/sysconfig/suseconfig || { echo "No /etc/sysconfig/suseconfig found." && exit 1 ; }
+. /etc/sysconfig/suseconfig
+
+# this skript only works in a running system.
+
+test -n "$ROOT" && exit 0
+
+perl -e 'exit 0' 2>/dev/null || { echo "Perl not found." && exit 0 ; }
+
+#
+# see if we may do any work
+#
+test -n "$CREATE_PERLLOCAL_POD" -a "$CREATE_PERLLOCAL_POD" = "yes" \
+ || { echo "disabled in sysconfig/suseconfig" && exit 1 ; }
+
+#
+# check if anything to add
+#
+PERLLOCAL_PATH=`perl -V:installarchlib | sed -e "s/.*='\(.*\)'.*/\1/"`
+
+NEEDED="false"
+
+if test -d /var/adm/perl-modules ; then
+ if test /var/adm/perl-modules -nt $PERLLOCAL_PATH/perllocal.pod ; then
+ NEEDED="true"
+ elif test ! -f $PERLLOCAL_PATH/perllocal.pod ; then
+ NEEDED="true"
+ fi
+fi
+
+#
+# now call the working script
+#
+if "$NEEDED" = "true" ; then
+ if test -x /usr/lib/perl5/perllocal.SuSE ; then
+ /usr/lib/perl5/perllocal.SuSE
+ pod2man $PERLLOCAL_PATH/perllocal.pod | gzip > /usr/share/man/man3/perllocal.3pm.gz
+ else
+ echo "SuSEconfig.perl: /usr/lib/perl5/perllocal.SuSE not found!"
+ fi
+fi
+
+#
+# end of file SuSEconfig.perl
+#
Index: SuSE/sysconfig.suseconfig-perl
===================================================================
--- /dev/null
+++ SuSE/sysconfig.suseconfig-perl
--- ./SuSE/sysconfig.suseconfig-perl.orig 2017-08-30 12:05:40.265184858 +0000
+++ ./SuSE/sysconfig.suseconfig-perl 2017-08-30 12:05:40.265184858 +0000
@@ -0,0 +1,8 @@
+## Path: System/SuSEconfig
+## Type: yesno
@ -538,11 +270,238 @@ Index: SuSE/sysconfig.suseconfig-perl
+# May SuSEconfig modify your perllocal.pod? (yes/no)
+#
+CREATE_PERLLOCAL_POD="yes"
Index: utils/perlbug.PL
===================================================================
--- utils/perlbug.PL.orig
+++ utils/perlbug.PL
@@ -1039,6 +1039,7 @@ sub _message_headers {
--- ./cpan/Compress-Raw-Zlib/config.in.orig 2017-02-28 12:36:42.000000000 +0000
+++ ./cpan/Compress-Raw-Zlib/config.in 2017-08-30 12:05:40.256184858 +0000
@@ -16,9 +16,9 @@
# Setting the Gzip OS Code
#
-BUILD_ZLIB = True
-INCLUDE = ./zlib-src
-LIB = ./zlib-src
+BUILD_ZLIB = False
+INCLUDE = /usr/include
+LIB = /usr/lib
OLD_ZLIB = False
GZIP_OS_CODE = AUTO_DETECT
--- ./cpan/Encode/bin/enc2xs.orig 2017-04-19 13:37:05.000000000 +0000
+++ ./cpan/Encode/bin/enc2xs 2017-08-30 12:05:40.257184858 +0000
@@ -1094,7 +1094,7 @@ sub make_configlocal_pm {
$LocalMod{$enc} ||= $mod;
}
};
- File::Find::find({wanted => $wanted}, @INC);
+ File::Find::find({wanted => $wanted}, grep {$_ ne '.'} @INC);
$_ModLines = "";
for my $enc ( sort keys %LocalMod ) {
$_ModLines .=
--- ./cpan/ExtUtils-Install/lib/ExtUtils/Packlist.pm.orig 2017-04-19 13:37:05.000000000 +0000
+++ ./cpan/ExtUtils-Install/lib/ExtUtils/Packlist.pm 2017-08-30 12:05:40.257184858 +0000
@@ -207,8 +207,11 @@ foreach my $key (sort(keys(%{$self->{dat
{
if (! -e $key)
{
- push(@missing, $key);
- delete($self->{data}{$key}) if ($remove);
+ if (($key !~ m!/man/!) || ! -e "$key.gz")
+ {
+ push(@missing, $key);
+ delete($self->{data}{$key}) if ($remove);
+ }
}
}
return(@missing);
--- ./cpan/File-Temp/lib/File/Temp.pm.orig 2017-04-19 13:37:05.000000000 +0000
+++ ./cpan/File-Temp/lib/File/Temp.pm 2017-08-30 12:05:40.258184858 +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 2017-04-19 13:37:05.000000000 +0000
+++ ./cpan/Sys-Syslog/t/syslog.t 2017-08-30 12:05:40.259184858 +0000
@@ -221,6 +221,7 @@ SKIP: {
}
}
else {
+ $r = 1 unless -e '/dev/log';
ok( $r, "setlogsock() should return true: '$r'" );
}
--- ./cpan/libnet/lib/Net/Config.pm.orig 2017-04-19 13:37:05.000000000 +0000
+++ ./cpan/libnet/lib/Net/Config.pm 2017-08-30 12:05:40.259184858 +0000
@@ -53,7 +53,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 2017-02-28 12:36:42.000000000 +0000
+++ ./ext/DynaLoader/hints/linux.pl 2017-08-30 12:05:40.259184858 +0000
@@ -2,4 +2,7 @@
# Some Linux releases like to hide their <nlist.h>
$self->{CCFLAGS} = $Config{ccflags} . ' -I/usr/include/libelf'
if -f "/usr/include/libelf/nlist.h";
+# Some silly modules like mod_perl use DynaLoader.a in a shared
+# 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 2017-02-28 12:36:42.000000000 +0000
+++ ./ext/ODBM_File/Makefile.PL 2017-08-30 12:05:40.260184858 +0000
@@ -1,7 +1,7 @@
use ExtUtils::MakeMaker;
WriteMakefile(
NAME => 'ODBM_File',
- LIBS => ["-ldbm -lucb"],
+ LIBS => ["-lgdbm -lucb"],
XSPROTOARG => '-noprototypes', # XXX remove later?
VERSION_FROM => 'ODBM_File.pm',
);
--- ./ext/ODBM_File/hints/linux.pl.orig 2017-02-28 12:36:42.000000000 +0000
+++ ./ext/ODBM_File/hints/linux.pl 2017-08-30 12:05:40.259184858 +0000
@@ -1,5 +1,5 @@
# uses GDBM dbm compatibility feature - at least on SuSE 8.0
-$self->{LIBS} = ['-lgdbm'];
+$self->{LIBS} = ['-lgdbm -lgdbm_compat'];
# Debian/Ubuntu have libgdbm_compat.so but not this file,
# so linking may fail
--- ./hints/linux.sh.orig 2017-04-19 13:37:05.000000000 +0000
+++ ./hints/linux.sh 2017-08-30 12:09:43.999184426 +0000
@@ -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.
# bind causes issues with several reentrant functions
-set `echo X "$libswanted "| sed -e 's/ bsd / /' -e 's/ net / /' -e 's/ bind / /'`
+set `echo X "$libswanted "| sed -e 's/ bsd / /' -e 's/ net / /' -e 's/ bind / /' -e 's/ db / /' -e 's/ gdbm / /' -e 's/ ndbm / /'`
shift
libswanted="$*"
@@ -64,6 +64,20 @@ if echo " $libswanted " | grep -q ' gdbm
libswanted="$libswanted gdbm_compat"
fi
+if test -e /lib64/libc.so.6 ; then
+ libc=`ls -l /lib64/libc.so.6 | awk '{print $NF}'`
+ libc=/lib64/$libc
+ glibpth='/lib64 /usr/lib64 /usr/local/lib64'
+ libspath='/usr/local/lib64 /lib64 /usr/lib64'
+ loclibpth='/usr/local/lib64'
+ lddlflags='-shared -L/usr/local/lib64'
+ ldflags=' -L/usr/local/lib64'
+ libs='-lm -ldl -lcrypt'
+elif test -L /lib/libc.so.6; then
+ libc=`ls -l /lib/libc.so.6 | awk '{print $NF}'`
+ libc=/lib/$libc
+fi
+
# Configure may fail to find lstat() since it's a static/inline
# function in <sys/stat.h>.
d_lstat=define
@@ -147,6 +161,7 @@ case "$optimize" in
esac
;;
esac
+ optimize="$optimize --pipe"
;;
esac
@@ -221,6 +236,33 @@ case "$libc" in
;;
esac
+man1dir=/usr/share/man/man1
+man3dir=/usr/share/man/man3
+man3ext=3pm
+
+case `uname -m` in
+i?86) archname='i586-linux';;
+*) archname=`uname -m`-linux;;
+esac
+
+case $archname in
+sparc64-linux) glibpth="/lib64 /usr/lib64";;
+esac
+
+cf_email='none'
+#libs='-lgdbm -ldb -ldl -lm -lc'
+#libs='-ldl -lm -lc'
+
+usedl='true'
+dlsrc='dl_dlopen.xs'
+d_dosuid='undef'
+d_bincompat3='y'
+
+# We don't want to add /usr/local/include and /usr/local/lib to the search
+# paths, they are already searched by default.
+locincpth=
+loclibpth=
+
if ${sh:-/bin/sh} -c exit; then
echo ''
echo 'You appear to have a working bash. Good.'
@@ -268,6 +310,9 @@ else
echo "Couldn't find tcsh. Csh-based globbing might be broken."
fi
fi
+csh=''
+d_csh='undef'
+full_csh=''
# Shimpei Yamashita <shimpei@socrates.patnet.caltech.edu>
# Message-Id: <33EF1634.B36B6500@pobox.com>
@@ -378,6 +423,8 @@ $define|true|[yY]*)
d_localtime_r_proto="$define"
d_random_r_proto="$define"
+ test -e /lib64/libc.so.6 && libs='-lm -ldl -lcrypt -lpthread'
+
;;
esac
EOCBU
--- ./installperl.orig 2017-04-19 13:37:05.000000000 +0000
+++ ./installperl 2017-08-30 12:05:40.261184858 +0000
@@ -685,7 +685,7 @@ sub installlib {
return if $name eq 'ExtUtils/MakeMaker/version/regex.pm';
my $installlib = $installprivlib;
- if ($dir =~ /^auto\// ||
+ if (($dir =~ /^auto\// && $dir ne 'auto/Compress/Zlib') ||
($name =~ /^(.*)\.(?:pm|pod)$/ && $archpms{$1}) ||
($name =~ /^(.*)\.(?:h|lib)$/i && ($Is_W32 || $Is_NetWare)) ||
$name=~/^Config_(heavy|git)\.pl\z/
--- ./lib/perl5db.pl.orig 2017-04-19 13:37:05.000000000 +0000
+++ ./lib/perl5db.pl 2017-08-30 12:05:40.264184858 +0000
@@ -2363,6 +2363,8 @@ sub _DB__handle_run_command_in_pager_com
open( OUT, ">&STDOUT" ) # XXX: lost message
|| _db_warn("Can't restore DB::OUT");
}
+ # tell readline the new OUT handle
+ $term->Attribs()->{outstream} = *OUT if defined &Term::ReadLine::Gnu::readline;
next CMD;
} ## end unless ($piped = open(OUT,...
@@ -2467,6 +2469,9 @@ sub _DB__at_end_of_every_command {
$obj->selected("");
}
+ # tell readline the new OUT handle
+ $term->Attribs()->{outstream} = *OUT if defined &Term::ReadLine::Gnu::readline;
+
# No pipes now.
$obj->piped("");
} ## end if ($piped)
--- ./utils/perlbug.PL.orig 2017-04-19 13:37:06.000000000 +0000
+++ ./utils/perlbug.PL 2017-08-30 12:05:40.265184858 +0000
@@ -1042,6 +1042,7 @@ sub _message_headers {
$headers{'Cc'} = $cc if ($cc);
$headers{'Message-Id'} = $messageid if ($messageid);
$headers{'Reply-To'} = $from if ($from);
@ -550,25 +509,3 @@ Index: utils/perlbug.PL
$headers{'From'} = $from if ($from);
if ($have_attachment) {
$headers{'MIME-Version'} = '1.0';
Index: t/porting/customized.dat
===================================================================
--- t/porting/customized.dat.orig
+++ t/porting/customized.dat
@@ -10,7 +10,7 @@ CPAN cpan/CPAN/scripts/cpan c43050c8c631
Digest cpan/Digest/Digest.pm 43f7f544cb11842b2f55c73e28930da50774e081
Digest::SHA cpan/Digest-SHA/lib/Digest/SHA.pm 5841fcf70f7290e07befdd16f05093664c618a96
Digest::SHA cpan/Digest-SHA/shasum f92faa37afc098e2a825e4ecda1097890492d957
-Encode cpan/Encode/bin/enc2xs 7bbd4ca8d81e0189b87d703aa058b95a837b97d3
+Encode cpan/Encode/bin/enc2xs 91d5d4a16b97452ba23c1ba845572aada4ca0aa2
Encode cpan/Encode/bin/encguess f1e7a130995c4bad53bb6d3034dae625cfe61e32
Encode cpan/Encode/bin/piconv 80ea7f9afff580e41c4b29f5ab214ed378274b49
Encode cpan/Encode/bin/ucmlint 495862125269a60536b78fd0a7910d024c4d21fe
@@ -165,7 +165,7 @@ bignum cpan/bignum/lib/bigrat.pm 7fccc9d
bignum cpan/bignum/lib/Math/BigFloat/Trace.pm a6b4b995e18f4083252e6dc72e9bef69671893dd
bignum cpan/bignum/lib/Math/BigInt/Trace.pm d9596963673760cae3eeeb752c1eeeec50bb2290
libnet cpan/libnet/lib/Net/Cmd.pm a44a10c939a4c35f923c4638054178c32f1d283a
-libnet cpan/libnet/lib/Net/Config.pm 9bd49bf4de0dc438bceee0ef4baf8ba7a6633327
+libnet cpan/libnet/lib/Net/Config.pm 2167a2653b40c9f94e6d52574829532e62394a17
libnet cpan/libnet/lib/Net/Domain.pm 1bbed50f70fd1ff3e1cdf087b19a9349cddfaced
libnet cpan/libnet/lib/Net/FTP.pm 40dba553c8d44e1530daec2d07a6e50910401f2e
libnet cpan/libnet/lib/Net/FTP/A.pm c570b10730b168990034dcf9cb00e305a100f336

3
perl-5.26.1.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fe8208133e73e47afc3251c08d2c21c5a60160165a8ab8b669c43a420e4ec680
size 11922848

View File

@ -1,8 +1,6 @@
Index: dist/Time-HiRes/t/alarm.t
===================================================================
--- dist/Time-HiRes/t/alarm.t.orig
+++ dist/Time-HiRes/t/alarm.t
@@ -7,7 +7,7 @@ BEGIN { require_ok "Time::HiRes"; }
--- ./dist/Time-HiRes/t/alarm.t.orig 2017-04-19 13:37:05.000000000 +0000
+++ ./dist/Time-HiRes/t/alarm.t 2017-08-30 12:15:18.729183834 +0000
@@ -8,7 +8,7 @@ BEGIN { require_ok "Time::HiRes"; }
use Config;
@ -10,12 +8,10 @@ Index: dist/Time-HiRes/t/alarm.t
+my $limit = 0.60; # 25% is acceptable slosh for testing timers
my $xdefine = '';
if (open(XDEFINE, "xdefine")) {
Index: dist/Time-HiRes/t/clock.t
===================================================================
--- dist/Time-HiRes/t/clock.t.orig
+++ dist/Time-HiRes/t/clock.t
@@ -28,7 +28,7 @@ note sprintf "have_clock = %d"
if (open(XDEFINE, "<", "xdefine")) {
--- ./dist/Time-HiRes/t/clock.t.orig 2017-04-19 13:37:05.000000000 +0000
+++ ./dist/Time-HiRes/t/clock.t 2017-08-30 12:15:18.729183834 +0000
@@ -29,7 +29,7 @@ printf("# have_clock = %d\n",
# completes fine with (say) 30% slosh, and fail otherwise. If you do that,
# consider changing over to test.pl at the same time.
# --A.D., Nov 27, 2001
@ -24,12 +20,10 @@ Index: dist/Time-HiRes/t/clock.t
SKIP: {
skip "no clock_gettime", 1
Index: dist/Time-HiRes/t/itimer.t
===================================================================
--- dist/Time-HiRes/t/itimer.t.orig
+++ dist/Time-HiRes/t/itimer.t
@@ -28,7 +28,7 @@ BEGIN {
use Test::More 0.82 tests => 2;
--- ./dist/Time-HiRes/t/itimer.t.orig 2017-04-19 13:37:05.000000000 +0000
+++ ./dist/Time-HiRes/t/itimer.t 2017-08-30 12:15:18.729183834 +0000
@@ -29,7 +29,7 @@ use Test::More tests => 2;
BEGIN { push @INC, '.' }
use t::Watchdog;
-my $limit = 0.25; # 25% is acceptable slosh for testing timers
@ -37,11 +31,9 @@ Index: dist/Time-HiRes/t/itimer.t
my $i = 3;
my $r = [Time::HiRes::gettimeofday()];
Index: dist/Time-HiRes/t/usleep.t
===================================================================
--- dist/Time-HiRes/t/usleep.t.orig
+++ dist/Time-HiRes/t/usleep.t
@@ -15,7 +15,7 @@ eval { Time::HiRes::usleep(-2) };
--- ./dist/Time-HiRes/t/usleep.t.orig 2017-04-19 13:37:05.000000000 +0000
+++ ./dist/Time-HiRes/t/usleep.t 2017-08-30 12:15:18.730183834 +0000
@@ -16,7 +16,7 @@ eval { Time::HiRes::usleep(-2) };
like $@, qr/::usleep\(-2\): negative time not invented yet/,
"negative time error";

View File

@ -1,34 +0,0 @@
From f2b9631d5d19d2b71c1776e1193173d13f3620bf Mon Sep 17 00:00:00 2001
From: David Mitchell <davem@iabyn.com>
Date: Mon, 23 May 2016 14:43:56 +0100
Subject: [PATCH] CX_POP_SAVEARRAY(): use more distinctive var name
Under -Wshadow, CX_POP_SAVEARRAY's local var 'av' can generate this
warning:
warning: declaration shadows a local variable [-Wshadow]
So rename it to cx_pop_savearay_av to reduce the risk of a clash.
(See http://nntp.perl.org/group/perl.perl5.porters/236444)
---
cop.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/cop.h b/cop.h
index da29572..b371379 100644
--- a/cop.h
+++ b/cop.h
@@ -609,10 +609,10 @@ struct block_format {
/* Restore old @_ */
#define CX_POP_SAVEARRAY(cx) \
STMT_START { \
- AV *av = GvAV(PL_defgv); \
+ AV *cx_pop_savearray_av = GvAV(PL_defgv); \
GvAV(PL_defgv) = cx->blk_sub.savearray; \
cx->blk_sub.savearray = NULL; \
- SvREFCNT_dec(av); \
+ SvREFCNT_dec(cx_pop_savearray_av); \
} STMT_END
/* junk in @_ spells trouble when cloning CVs and in pp_caller(), so don't

View File

@ -2,7 +2,7 @@ Index: perl.c
===================================================================
--- perl.c.orig
+++ perl.c
@@ -4544,11 +4544,13 @@ S_init_perllib(pTHX)
@@ -4579,11 +4579,13 @@ S_init_perllib(pTHX)
# endif
#endif
@ -16,7 +16,7 @@ Index: perl.c
if (!TAINTING_get) {
#ifndef VMS
@@ -4590,20 +4592,19 @@ S_init_perllib(pTHX)
@@ -4625,20 +4627,19 @@ S_init_perllib(pTHX)
#if defined(SITELIB_STEM) && defined(PERL_INC_VERSION_LIST)
/* Search for version-specific dirs below here */
S_incpush_use_sep(aTHX_ STR_WITH_LEN(SITELIB_STEM),

View File

@ -24,16 +24,3 @@ Index: cpan/libnet/lib/Net/Cmd.pm
return 1
unless length($line);
Index: t/porting/customized.dat
===================================================================
--- t/porting/customized.dat.orig
+++ t/porting/customized.dat
@@ -164,7 +164,7 @@ bignum cpan/bignum/lib/bignum.pm e999973
bignum cpan/bignum/lib/bigrat.pm 7fccc9df30e43dbbae6e5ea91b26c8046545c9a9
bignum cpan/bignum/lib/Math/BigFloat/Trace.pm a6b4b995e18f4083252e6dc72e9bef69671893dd
bignum cpan/bignum/lib/Math/BigInt/Trace.pm d9596963673760cae3eeeb752c1eeeec50bb2290
-libnet cpan/libnet/lib/Net/Cmd.pm a44a10c939a4c35f923c4638054178c32f1d283a
+libnet cpan/libnet/lib/Net/Cmd.pm 3f34ca6479008268714bd02962624d270d04a01e
libnet cpan/libnet/lib/Net/Config.pm 2167a2653b40c9f94e6d52574829532e62394a17
libnet cpan/libnet/lib/Net/Domain.pm 1bbed50f70fd1ff3e1cdf087b19a9349cddfaced
libnet cpan/libnet/lib/Net/FTP.pm 40dba553c8d44e1530daec2d07a6e50910401f2e

View File

@ -1,11 +1,9 @@
Index: cpan/Pod-Perldoc/lib/Pod/Perldoc/ToMan.pm
===================================================================
--- cpan/Pod-Perldoc/lib/Pod/Perldoc/ToMan.pm.orig
+++ cpan/Pod-Perldoc/lib/Pod/Perldoc/ToMan.pm
--- ./cpan/Pod-Perldoc/lib/Pod/Perldoc/ToMan.pm.orig 2017-04-19 13:37:05.000000000 +0000
+++ ./cpan/Pod-Perldoc/lib/Pod/Perldoc/ToMan.pm 2017-08-30 12:12:38.967184117 +0000
@@ -64,7 +64,7 @@ sub _roffer_candidates {
my( $self ) = @_;
if( $self->is_openbsd || $self->is_bitrig ) { qw( mandoc groff nroff ) }
if( $self->is_openbsd || $self->is_freebsd || $self->is_bitrig ) { qw( mandoc groff nroff ) }
- else { qw( groff nroff mandoc ) }
+ else { qw( nroff groff mandoc ) }
}

View File

@ -2,7 +2,7 @@ Index: regcomp.c
===================================================================
--- regcomp.c.orig
+++ regcomp.c
@@ -10742,7 +10742,7 @@ S_reg(pTHX_ RExC_state_t *pRExC_state, I
@@ -10988,7 +10988,7 @@ S_reg(pTHX_ RExC_state_t *pRExC_state, I
ret = reg2Lanode(pRExC_state, GOSUB, num, RExC_recurse_count);
if (!SIZE_ONLY) {

View File

@ -2,7 +2,7 @@ Index: regcomp.c
===================================================================
--- regcomp.c.orig
+++ regcomp.c
@@ -19613,8 +19613,21 @@ Perl_save_re_context(pTHX)
@@ -19959,8 +19959,21 @@ Perl_save_re_context(pTHX)
if (gvp) {
GV * const gv = *gvp;

View File

@ -1,3 +1,29 @@
-------------------------------------------------------------------
Sat Sep 23 10:40:59 UTC 2017 - coolo@suse.com
- update to perl-5.26.1
* [CVE-2017-12837] Heap buffer overflow in regular expression compiler
* [CVE-2017-12883] Buffer over-read in regular expression parser
* tons of bug fixes
- update list of obsoletes
-------------------------------------------------------------------
Wed Aug 30 14:44:49 CEST 2017 - mls@suse.de
- update to perl-5.26.0
* "." no longer in @INC
* "do" may now warn
* regexp: a literal left brace "{" should be escaped
* lexical subroutines are no longer experimental
* indented Here-documents
* new regular expression modifier /xx
* declaring a reference to a variable
* unicode 9.0 is now supported
* new Hash Function For 64-bit Builds
- rename perl-5.24.0.dif to perl-5.26.0.dif
- remove obsolete perl-avoid-warnings.patch
- remove obsolete Compress-Raw-Zlib-2.071-zlib-1.2.11.patch
-------------------------------------------------------------------
Thu May 18 13:36:24 UTC 2017 - tchvatal@suse.com

View File

@ -21,16 +21,16 @@ Name: perl
Summary: The Perl interpreter
License: Artistic-1.0 or GPL-2.0+
Group: Development/Languages/Perl
Version: 5.24.1
Version: 5.26.1
Release: 0
%define pversion 5.24.1
%define pversion 5.26.1
Url: http://www.perl.org/
Source: http://www.cpan.org/src/5.0/perl-%{version}.tar.xz
Source1: %name-rpmlintrc
Source2: macros.perl
Source3: README.macros
Source4: baselibs.conf
Patch0: perl-5.24.0.dif
Patch0: perl-5.26.0.dif
Patch2: perl-regexp-refoverflow.diff
Patch3: perl-nroff.diff
Patch4: perl-netcmdutf8.diff
@ -41,10 +41,6 @@ Patch7: perl-5.22.0_wrong_rpm_provides.diff
Patch8: skip_time_hires.patch
Patch9: perl-incfix.diff
Patch11: perl-5.18.2-overflow.diff
# PATCH-FIX-UPSTREAM Fix a warning in cop.h , upstream commit f2b9631d5d19d2b71c1776e1193173d13f3620bf
Patch12: perl-avoid-warnings.patch
# PATCH-FIX-UPSTREAM RT#119762
Patch13: Compress-Raw-Zlib-2.071-zlib-1.2.11.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: perl-base = %version
#PreReq: %fillup_prereq
@ -63,60 +59,60 @@ Provides: perl = %pversion-%release
Provides: perl-500
Provides: perl(:MODULE_COMPAT_%pversion)
%global versionlist %nil
Provides: perl-Filter-Simple = 0.92
Obsoletes: perl-Filter-Simple <= 0.92
Provides: perl-I18N-LangTags = 0.40
Obsoletes: perl-I18N-LangTags <= 0.40
Provides: perl-Filter-Simple = 0.93
Obsoletes: perl-Filter-Simple <= 0.93
Provides: perl-I18N-LangTags = 0.42
Obsoletes: perl-I18N-LangTags <= 0.42
Provides: perl-MIME-Base64 = 3.15
Obsoletes: perl-MIME-Base64 <= 3.15
Provides: perl-Storable = 2.56
Obsoletes: perl-Storable <= 2.56
Provides: perl-Test-Simple = 1.001014
Obsoletes: perl-Test-Simple <= 1.001014
Provides: perl-Storable = 2.62
Obsoletes: perl-Storable <= 2.62
Provides: perl-Test-Simple = 1.302073
Obsoletes: perl-Test-Simple <= 1.302073
Provides: perl-Text-Balanced = 2.03
Obsoletes: perl-Text-Balanced <= 2.03
Provides: perl-Time-HiRes = 1.9733
Obsoletes: perl-Time-HiRes <= 1.9733
Provides: perl-Time-HiRes = 1.9741
Obsoletes: perl-Time-HiRes <= 1.9741
Provides: perl-libnet = 3.08
Obsoletes: perl-libnet <= 3.08
Provides: perl-Compress-Raw-Zlib = 2.069
Obsoletes: perl-Compress-Raw-Zlib <= 2.069
Provides: perl-Compress-Zlib = 2.069
Obsoletes: perl-Compress-Zlib <= 2.069
Provides: perl-IO-Compress-Base = 2.069
Obsoletes: perl-IO-Compress-Base <= 2.069
Provides: perl-IO-Compress-Zlib = 2.069
Obsoletes: perl-IO-Compress-Zlib <= 2.069
Provides: perl-Compress-Raw-Zlib = 2.074
Obsoletes: perl-Compress-Raw-Zlib <= 2.074
Provides: perl-Compress-Zlib = 2.074
Obsoletes: perl-Compress-Zlib <= 2.074
Provides: perl-IO-Compress-Base = 2.074
Obsoletes: perl-IO-Compress-Base <= 2.074
Provides: perl-IO-Compress-Zlib = 2.074
Obsoletes: perl-IO-Compress-Zlib <= 2.074
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-Archive-Tar = 2.24
Obsoletes: perl-Archive-Tar <= 2.24
Provides: perl-Locale-Maketext-Simple = 0.21
Obsoletes: perl-Locale-Maketext-Simple <= 0.21
Provides: perl-Pod-Escapes = 1.07
Obsoletes: perl-Pod-Escapes <= 1.07
Provides: perl-Pod-Simple = 3.32
Obsoletes: perl-Pod-Simple <= 3.32
Provides: perl-ExtUtils-ParseXS = 3.31
Obsoletes: perl-ExtUtils-ParseXS <= 3.31
Provides: perl-CPAN-Meta = 2.150005
Obsoletes: perl-CPAN-Meta <= 2.150005
Provides: perl-Pod-Simple = 3.35
Obsoletes: perl-Pod-Simple <= 3.35
Provides: perl-ExtUtils-ParseXS = 3.34
Obsoletes: perl-ExtUtils-ParseXS <= 3.34
Provides: perl-CPAN-Meta = 2.150010
Obsoletes: perl-CPAN-Meta <= 2.150010
Provides: perl-CPAN-Meta-YAML = 0.018
Obsoletes: perl-CPAN-Meta-YAML <= 0.018
Provides: perl-ExtUtils-CBuilder = 0.280225
Obsoletes: perl-ExtUtils-CBuilder <= 0.280225
Provides: perl-IO-Socket-IP = 0.37
Obsoletes: perl-IO-Socket-IP <= 0.37
Provides: perl-IO-Socket-IP = 0.38
Obsoletes: perl-IO-Socket-IP <= 0.38
Provides: perl-Parse-CPAN-Meta = 1.4417
Obsoletes: perl-Parse-CPAN-Meta <= 1.4417
Provides: perl-PathTools = 3.63
Obsoletes: perl-PathTools <= 3.63
Provides: perl-autodie = 2.29
Obsoletes: perl-autodie <= 2.29
Provides: perl-Test-Harness = 3.36
Obsoletes: perl-Test-Harness <= 3.36
Provides: perl-version = 0.9916
Obsoletes: perl-version <= 0.9916
Provides: perl-Test-Harness = 3.38
Obsoletes: perl-Test-Harness <= 3.38
Provides: perl-version = 0.9917
Obsoletes: perl-version <= 0.9917
%description
perl - Practical Extraction and Report Language
@ -186,8 +182,6 @@ cp -p %{S:3} .
%endif
%patch9
%patch11
%patch12 -p1
%patch13 -p1
%build
cp -a lib savelib