From 656316d77dd0b8d814796bce50d6fb79a6ddc3e16a5d12b630a39b9e33ae317b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Schr=C3=B6der?= Date: Wed, 30 Aug 2017 12:50:14 +0000 Subject: [PATCH 1/2] - update to perl-5.26.0 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl?expand=0&rev=151 --- Compress-Raw-Zlib-2.071-zlib-1.2.11.patch | 372 ------------ perl-5.22.0_wrong_rpm_provides.diff | 18 +- perl-5.24.1.tar.xz | 3 - perl-5.24.0.dif => perl-5.26.0.dif | 693 ++++++++++------------ perl-5.26.0.tar.xz | 3 + perl-HiRes.t-timeout.diff | 36 +- perl-avoid-warnings.patch | 34 -- perl-netcmdutf8.diff | 13 - perl-nroff.diff | 8 +- perl.changes | 17 + perl.spec | 12 +- 11 files changed, 362 insertions(+), 847 deletions(-) delete mode 100644 Compress-Raw-Zlib-2.071-zlib-1.2.11.patch delete mode 100644 perl-5.24.1.tar.xz rename perl-5.24.0.dif => perl-5.26.0.dif (71%) create mode 100644 perl-5.26.0.tar.xz delete mode 100644 perl-avoid-warnings.patch diff --git a/Compress-Raw-Zlib-2.071-zlib-1.2.11.patch b/Compress-Raw-Zlib-2.071-zlib-1.2.11.patch deleted file mode 100644 index d928ec7..0000000 --- a/Compress-Raw-Zlib-2.071-zlib-1.2.11.patch +++ /dev/null @@ -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 diff --git a/perl-5.22.0_wrong_rpm_provides.diff b/perl-5.22.0_wrong_rpm_provides.diff index 1d8065b..6e17e86 100644 --- a/perl-5.22.0_wrong_rpm_provides.diff +++ b/perl-5.22.0_wrong_rpm_provides.diff @@ -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 { } diff --git a/perl-5.24.1.tar.xz b/perl-5.24.1.tar.xz deleted file mode 100644 index c55b8a5..0000000 --- a/perl-5.24.1.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:03a77bac4505c270f1890ece75afc7d4b555090b41aa41ea478747e23b2afb3f -size 11569284 diff --git a/perl-5.24.0.dif b/perl-5.26.0.dif similarity index 71% rename from perl-5.24.0.dif rename to perl-5.26.0.dif index 8720079..509c27c 100644 --- a/perl-5.24.0.dif +++ b/perl-5.26.0.dif @@ -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 < - $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 , 1996 ++# Martin Scherbaum , 5/1997 ++# Ruediger Oertel , 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 . - 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 - # 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 - # 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 , 1996 -+# Martin Scherbaum , 5/1997 -+# Ruediger Oertel , 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 < + $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 . + 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 + # 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 diff --git a/perl-5.26.0.tar.xz b/perl-5.26.0.tar.xz new file mode 100644 index 0000000..ae11858 --- /dev/null +++ b/perl-5.26.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9bf2e3d0d72aad77865c3bdbc20d3b576d769c5c255c4ceb30fdb9335266bf55 +size 11961692 diff --git a/perl-HiRes.t-timeout.diff b/perl-HiRes.t-timeout.diff index 395840c..22783ee 100644 --- a/perl-HiRes.t-timeout.diff +++ b/perl-HiRes.t-timeout.diff @@ -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"; diff --git a/perl-avoid-warnings.patch b/perl-avoid-warnings.patch deleted file mode 100644 index 70f7baa..0000000 --- a/perl-avoid-warnings.patch +++ /dev/null @@ -1,34 +0,0 @@ -From f2b9631d5d19d2b71c1776e1193173d13f3620bf Mon Sep 17 00:00:00 2001 -From: David Mitchell -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 diff --git a/perl-netcmdutf8.diff b/perl-netcmdutf8.diff index 10ccf60..dcf1756 100644 --- a/perl-netcmdutf8.diff +++ b/perl-netcmdutf8.diff @@ -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 diff --git a/perl-nroff.diff b/perl-nroff.diff index 4a6e94d..3b0579d 100644 --- a/perl-nroff.diff +++ b/perl-nroff.diff @@ -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 ) } } diff --git a/perl.changes b/perl.changes index 6e8500f..cfa606e 100644 --- a/perl.changes +++ b/perl.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +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 diff --git a/perl.spec b/perl.spec index f61566b..de1b34e 100644 --- a/perl.spec +++ b/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.24.1 +Version: 5.26.0 Release: 0 -%define pversion 5.24.1 +%define pversion 5.26.0 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 @@ -186,8 +182,6 @@ cp -p %{S:3} . %endif %patch9 %patch11 -%patch12 -p1 -%patch13 -p1 %build cp -a lib savelib From 5cd036dd555dcc2cd4963c8f79624190439c86b25145ef4b6cadd2ca9c787305 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Sat, 23 Sep 2017 12:12:52 +0000 Subject: [PATCH 2/2] - 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 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl?expand=0&rev=152 --- perl-5.26.0.tar.xz | 3 -- perl-5.26.1.tar.xz | 3 ++ perl-incfix.diff | 4 +-- perl-regexp-refoverflow.diff | 2 +- perl-saverecontext.diff | 2 +- perl.changes | 9 +++++ perl.spec | 68 ++++++++++++++++++------------------ 7 files changed, 50 insertions(+), 41 deletions(-) delete mode 100644 perl-5.26.0.tar.xz create mode 100644 perl-5.26.1.tar.xz diff --git a/perl-5.26.0.tar.xz b/perl-5.26.0.tar.xz deleted file mode 100644 index ae11858..0000000 --- a/perl-5.26.0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9bf2e3d0d72aad77865c3bdbc20d3b576d769c5c255c4ceb30fdb9335266bf55 -size 11961692 diff --git a/perl-5.26.1.tar.xz b/perl-5.26.1.tar.xz new file mode 100644 index 0000000..ffce986 --- /dev/null +++ b/perl-5.26.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe8208133e73e47afc3251c08d2c21c5a60160165a8ab8b669c43a420e4ec680 +size 11922848 diff --git a/perl-incfix.diff b/perl-incfix.diff index 42cbfd3..307a74d 100644 --- a/perl-incfix.diff +++ b/perl-incfix.diff @@ -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), diff --git a/perl-regexp-refoverflow.diff b/perl-regexp-refoverflow.diff index fc7111a..29f727f 100644 --- a/perl-regexp-refoverflow.diff +++ b/perl-regexp-refoverflow.diff @@ -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) { diff --git a/perl-saverecontext.diff b/perl-saverecontext.diff index 35e2a46..07b9712 100644 --- a/perl-saverecontext.diff +++ b/perl-saverecontext.diff @@ -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; diff --git a/perl.changes b/perl.changes index cfa606e..126b032 100644 --- a/perl.changes +++ b/perl.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +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 diff --git a/perl.spec b/perl.spec index de1b34e..4477505 100644 --- a/perl.spec +++ b/perl.spec @@ -21,9 +21,9 @@ Name: perl Summary: The Perl interpreter License: Artistic-1.0 or GPL-2.0+ Group: Development/Languages/Perl -Version: 5.26.0 +Version: 5.26.1 Release: 0 -%define pversion 5.26.0 +%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 @@ -59,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