diff --git a/perl-5.22.0_wrong_rpm_provides.diff b/perl-5.22.0_wrong_rpm_provides.diff index 6e17e86..4817571 100644 --- a/perl-5.22.0_wrong_rpm_provides.diff +++ b/perl-5.22.0_wrong_rpm_provides.diff @@ -2,7 +2,7 @@ +++ ./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'; + our $VERSION = '1.999811'; -package Math::BigInt; +package Math::BigInt # line break to prevent wrong rpm provides diff --git a/perl-5.26.2.tar.xz b/perl-5.26.2.tar.xz deleted file mode 100644 index 9398f5e..0000000 --- a/perl-5.26.2.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0f8c0fb1b0db4681adb75c3ba0dd77a0472b1b359b9e80efd79fc27b4352132c -size 11931624 diff --git a/perl-5.26.0.dif b/perl-5.28.0.dif similarity index 72% rename from perl-5.26.0.dif rename to perl-5.28.0.dif index 509c27c..567f15c 100644 --- a/perl-5.26.0.dif +++ b/perl-5.28.0.dif @@ -1,6 +1,7 @@ ---- ./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 +diff -Nur perl-5.28.0/Configure perl-5.28.0_fix/Configure +--- perl-5.28.0/Configure 2018-05-21 14:29:23.000000000 +0200 ++++ perl-5.28.0_fix/Configure 2018-09-22 22:59:45.953977649 +0200 +@@ -114,7 +114,7 @@ paths="$paths /opt/gnu/bin /opt/new /opt/new/bin /opt/nbin" paths="$paths /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/ucb" paths="$paths /bsd4.3/usr/bin /usr/bsd /bsd43/bin /opt/ansic/bin /usr/ccs/bin" @@ -9,7 +10,7 @@ paths="$paths /sbin /usr/sbin /usr/libexec" paths="$paths /system/gnu_library/bin" -@@ -1464,7 +1464,7 @@ loclibpth="/usr/local/lib /opt/local/lib +@@ -1448,7 +1448,7 @@ loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib" : general looking path for locating libraries @@ -18,7 +19,7 @@ glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib" test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth" test -f /shlib/libc.so && glibpth="/shlib $glibpth" -@@ -2559,7 +2559,7 @@ uname +@@ -2545,7 +2545,7 @@ zip " pth=`echo $PATH | sed -e "s/$p_/ /g"` @@ -27,25 +28,7 @@ for file in $loclist; do eval xxx=\$$file case "$xxx" in -@@ -11963,7 +11963,7 @@ void xxx(int n, ...) - va_start(args, n); - exit((unsigned long)vsprintf(buf,"%s",args) > 10L); - } --int main() { xxx(1, "foo"); } -+int main() { xxx(1, "foo"); return 0; } - - #else /* I_VARARGS */ - -@@ -11975,7 +11975,7 @@ va_dcl - va_start(args); - exit((unsigned long)vsprintf(buf,"%s",args) > 10L); - } --int main() { xxx("foo"); } -+int main() { xxx("foo"); return 0; } - - #endif - -@@ -20516,14 +20516,20 @@ int main(int argc, char *argv[]) +@@ -19917,14 +19917,20 @@ } EOCP set try @@ -66,7 +49,7 @@ i_db=$undef case " $libs " in *"-ldb "*) -@@ -20564,7 +20570,7 @@ int main() +@@ -19965,7 +19971,7 @@ } #endif EOCP @@ -75,7 +58,7 @@ if $contains warning try.out >>/dev/null 2>&1 ; then db_hashtype='int' else -@@ -20607,7 +20613,7 @@ int main() +@@ -20008,7 +20014,7 @@ } #endif EOCP @@ -84,7 +67,7 @@ if $contains warning try.out >>/dev/null 2>&1 ; then db_prefixtype='int' else -@@ -25304,7 +25310,7 @@ passcat='$passcat' +@@ -24656,7 +24662,7 @@ patchlevel='$patchlevel' path_sep='$path_sep' perl5='$perl5' @@ -93,88 +76,251 @@ perl_patchlevel='$perl_patchlevel' perl_static_inline='$perl_static_inline' perladmin='$perladmin' ---- ./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 +diff -Nur perl-5.28.0/cpan/Compress-Raw-Zlib/config.in perl-5.28.0_fix/cpan/Compress-Raw-Zlib/config.in +--- perl-5.28.0/cpan/Compress-Raw-Zlib/config.in 2018-05-21 14:29:23.000000000 +0200 ++++ perl-5.28.0_fix/cpan/Compress-Raw-Zlib/config.in 2018-09-22 23:00:57.127682323 +0200 +@@ -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 + +diff -Nur perl-5.28.0/cpan/Encode/bin/enc2xs perl-5.28.0_fix/cpan/Encode/bin/enc2xs +--- perl-5.28.0/cpan/Encode/bin/enc2xs 2018-05-21 14:29:23.000000000 +0200 ++++ perl-5.28.0_fix/cpan/Encode/bin/enc2xs 2018-09-22 22:59:45.953977649 +0200 +@@ -1091,7 +1091,7 @@ + $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 .= +diff -Nur perl-5.28.0/cpan/ExtUtils-Install/lib/ExtUtils/Packlist.pm perl-5.28.0_fix/cpan/ExtUtils-Install/lib/ExtUtils/Packlist.pm +--- perl-5.28.0/cpan/ExtUtils-Install/lib/ExtUtils/Packlist.pm 2018-05-21 14:29:23.000000000 +0200 ++++ perl-5.28.0_fix/cpan/ExtUtils-Install/lib/ExtUtils/Packlist.pm 2018-09-22 22:59:45.953977649 +0200 +@@ -207,8 +207,11 @@ + { + 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); +diff -Nur perl-5.28.0/cpan/File-Temp/lib/File/Temp.pm perl-5.28.0_fix/cpan/File-Temp/lib/File/Temp.pm +--- perl-5.28.0/cpan/File-Temp/lib/File/Temp.pm 2018-03-20 21:06:35.000000000 +0100 ++++ perl-5.28.0_fix/cpan/File-Temp/lib/File/Temp.pm 2018-09-22 22:59:45.953977649 +0200 +@@ -16,7 +16,7 @@ + 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 +diff -Nur perl-5.28.0/cpan/libnet/lib/Net/Config.pm perl-5.28.0_fix/cpan/libnet/lib/Net/Config.pm +--- perl-5.28.0/cpan/libnet/lib/Net/Config.pm 2018-05-21 14:29:23.000000000 +0200 ++++ perl-5.28.0_fix/cpan/libnet/lib/Net/Config.pm 2018-09-22 22:59:45.953977649 +0200 +@@ -51,7 +51,7 @@ + { + ## 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; +diff -Nur perl-5.28.0/ext/ODBM_File/hints/linux.pl perl-5.28.0_fix/ext/ODBM_File/hints/linux.pl +--- perl-5.28.0/ext/ODBM_File/hints/linux.pl 2018-03-20 21:06:36.000000000 +0100 ++++ perl-5.28.0_fix/ext/ODBM_File/hints/linux.pl 2018-09-22 22:59:45.957977521 +0200 +@@ -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 +diff -Nur perl-5.28.0/ext/ODBM_File/Makefile.PL perl-5.28.0_fix/ext/ODBM_File/Makefile.PL +--- perl-5.28.0/ext/ODBM_File/Makefile.PL 2018-03-20 21:06:36.000000000 +0100 ++++ perl-5.28.0_fix/ext/ODBM_File/Makefile.PL 2018-09-22 22:59:45.957977521 +0200 +@@ -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', + ); +diff -Nur perl-5.28.0/hints/linux.sh perl-5.28.0_fix/hints/linux.sh +--- perl-5.28.0/hints/linux.sh 2018-05-21 12:44:04.000000000 +0200 ++++ perl-5.28.0_fix/hints/linux.sh 2018-09-22 22:59:45.957977521 +0200 +@@ -53,7 +53,7 @@ + # 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 @@ + 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 + -+# -+# 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 + # Configure may fail to find lstat() since it's a static/inline + # function in . + d_lstat=define +@@ -147,6 +161,7 @@ + esac + ;; + esac ++ optimize="$optimize --pipe" + ;; + esac + +@@ -221,6 +236,33 @@ + ;; + esac + ++man1dir=/usr/share/man/man1 ++man3dir=/usr/share/man/man3 ++man3ext=3pm + -+test -f /etc/sysconfig/suseconfig || { echo "No /etc/sysconfig/suseconfig found." && exit 1 ; } -+. /etc/sysconfig/suseconfig ++case `uname -m` in ++i?86) archname='i586-linux';; ++*) archname=`uname -m`-linux;; ++esac + -+# this skript only works in a running system. ++case $archname in ++sparc64-linux) glibpth="/lib64 /usr/lib64";; ++esac + -+test -n "$ROOT" && exit 0 ++cf_email='none' ++#libs='-lgdbm -ldb -ldl -lm -lc' ++#libs='-ldl -lm -lc' + -+perl -e 'exit 0' 2>/dev/null || { echo "Perl not found." && exit 0 ; } ++usedl='true' ++dlsrc='dl_dlopen.xs' ++d_dosuid='undef' ++d_bincompat3='y' + -+# -+# 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/"` ++# 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= + -+NEEDED="false" + if ${sh:-/bin/sh} -c exit; then + echo '' + echo 'You appear to have a working bash. Good.' +@@ -268,6 +310,9 @@ + 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 @@ + d_localtime_r_proto="$define" + d_random_r_proto="$define" + ++ test -e /lib64/libc.so.6 && libs='-lm -ldl -lcrypt -lpthread' + -+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 + ;; + esac + EOCBU +diff -Nur perl-5.28.0/installperl perl-5.28.0_fix/installperl +--- perl-5.28.0/installperl 2018-05-21 14:29:23.000000000 +0200 ++++ perl-5.28.0_fix/installperl 2018-09-22 22:59:45.957977521 +0200 +@@ -685,7 +685,7 @@ + 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/ +diff -Nur perl-5.28.0/lib/perl5db.pl perl-5.28.0_fix/lib/perl5db.pl +--- perl-5.28.0/lib/perl5db.pl 2018-05-21 14:29:23.000000000 +0200 ++++ perl-5.28.0_fix/lib/perl5db.pl 2018-09-22 22:59:45.957977521 +0200 +@@ -2366,6 +2366,8 @@ + 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,... + +@@ -2470,6 +2472,9 @@ + $obj->selected(""); + } + ++ # tell readline the new OUT handle ++ $term->Attribs()->{outstream} = *OUT if defined &Term::ReadLine::Gnu::readline; + -+# -+# 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 @@ + # No pipes now. + $obj->piped(""); + } ## end if ($piped) +diff -Nur perl-5.28.0/SuSE/perllocal.SuSE perl-5.28.0_fix/SuSE/perllocal.SuSE +--- perl-5.28.0/SuSE/perllocal.SuSE 1970-01-01 01:00:00.000000000 +0100 ++++ perl-5.28.0_fix/SuSE/perllocal.SuSE 2018-09-22 22:59:45.957977521 +0200 +@@ -0,0 +1,83 @@ +#!/usr/bin/perl +# Copyright (c) 1998 S.u.S.E. Gmbh Fuerth, Germany. All rights reserved. +# @@ -258,9 +404,89 @@ +} else { + print "SuSEconfig.perl: Can't write to file $Config{'installarchlib'}/perllocal.pod !\n\n"; +} +diff -Nur perl-5.28.0/SuSE/SuSEconfig.perl perl-5.28.0_fix/SuSE/SuSEconfig.perl +--- perl-5.28.0/SuSE/SuSEconfig.perl 1970-01-01 01:00:00.000000000 +0100 ++++ perl-5.28.0_fix/SuSE/SuSEconfig.perl 2018-09-22 22:59:45.957977521 +0200 +@@ -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 + ---- ./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 ++# ++# 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 ++# +diff -Nur perl-5.28.0/SuSE/sysconfig.suseconfig-perl perl-5.28.0_fix/SuSE/sysconfig.suseconfig-perl +--- perl-5.28.0/SuSE/sysconfig.suseconfig-perl 1970-01-01 01:00:00.000000000 +0100 ++++ perl-5.28.0_fix/SuSE/sysconfig.suseconfig-perl 2018-09-22 22:59:45.957977521 +0200 @@ -0,0 +1,8 @@ +## Path: System/SuSEconfig +## Type: yesno @@ -270,238 +496,10 @@ +# May SuSEconfig modify your perllocal.pod? (yes/no) +# +CREATE_PERLLOCAL_POD="yes" ---- ./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 { +diff -Nur perl-5.28.0/utils/perlbug.PL perl-5.28.0_fix/utils/perlbug.PL +--- perl-5.28.0/utils/perlbug.PL 2018-05-21 14:29:23.000000000 +0200 ++++ perl-5.28.0_fix/utils/perlbug.PL 2018-09-22 22:59:45.957977521 +0200 +@@ -1050,6 +1050,7 @@ $headers{'Cc'} = $cc if ($cc); $headers{'Message-Id'} = $messageid if ($messageid); $headers{'Reply-To'} = $from if ($from); diff --git a/perl-5.28.0.tar.xz b/perl-5.28.0.tar.xz new file mode 100644 index 0000000..b5378f9 --- /dev/null +++ b/perl-5.28.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:059b3cb69970d8c8c5964caced0335b4af34ac990c8e61f7e3f90cd1c2d11e49 +size 12410536 diff --git a/perl-incfix.diff b/perl-incfix.diff index 307a74d..96bb403 100644 --- a/perl-incfix.diff +++ b/perl-incfix.diff @@ -1,25 +1,22 @@ -Index: perl.c -=================================================================== ---- perl.c.orig -+++ perl.c -@@ -4579,11 +4579,13 @@ S_init_perllib(pTHX) - # endif +--- ./perl_inc_macro.h.orig 2018-09-22 22:08:14.492755509 +0200 ++++ ./perl_inc_macro.h 2018-09-22 22:07:36.049972877 +0200 +@@ -83,10 +83,12 @@ + # define INCPUSH_PRIVLIB_EXP S_incpush_use_sep(aTHX_ STR_WITH_LEN(PRIVLIB_EXP), INCPUSH_CAN_RELOCATE); #endif +#if 0 #ifdef PERL_OTHERLIBDIRS - S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_OTHERLIBDIRS), - INCPUSH_ADD_VERSIONED_SUB_DIRS|INCPUSH_NOT_BASEDIR - |INCPUSH_CAN_RELOCATE); + # define INCPUSH_PERL_OTHERLIBDIRS S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_OTHERLIBDIRS), \ + INCPUSH_ADD_VERSIONED_SUB_DIRS|INCPUSH_NOT_BASEDIR|INCPUSH_CAN_RELOCATE); #endif +#endif - if (!TAINTING_get) { - #ifndef VMS -@@ -4625,20 +4627,19 @@ S_init_perllib(pTHX) + + /* submacros for INCPUSH_PERL5LIB */ +@@ -133,19 +135,19 @@ #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), + # define INCPUSH_SITELIB_STEM S_incpush_use_sep(aTHX_ STR_WITH_LEN(SITELIB_STEM), \ - INCPUSH_ADD_OLD_VERS|INCPUSH_CAN_RELOCATE); + INCPUSH_ADD_OLD_VERS|INCPUSH_NOT_BASEDIR|INCPUSH_CAN_RELOCATE); #endif @@ -27,16 +24,15 @@ Index: perl.c #if defined(PERL_VENDORLIB_STEM) && defined(PERL_INC_VERSION_LIST) /* Search for version-specific dirs below here */ - S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_VENDORLIB_STEM), + # define INCPUSH_PERL_VENDORLIB_STEM S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_VENDORLIB_STEM), \ - INCPUSH_ADD_OLD_VERS|INCPUSH_CAN_RELOCATE); + INCPUSH_ADD_OLD_VERS|INCPUSH_NOT_BASEDIR|INCPUSH_CAN_RELOCATE); #endif #ifdef PERL_OTHERLIBDIRS - S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_OTHERLIBDIRS), -- INCPUSH_ADD_OLD_VERS|INCPUSH_ADD_ARCHONLY_SUB_DIRS -- |INCPUSH_CAN_RELOCATE); + # define INCPUSH_PERL_OTHERLIBDIRS_ARCHONLY S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_OTHERLIBDIRS), \ +- INCPUSH_ADD_OLD_VERS|INCPUSH_ADD_ARCHONLY_SUB_DIRS|INCPUSH_CAN_RELOCATE); + INCPUSH_CAN_RELOCATE); #endif - #endif /* !PERL_IS_MINIPERL */ + diff --git a/perl-pp-crypt.patch b/perl-pp-crypt.patch deleted file mode 100644 index c2fe9da..0000000 --- a/perl-pp-crypt.patch +++ /dev/null @@ -1,38 +0,0 @@ -From e9c9cf57594854df9f5802f7f149be4738212e96 Mon Sep 17 00:00:00 2001 -From: David Mitchell -Date: Fri, 11 May 2018 08:03:42 +0100 -Subject: [PATCH] fix build failure with recent glibc - -RT #133184 - -pp_crypt() directly manipulates a field inside 'struct crypt_data' to work -around a bug in an ancient glibc version from circa 2002. New glibc -releases don't have this field so perl fails to compile. Make the hack -conditional on glibc version. - -Stolen from a patch to the Fedora 28 distribution. ---- - pp.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/pp.c b/pp.c -index 826c20748b..33eac6040d 100644 ---- a/pp.c -+++ b/pp.c -@@ -3653,8 +3653,12 @@ PP(pp_crypt) - #if defined(__GLIBC__) || defined(__EMX__) - if (PL_reentrant_buffer->_crypt_struct_buffer) { - PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0; -- /* work around glibc-2.2.5 bug */ -+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \ -+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4) -+ /* work around glibc-2.2.5 bug, has been fixed at some -+ * time in glibc-2.3.X */ - PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0; -+#endif - } - #endif - } --- -2.19.0 - diff --git a/perl.changes b/perl.changes index f690cd8..e1acfb9 100644 --- a/perl.changes +++ b/perl.changes @@ -1,3 +1,29 @@ +------------------------------------------------------------------- +Sat Sep 22 19:22:29 UTC 2018 - Dirk Stoecker + +- update to perl-5.28.0 + * Core Enhancements + * Unicode 10.0 is supported + * delete on key/value hash slices + * Experimentally, there are now alphabetic synonyms for some regular expression assertions + * Mixed Unicode scripts are now detectable + * In-place editing with perl -i is now safer + * Initialisation of aggregate state variables + * Full-size inode numbers + * The sprintf %j format size modifier is now available with pre-C99 compilers + * Close-on-exec flag set atomically + * String- and number-specific bitwise ops are no longer experimental + * Locales are now thread-safe on systems that support them + * New read-only predefined variable ${^SAFE_LOCALES} + * Security + * [CVE-2017-12837] Heap buffer overflow in regular expression compiler + * [CVE-2017-12883] Buffer over-read in regular expression parser + * [CVE-2017-12814] $ENV{$key} stack buffer overflow on Windows + * Default Hash Function Change + * Full list of changes: https://metacpan.org/pod/release/XSAWYERX/perl-5.28.0/pod/perldelta.pod +- update perl-5.26.0.dif to perl-5.28.0.dif +- drop patch perl-pp-crypt.patch (included upstream) + ------------------------------------------------------------------- Tue Sep 18 14:14:34 UTC 2018 - schwab@suse.de diff --git a/perl.spec b/perl.spec index 30ad1c8..573f0d1 100644 --- a/perl.spec +++ b/perl.spec @@ -16,21 +16,21 @@ # -%define pversion 5.26.2 -%global versionlist 5.26.1 +%define pversion 5.28.0 +%global versionlist %{nil} Name: perl -Version: 5.26.2 +Version: 5.28.0 Release: 0 Summary: The Perl interpreter License: Artistic-1.0 OR GPL-2.0-or-later Group: Development/Languages/Perl -URL: http://www.perl.org/ -Source: http://www.cpan.org/src/5.0/perl-%{version}.tar.xz +Url: https://www.perl.org/ +Source: https://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.26.0.dif +Patch0: perl-5.28.0.dif Patch2: perl-regexp-refoverflow.diff Patch3: perl-nroff.diff Patch4: perl-netcmdutf8.diff @@ -45,7 +45,6 @@ Patch11: perl-5.18.2-overflow.diff Patch12: perl-reproducible.patch Patch13: perl_skip_flaky_tests_powerpc.patch Patch14: posix-sigaction.patch -Patch15: perl-pp-crypt.patch BuildRequires: db-devel BuildRequires: gdbm-devel BuildRequires: libbz2-devel @@ -57,7 +56,6 @@ Suggests: perl-doc = %{version} Provides: perl-500 Provides: perl-Filter-Simple = 0.93 Provides: perl(:MODULE_COMPAT_%{pversion}) -Provides: perl(:MODULE_COMPAT_5.26.1) Obsoletes: perl-Filter-Simple <= 0.93 Provides: perl-I18N-LangTags = 0.42 Obsoletes: perl-I18N-LangTags <= 0.42 @@ -164,7 +162,7 @@ Perl man pages and pod files. %prep %setup -q -n perl-%{pversion} cp -p %{SOURCE3} . -%patch0 +%patch0 -p1 %patch2 %patch3 %patch4 @@ -179,7 +177,6 @@ cp -p %{SOURCE3} . %patch11 %patch12 -p1 %patch14 -p1 -%patch15 -p1 %build cp -a lib savelib