From b67f5f6dc8d8465616419e23a03f76ed9c5f796660f609917a98fc39c2ff3629 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Sat, 5 Sep 2009 13:50:49 +0000 Subject: [PATCH] Copy from home:coolo:branches:openSUSE:Factory/perl via accept of submit request 19991 Request was accepted with message: OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl?expand=0&rev=13 --- MD5SUMS | 21 + MD5SUMS.meta | 1 + perl-5.10.0-regexp.diff | 70 +++ perl-5.10.0-warn.diff | 20 + perl-5.10.0.dif | 652 +++++++++++++++++++++++++ perl-5.10.0.tar.bz2 | 3 + perl-errorcount.diff | 10 + perl-fast-syslog.diff | 11 + perl-file_path_rmtree_chmod.diff | 30 ++ perl-file_path_rmtree_chmod_again.diff | 24 + perl-netcmdutf8.diff | 6 +- perl-regexp-refoverflow.diff | 12 +- perl-zlib-growoob.diff | 20 + perl.changes | 20 - perl.spec | 53 +- 15 files changed, 900 insertions(+), 53 deletions(-) create mode 100644 MD5SUMS create mode 100644 MD5SUMS.meta create mode 100644 perl-5.10.0-regexp.diff create mode 100644 perl-5.10.0-warn.diff create mode 100644 perl-5.10.0.dif create mode 100644 perl-5.10.0.tar.bz2 create mode 100644 perl-errorcount.diff create mode 100644 perl-fast-syslog.diff create mode 100644 perl-file_path_rmtree_chmod.diff create mode 100644 perl-file_path_rmtree_chmod_again.diff create mode 100644 perl-zlib-growoob.diff diff --git a/MD5SUMS b/MD5SUMS new file mode 100644 index 0000000..13c2826 --- /dev/null +++ b/MD5SUMS @@ -0,0 +1,21 @@ +054437793846edb64d74fb712770cc66 README.macros +b939a1f05981311bac5aee7b53cb83a0 baselibs.conf +0baeaa12455489fa69f6aef9bb1ff147 macros.perl +36a323a33c4e8af755ade1df73411bf3 perl-5.10.0-regexp.diff +aa4941dc3274d19c51af1feebe5394c7 perl-5.10.0-warn.diff +7656a644321fc11d27ec1c25d2e1702a perl-5.10.0.dif +40f14e31f24e7d6413e45151a0db6ec6 perl-5.10.0.tar.bz2 +69955c0deb8ce4db77186a4f97e0d770 perl-errorcount.diff +a8b3e34757d95a39fb534398c1ae2565 perl-fast-syslog.diff +7d7d26b15449082e90ea3e99d79c9559 perl-file_path_rmtree_chmod.diff +3057a17cdb04e171682a00e20bc0343b perl-file_path_rmtree_chmod_again.diff +ab2d097f302f8a56a5737a01b90b7769 perl-fix_dbmclose_call.patch +1156a2bf6d0f7f2e949e85800db51d33 perl-gracefull-net-ftp.diff +6c4392a7a13faf2ea0936a9d2f6f3f84 perl-netcmdutf8.diff +522f7c04bcaa3a925ddcab9accc73b6f perl-nroff.diff +dae510161799f950c9128504489199b7 perl-regexp-refoverflow.diff +61c64ed10181df10ba3af681465040d7 perl-rpmlintrc +f29b02eab1b484bd63734c8ae13b1577 perl-zlib-growoob.diff +64541545589c5bb7b8c669e8399b7373 perl.changes +c7a54f8bd0b1ce840a0ba892b805d71b perl.spec +d41d8cd98f00b204e9800998ecf8427e ready diff --git a/MD5SUMS.meta b/MD5SUMS.meta new file mode 100644 index 0000000..3162b82 --- /dev/null +++ b/MD5SUMS.meta @@ -0,0 +1 @@ +cdd126476c980a2c57a811a6d82c3b42 MD5SUMS diff --git a/perl-5.10.0-regexp.diff b/perl-5.10.0-regexp.diff new file mode 100644 index 0000000..42e9787 --- /dev/null +++ b/perl-5.10.0-regexp.diff @@ -0,0 +1,70 @@ +Change 33324 by demerphq@demerphq-gemini on 2008/02/17 15:39:22 + + Fix perlbug 50114 and document what the code does a bit better + +Affected files ... + +... //depot/perl/regcomp.c#650 edit +... //depot/perl/t/op/re_tests#129 edit + +Differences ... + +==== //depot/perl/regcomp.c#650 (text) ==== + +--- regcomp.c.orig ++++ regcomp.c +@@ -4462,7 +4462,17 @@ + regnode *first= scan; + regnode *first_next= regnext(first); + +- /* Skip introductions and multiplicators >= 1. */ ++ /* ++ * Skip introductions and multiplicators >= 1 ++ * so that we can extract the 'meat' of the pattern that must ++ * match in the large if() sequence following. ++ * NOTE that EXACT is NOT covered here, as it is normally ++ * picked up by the optimiser separately. ++ * ++ * This is unfortunate as the optimiser isnt handling lookahead ++ * properly currently. ++ * ++ */ + while ((OP(first) == OPEN && (sawopen = 1)) || + /* An OR of *one* alternative - should not happen now. */ + (OP(first) == BRANCH && OP(first_next) != BRANCH) || +@@ -4474,16 +4484,17 @@ + (PL_regkind[OP(first)] == CURLY && ARG1(first) > 0) || + (OP(first) == NOTHING && PL_regkind[OP(first_next)] != END )) + { +- ++ /* ++ * the only op that could be a regnode is PLUS, all the rest ++ * will be regnode_1 or regnode_2. ++ * ++ */ + if (OP(first) == PLUS) + sawplus = 1; + else + first += regarglen[OP(first)]; +- if (OP(first) == IFMATCH) { +- first = NEXTOPER(first); +- first += EXTRA_STEP_2ARGS; +- } else /* XXX possible optimisation for /(?=)/ */ +- first = NEXTOPER(first); ++ ++ first = NEXTOPER(first); + first_next= regnext(first); + } + + +==== //depot/perl/t/op/re_tests#129 (text) ==== + +--- t/op/re_tests.orig ++++ t/op/re_tests +@@ -1341,3 +1341,6 @@ + .*\z foo\n y - - + ^(?:(\d)x)?\d$ 1 y ${\(defined($1)?1:0)} 0 + .*?(?:(\w)|(\w))x abx y $1-$2 b- ++ ++0{50} 000000000000000000000000000000000000000000000000000 y - - ++ diff --git a/perl-5.10.0-warn.diff b/perl-5.10.0-warn.diff new file mode 100644 index 0000000..e74d504 --- /dev/null +++ b/perl-5.10.0-warn.diff @@ -0,0 +1,20 @@ +--- Configure ++++ Configure +@@ -10860,7 +10860,7 @@ + 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 */ + +@@ -10872,7 +10872,7 @@ + va_start(args); + exit((unsigned long)vsprintf(buf,"%s",args) > 10L); + } +-int main() { xxx("foo"); } ++int main() { xxx("foo"); return 0; } + + #endif + diff --git a/perl-5.10.0.dif b/perl-5.10.0.dif new file mode 100644 index 0000000..d740a45 --- /dev/null +++ b/perl-5.10.0.dif @@ -0,0 +1,652 @@ +--- ./Configure.orig 2007-12-18 10:47:07.000000000 +0000 ++++ ./Configure 2008-01-07 09:33:53.000000000 +0000 +@@ -110,7 +110,7 @@ paths="$paths /usr/5bin /etc /usr/gnu/bi + paths="$paths /opt/gnu/bin /opt/new /opt/new/bin /opt/nbin" + paths="$paths /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/ucb" + paths="$paths /bsd4.3/usr/bin /usr/bsd /bsd43/bin /opt/ansic/bin /usr/ccs/bin" +-paths="$paths /etc /usr/lib /usr/ucblib /lib /usr/ccs/lib" ++paths="$paths /etc /usr/lib /usr/lib64 /usr/ucblib /lib /usr/ccs/lib" + paths="$paths /sbin /usr/sbin /usr/libexec" + paths="$paths /system/gnu_library/bin" + +@@ -1277,7 +1277,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 +-glibpth="/lib /usr/lib $xlibpth" ++glibpth="/lib /usr/lib /lib64 /usr/lib64 $xlibpth" + 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" +@@ -2340,7 +2340,7 @@ uname + zip + " + pth=`echo $PATH | sed -e "s/$p_/ /g"` +-pth="$pth /lib /usr/lib" ++pth="$pth /lib /usr/lib /lib64 /usr/lib64" + for file in $loclist; do + eval xxx=\$$file + case "$xxx" in +@@ -18439,14 +18439,20 @@ int main(int argc, char *argv[]) + } + EOCP + set try ++ # this is really stupid, but we have to link in the -ldb to have ++ # the above program succeed ++ _old_libs="$libs" ++ libs="$libs -ldb" + if eval $compile_ok && $run ./try; then + echo 'Looks OK.' >&4 ++ libs="$_old_libs" + set `$run ./try 1` + db_version_major=$1 + db_version_minor=$2 + db_version_patch=$3 + else + echo "I can't use Berkeley DB with your . I'll disable Berkeley DB." >&4 ++ libs="$_old_libs" + i_db=$undef + case " $libs " in + *"-ldb "*) +@@ -18489,7 +18495,7 @@ int main() + } + #endif + EOCP +- if $cc $ccflags -c try.c >try.out 2>&1 ; then ++ if $cc $ccflags -c try.c -ldb >try.out 2>&1 ; then + if $contains warning try.out >>/dev/null 2>&1 ; then + db_hashtype='int' + else +@@ -18534,7 +18540,7 @@ int main() + } + #endif + EOCP +- if $cc $ccflags -c try.c >try.out 2>&1 ; then ++ if $cc $ccflags -c try.c -ldb >try.out 2>&1 ; then + if $contains warning try.out >>/dev/null 2>&1 ; then + db_prefixtype='int' + else +@@ -22313,7 +22319,7 @@ passcat='$passcat' + patchlevel='$patchlevel' + path_sep='$path_sep' + perl5='$perl5' +-perl='$perl' ++perl='perl' + perl_patchlevel='$perl_patchlevel' + perladmin='$perladmin' + perllibs='$perllibs' +--- ./SuSE/SuSEconfig.perl.orig 2008-01-07 09:33:53.000000000 +0000 ++++ ./SuSE/SuSEconfig.perl 2008-01-07 09:33:53.000000000 +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 ++ ++# ++# 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 ++# +--- ./SuSE/perllocal.SuSE.orig 2008-01-07 09:33:53.000000000 +0000 ++++ ./SuSE/perllocal.SuSE 2008-01-07 09:33:53.000000000 +0000 +@@ -0,0 +1,84 @@ ++#!/usr/bin/perl ++# Copyright (c) 1998 S.u.S.E. Gmbh Fuerth, Germany. All rights reserved. ++# ++# Author: Ruediger Oertel , 1998 ++# ++ ++use Config; ++ ++sub ReadFile { ++ local (*IF,*modules) = @_; ++ ++ while() { ++ chomp ($_); ++ next if (/^$/); ++ if (/^=head2.*$/) { ++ ($front,$rear) = split (': ',$_); ++ $front =~ s/^=head2\s*//; ++ $modules{$rear} = "$front"; ++ } elsif (/^=over [0-9]*$/) { ++ ($dummy,$num) = split ('\s',$_); ++ $curnum = 0; ++ } elsif (/^C<.*:.*>$/) { ++ $entry = $_; ++ $curnum++; ++ $modules{$rear} .= "\0$entry"; ++ } elsif (/^=back$/) { ++ ; ++ } elsif (/^=item \*$/) { ++ ; ++ } else { ++ print "SuSEconfig.perl: parsing perllocal:\n"; ++ print "ignoring line: $_\n"; ++ } ++ } ++ return %modules; ++} ++ ++local (%allmodules); ++ ++if (open (IF, "<$Config{'installarchlib'}/perllocal.pod")) { ++ %allmodules = ReadFile(*IF,*allmodules); ++} ++close (IF); ++ ++opendir (DIR, "/var/adm/perl-modules"); ++while ($dirent = readdir(DIR)) { ++ next if ($dirent =~ /^\./); ++ open (IF , "/var/adm/perl-modules/$dirent"); ++ %allmodules = ReadFile(*IF,*allmodules); ++ close (IF); ++} ++closedir (DIR); ++ ++ ++if (open (OF, ">$Config{'installarchlib'}/perllocal.pod")) { ++ foreach $key (keys(%allmodules)) { ++ $name = $key; ++ $name =~ s/^.*L\$//; ++ $name =~ s/::/\//; ++ @entries = split ('\0',$allmodules{$key}); ++ $ipath = $entries[1]; ++ $ipath =~ s/^.*\:\s//; ++ $ipath =~ s/>$//; ++ ++ # test if the module is really there, else skip ++ if ( -d "$ipath/$Config{'archname'}/auto/$name" || ++ -d "$Config{'installarchlib'}/auto/$name" ) { ++ $num = $#entries; ++ print OF "=head2 ",shift(@entries),": $key\n\n"; ++ print OF "=over $num\n\n"; ++ while ($_ = shift(@entries)) { ++ print OF "=item *\n\n"; ++ print OF "$_\n\n"; ++ } ++ print OF "=back\n\n"; ++ } ++ } ++ close (OF); ++} else { ++ print "SuSEconfig.perl: Can't write to file $Config{'installarchlib'}/perllocal.pod !\n\n"; ++} ++ +--- ./SuSE/sysconfig.suseconfig-perl.orig 2008-01-07 09:33:53.000000000 +0000 ++++ ./SuSE/sysconfig.suseconfig-perl 2008-01-07 09:33:53.000000000 +0000 +@@ -0,0 +1,8 @@ ++## Path: System/SuSEconfig ++## Type: yesno ++## Default: yes ++## Config: perl ++# ++# May SuSEconfig modify your perllocal.pod? (yes/no) ++# ++CREATE_PERLLOCAL_POD="yes" +--- ./ext/Compress/Raw/Zlib/config.in.orig 2007-12-18 10:47:07.000000000 +0000 ++++ ./ext/Compress/Raw/Zlib/config.in 2008-01-07 17:07:58.000000000 +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 +--- ./ext/DynaLoader/hints/linux.pl.orig 2007-12-18 10:47:07.000000000 +0000 ++++ ./ext/DynaLoader/hints/linux.pl 2008-01-07 09:33:53.000000000 +0000 +@@ -2,4 +2,7 @@ + # Some Linux releases like to hide their + $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/Encode/bin/enc2xs.orig 2007-12-18 10:47:07.000000000 +0000 ++++ ./ext/Encode/bin/enc2xs 2008-01-18 14:28:14.000000000 +0000 +@@ -1005,13 +1005,13 @@ 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 .= + qq(\$Encode::ExtModule{'$enc'} = "$LocalMod{$enc}";\n); + } +- warn $_ModLines; ++ warn $_ModLines if $_ModLines ne ''; + $_LocalVer = _mkversion(); + $_E2X = find_e2x(); + $_Inc = $INC{"Encode.pm"}; +--- ./ext/NDBM_File/Makefile.PL.orig 2007-12-18 10:47:07.000000000 +0000 ++++ ./ext/NDBM_File/Makefile.PL 2008-01-07 09:45:05.000000000 +0000 +@@ -10,6 +10,7 @@ if($Config{i_gdbm} && $Config{i_gdbm} eq + WriteMakefile( + NAME => 'NDBM_File', + LIBS => ["-L/usr/local/lib -lndbm", "-ldbm -lucb"], ++ CCFLAGS => '-I/usr/include/db1 -Dbool=char -DHAS_BOOL', + DEFINE => $define, + MAN3PODS => {}, # Pods will be built by installman. + XSPROTOARG => '-noprototypes', # XXX remove later? +--- ./ext/ODBM_File/Makefile.PL.orig 2007-12-18 10:47:07.000000000 +0000 ++++ ./ext/ODBM_File/Makefile.PL 2008-01-07 09:34:08.000000000 +0000 +@@ -1,7 +1,7 @@ + use ExtUtils::MakeMaker; + WriteMakefile( + NAME => 'ODBM_File', +- LIBS => ["-ldbm -lucb"], ++ LIBS => ["-lgdbm -lucb"], + MAN3PODS => {}, # Pods will be built by installman. + XSPROTOARG => '-noprototypes', # XXX remove later? + VERSION_FROM => 'ODBM_File.pm', +--- ./ext/ODBM_File/hints/linux.pl.orig 2007-12-18 10:47:07.000000000 +0000 ++++ ./ext/ODBM_File/hints/linux.pl 2008-01-07 09:34:08.000000000 +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 /usr/lib/libgdbm_compat.so.3* but not this file, + # so linking may fail +--- ./ext/Sys/Syslog/t/syslog.t.orig 2007-12-18 10:47:07.000000000 +0000 ++++ ./ext/Sys/Syslog/t/syslog.t 2008-01-07 11:49:53.000000000 +0000 +@@ -201,6 +201,7 @@ SKIP: { + } + } + else { ++ $r = 1 unless -e '/dev/log'; + ok( $r, "setlogsock() should return true: '$r'" ); + } + +--- ./hints/linux.sh.orig 2007-12-18 10:47:07.000000000 +0000 ++++ ./hints/linux.sh 2008-01-07 09:34:08.000000000 +0000 +@@ -50,7 +50,9 @@ 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="$*" + +@@ -60,7 +62,18 @@ libswanted="$*" + # We don't use __GLIBC__ and __GLIBC_MINOR__ because they + # are insufficiently precise to distinguish things like + # libc-2.0.6 and libc-2.0.7. +-if test -L /lib/libc.so.6; then ++if test -e /lib64/libc.so.6; then ++ libc=`ls -l /lib64/libc.so.6 | awk '{print $NF}'` ++ libc=/lib64/$libc ++ #plibpth='/usr/local/lib64 /usr/lib64 /lib64' ++ glibpth='/lib64 /usr/lib64 /usr/local/lib64' ++ libspath='/usr/local/lib64 /lib64 /usr/lib64' ++ #libpth='/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 +@@ -130,9 +143,14 @@ case "$optimize" in + esac + ;; + esac ++ optimize="$optimize --pipe" + ;; + esac + ++man1dir=/usr/share/man/man1 ++man3dir=/usr/share/man/man3 ++man3ext=3pm ++ + # Are we using ELF? Thanks to Kenneth Albanowski + # for this test. + cat >try.c <<'EOM' +@@ -217,6 +235,29 @@ EOM + esac + fi + ++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='feedback@suse.de' ++#libs='-lgdbm -ldb -ldl -lm -lc' ++#libs='-ldl -lm -lc' ++ ++usedl='true' ++dlsrc='dl_dlopen.xs' ++d_dosuid='define' ++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= ++ + rm -f try.c a.out + + if /bin/sh -c exit; then +@@ -266,6 +307,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> +@@ -344,6 +388,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 2007-12-18 10:47:07.000000000 +0000 ++++ ./installperl 2008-01-07 09:34:08.000000000 +0000 +@@ -249,7 +249,7 @@ if ($Is_VMS) { # Hang in there until Fi + + # Do some quick sanity checks. + +-if (!$nonono && $d_dosuid && $>) { die "You must run as root to install suidperl\n"; } ++# if (!$nonono && $d_dosuid && $>) { die "You must run as root to install suidperl\n"; } + + $installbin || die "No installbin directory in config.sh\n"; + -d $installbin || mkpath($installbin, $verbose, 0777); +@@ -361,7 +361,11 @@ else { + safe_unlink("$installbin/s$perl_verbase$ver$exe_ext"); + if ($d_dosuid) { + copy("suidperl$exe_ext", "$installbin/s$perl_verbase$ver$exe_ext"); +- chmod(04711, "$installbin/s$perl_verbase$ver$exe_ext"); ++ if ($>) { ++ chmod(0711, "$installbin/s$perl_verbase$ver$exe_ext"); ++ } else { ++ chmod(04711, "$installbin/s$perl_verbase$ver$exe_ext"); ++ } + } + + # Install library files. +--- ./lib/ExtUtils/Packlist.pm.orig 2007-12-18 10:47:07.000000000 +0000 ++++ ./lib/ExtUtils/Packlist.pm 2008-01-07 09:34:08.000000000 +0000 +@@ -202,8 +202,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); +--- ./lib/perl5db.pl.orig 2007-12-18 10:47:07.000000000 +0000 ++++ ./lib/perl5db.pl 2008-01-07 09:34:12.000000000 +0000 +@@ -3386,6 +3386,8 @@ reading another. + open( OUT, ">&STDOUT" ) # XXX: lost message + || &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,... + +@@ -3510,6 +3512,8 @@ our standard filehandles for input and o + # if necessary, + close(SAVEOUT); + select($selected), $selected = "" unless $selected eq ""; ++ # tell readline the new OUT handle ++ $term->Attribs()->{outstream} = *OUT if defined &Term::ReadLine::Gnu::readline; + + # No pipes now. + $piped = ""; +--- ./lib/unicore/mktables.orig 2007-12-18 10:47:07.000000000 +0000 ++++ ./lib/unicore/mktables 2008-01-07 09:34:12.000000000 +0000 +@@ -149,7 +149,7 @@ foreach my $lib ('To', 'lib', + map {File::Spec->catdir("lib",$_)} + qw(gc_sc dt bc hst ea jt lb nt ccc)) { + next if -d $lib; +- mkdir $lib, 0755 or die "mkdir '$lib': $!"; ++ mkdir $lib, 0755 or $! =~ /exists/i or die "mkdir '$lib': $!"; + } + + my $LastUnicodeCodepoint = 0x10FFFF; # As of Unicode 3.1.1. +--- ./locale.c.orig 2007-12-18 10:47:08.000000000 +0000 ++++ ./locale.c 2008-01-07 09:52:47.000000000 +0000 +@@ -350,9 +350,15 @@ Perl_init_i18nl10n(pTHX_ int printwarn) + + if (setlocale_failure) { + char *p; ++#if 0 + const bool locwarn = (printwarn > 1 || + (printwarn && + (!(p = PerlEnv_getenv("PERL_BADLANG")) || atoi(p)))); ++#else ++ const bool locwarn = (printwarn > 1 || ++ (printwarn && ++ ((p = PerlEnv_getenv("PERL_BADLANG")) && atoi(p)))); ++#endif + + if (locwarn) { + #ifdef LC_ALL +--- ./t/TEST.orig 2007-12-18 10:47:08.000000000 +0000 ++++ ./t/TEST 2008-01-07 09:34:12.000000000 +0000 +@@ -153,6 +153,7 @@ unless (@ARGV) { + next if $skip{$extension}; + } + my $path = File::Spec->catfile($updir, $t); ++ next unless -e $path; + push @ARGV, $path; + $::path_to_name{$path} = $t; + } +--- ./t/harness.orig 2007-12-18 10:47:08.000000000 +0000 ++++ ./t/harness 2008-01-07 09:39:13.000000000 +0000 +@@ -107,7 +107,8 @@ if (@ARGV) { + # XXX Do I want to warn that I'm skipping these? + next if $skip{$extension}; + } +- push @manitests, File::Spec->catfile($updir, $test); ++ my $t = File::Spec->catfile($updir, $test); ++ push @manitests, $t if -e $t; + } + } + close MANI; +--- ./t/op/numconvert.t.orig 2007-12-18 10:47:08.000000000 +0000 ++++ ./t/op/numconvert.t 2008-01-07 09:34:12.000000000 +0000 +@@ -46,7 +46,7 @@ my $max_chain = $ENV{PERL_TEST_NUMCONVER + + # Bulk out if unsigned type is hopelessly wrong: + my $max_uv1 = ~0; +-my $max_uv2 = sprintf "%u", $max_uv1 ** 6; # 6 is an arbitrary number here ++my $max_uv2 = sprintf "%lu", $max_uv1 ** 6; # 6 is an arbitrary number here + my $big_iv = do {use integer; $max_uv1 * 16}; # 16 is an arbitrary number here + my $max_uv_less3 = $max_uv1 - 3; + +--- ./utils/perlbug.PL.orig 2007-12-18 10:47:08.000000000 +0000 ++++ ./utils/perlbug.PL 2008-01-07 09:34:12.000000000 +0000 +@@ -929,6 +929,7 @@ sendout: + print SENDMAIL "Cc: $cc\n" if $cc; + print SENDMAIL "Reply-To: $from\n" if $from; + print SENDMAIL "Message-Id: $messageid\n" if $messageid; ++ print SENDMAIL "X-Webfrontend: perlbug\n"; + print SENDMAIL "\n\n"; + open(REP, "<$filename") or die "Couldn't open `$filename': $!\n"; + while () { print SENDMAIL $_ } +--- ./lib/CPAN.pm 2007-12-18 11:47:07.000000000 +0100 ++++ ./lib/CPAN.pm 2008-02-19 11:57:36.000000000 +0100 +@@ -43,7 +43,7 @@ + } + no lib "."; + +-require Mac::BuildTools if $^O eq 'MacOS'; ++#require Mac::BuildTools if $^O eq 'MacOS'; + $ENV{PERL5_CPAN_IS_RUNNING}=$$; + $ENV{PERL5_CPANPLUS_IS_RUNNING}=$$; # https://rt.cpan.org/Ticket/Display.html?id=23735 + +@@ -1647,7 +1647,7 @@ + $File::Find::prune++ if $CPAN::Signal; + return if -l $_; + if ($^O eq 'MacOS') { +- require Mac::Files; ++ #require Mac::Files; + my $cat = Mac::Files::FSpGetCatInfo($_); + $Du += $cat->ioFlLgLen() + $cat->ioFlRLgLen() if $cat; + } else { +--- ./lib/File/Spec/VMS.pm 2007-12-18 11:47:07.000000000 +0100 ++++ ./lib/File/Spec/VMS.pm 2008-02-19 12:02:21.000000000 +0100 +@@ -11,6 +11,8 @@ + use File::Basename; + use VMS::Filespec; + ++our $RPM_Ignore_Requires = "perl(VMS::Filespec)"; ++ + =head1 NAME + + File::Spec::VMS - methods for VMS file specs +--- ./lib/Net/Config.pm 2007-12-18 11:47:07.000000000 +0100 ++++ ./lib/Net/Config.pm 2008-02-19 11:57:58.000000000 +0100 +@@ -37,7 +37,7 @@ + # Try to get as much configuration info as possible from InternetConfig + # + $^O eq 'MacOS' and eval < sub { + return << "."; +--- ./lib/File/Temp.pm 2007-12-18 11:47:07.000000000 +0100 ++++ ./lib/File/Temp.pm 2008-02-19 15:44:25.000000000 +0100 +@@ -142,7 +142,7 @@ + use Fcntl 1.03; + use IO::Seekable; # For SEEK_* + use Errno; +-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 +--- ./lib/CGI/Fast.pm 2007-12-18 11:47:07.000000000 +0100 ++++ ./lib/CGI/Fast.pm 2008-02-19 18:16:19.000000000 +0100 +@@ -19,6 +19,9 @@ + use FCGI; + @ISA = ('CGI'); + ++# FCGI is missing from the perl distri ++our $RPM_Ignore_Requires = "perl(FCGI)"; ++ + # workaround for known bug in libfcgi + while (($ignore) = each %ENV) { } + diff --git a/perl-5.10.0.tar.bz2 b/perl-5.10.0.tar.bz2 new file mode 100644 index 0000000..9c21596 --- /dev/null +++ b/perl-5.10.0.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f736c2006c14404803302f32f583af0cec0dd9cd3b492318b890ae476141165 +size 12426003 diff --git a/perl-errorcount.diff b/perl-errorcount.diff new file mode 100644 index 0000000..f4676fb --- /dev/null +++ b/perl-errorcount.diff @@ -0,0 +1,10 @@ +--- toke.c.orig 2007-12-18 10:47:08.000000000 +0000 ++++ toke.c 2009-06-10 09:20:40.000000000 +0000 +@@ -692,6 +692,7 @@ Perl_lex_start(pTHX_ SV *line, PerlIO *r + #else + parser->nexttoke = 0; + #endif ++ parser->error_count = oparser ? oparser->error_count : 0; + parser->copline = NOLINE; + parser->lex_state = LEX_NORMAL; + parser->expect = XSTATE; diff --git a/perl-fast-syslog.diff b/perl-fast-syslog.diff new file mode 100644 index 0000000..9d4b232 --- /dev/null +++ b/perl-fast-syslog.diff @@ -0,0 +1,11 @@ +--- ext/Sys/Syslog/Syslog.pm.orig 2007-12-18 10:47:07.000000000 +0000 ++++ ext/Sys/Syslog/Syslog.pm 2009-06-10 09:39:14.000000000 +0000 +@@ -741,7 +741,7 @@ sub connection_ok { + + my $rin = ''; + vec($rin, fileno(SYSLOG), 1) = 1; +- my $ret = select $rin, undef, $rin, 0.25; ++ my $ret = select $rin, undef, $rin, 0; + return ($ret ? 0 : 1); + } + diff --git a/perl-file_path_rmtree_chmod.diff b/perl-file_path_rmtree_chmod.diff new file mode 100644 index 0000000..d69b555 --- /dev/null +++ b/perl-file_path_rmtree_chmod.diff @@ -0,0 +1,30 @@ +A simple test case for this bug is: + +touch foo # permissions 0666 & ~umask +ln -s foo bar +perl -e 'use File::Path rmtree; rmtree bar' +ls -l foo # permissions 0777 + +The following patch fixes that and the originally reported problem. I +believe the other chmod() calls in the _rmtree subroutine will never be +applied to a sym-link if either (1) no concurrent modifications of the +directory tree or (2) the 'safe' option is used. It would be worthwhile +for someone else to double-check that, though. + +Ben. + +--- lib/File/Path.pm.orig ++++ lib/File/Path.pm +@@ -351,10 +351,8 @@ + } + + my $nperm = $perm & 07777 | 0600; +- if ($nperm != $perm and not chmod $nperm, $root) { +- if ($Force_Writeable) { +- _error($arg, "cannot make file writeable", $canon); +- } ++ if ($Force_Writeable && $nperm != $perm and not chmod $nperm, $root) { ++ _error($arg, "cannot make file writeable", $canon); + } + print "unlink $canon\n" if $arg->{verbose}; + # delete all versions under VMS diff --git a/perl-file_path_rmtree_chmod_again.diff b/perl-file_path_rmtree_chmod_again.diff new file mode 100644 index 0000000..48fe856 --- /dev/null +++ b/perl-file_path_rmtree_chmod_again.diff @@ -0,0 +1,24 @@ +--- lib/File/Path.pm.orig ++++ lib/File/Path.pm +@@ -316,10 +316,8 @@ sub _rmtree { + print "skipped $root\n" if $arg->{verbose}; + next ROOT_DIR; + } +- if (!chmod $perm | 0700, $root) { +- if ($Force_Writeable) { +- _error($arg, "cannot make directory writeable", $canon); +- } ++ if ($Force_Writeable && !chmod $perm | 0700, $root) { ++ _error($arg, "cannot make directory writeable", $canon); + } + print "rmdir $root\n" if $arg->{verbose}; + if (rmdir $root) { +@@ -328,7 +326,7 @@ sub _rmtree { + } + else { + _error($arg, "cannot remove directory", $canon); +- if (!chmod($perm, ($Is_VMS ? VMS::Filespec::fileify($root) : $root)) ++ if ($Force_Writeable && !chmod($perm, ($Is_VMS ? VMS::Filespec::fileify($root) : $root)) + ) { + _error($arg, sprintf("cannot restore permissions to 0%o",$perm), $canon); + } diff --git a/perl-netcmdutf8.diff b/perl-netcmdutf8.diff index 2cda2a5..91b96fb 100644 --- a/perl-netcmdutf8.diff +++ b/perl-netcmdutf8.diff @@ -1,5 +1,5 @@ ---- ./lib/Net/Cmd.pm.orig 2009-09-03 14:32:13.000000000 +0000 -+++ ./lib/Net/Cmd.pm 2009-09-03 14:47:30.000000000 +0000 +--- lib/Net/Cmd.pm.orig 2009-06-10 09:23:18.000000000 +0000 ++++ lib/Net/Cmd.pm 2009-06-10 09:25:49.000000000 +0000 @@ -226,6 +226,10 @@ sub command { $str = $cmd->toascii($str) if $tr; $str .= "\015\012"; @@ -11,7 +11,7 @@ my $len = length $str; my $swlen; -@@ -473,6 +477,10 @@ sub rawdatasend { +@@ -471,6 +475,10 @@ sub rawdatasend { return 0 unless defined(fileno($cmd)); diff --git a/perl-regexp-refoverflow.diff b/perl-regexp-refoverflow.diff index 5544ca8..db5c984 100644 --- a/perl-regexp-refoverflow.diff +++ b/perl-regexp-refoverflow.diff @@ -1,6 +1,6 @@ ---- ./regcomp.c.orig 2009-07-27 21:37:52.000000000 +0000 -+++ ./regcomp.c 2009-09-03 14:36:50.000000000 +0000 -@@ -5787,7 +5787,7 @@ S_reg(pTHX_ RExC_state_t *pRExC_state, I +--- regcomp.c ++++ regcomp.c +@@ -5713,7 +5713,7 @@ S_reg(pTHX_ RExC_state_t *pRExC_state, I ret = reganode(pRExC_state, GOSUB, num); if (!SIZE_ONLY) { @@ -9,7 +9,7 @@ RExC_parse++; vFAIL("Reference to nonexistent group"); } -@@ -7234,7 +7234,7 @@ tryagain: +@@ -7132,7 +7132,7 @@ tryagain: if (num < 1) vFAIL("Reference to nonexistent or unclosed group"); } @@ -18,7 +18,7 @@ goto defchar; else { char * const parse_start = RExC_parse - 1; /* MJD */ -@@ -7248,7 +7248,7 @@ tryagain: +@@ -7146,7 +7146,7 @@ tryagain: RExC_parse++; } if (!SIZE_ONLY) { @@ -27,7 +27,7 @@ vFAIL("Reference to nonexistent group"); } RExC_sawback = 1; -@@ -7425,7 +7425,7 @@ tryagain: +@@ -7323,7 +7323,7 @@ tryagain: case '0': case '1': case '2': case '3':case '4': case '5': case '6': case '7': case '8':case '9': if (*p == '0' || diff --git a/perl-zlib-growoob.diff b/perl-zlib-growoob.diff new file mode 100644 index 0000000..830d0e9 --- /dev/null +++ b/perl-zlib-growoob.diff @@ -0,0 +1,20 @@ +--- ./ext/Compress/Raw/Zlib/Zlib.xs.orig 2007-12-18 10:47:07.000000000 +0000 ++++ ./ext/Compress/Raw/Zlib/Zlib.xs 2009-06-10 09:11:57.000000000 +0000 +@@ -1295,7 +1295,7 @@ inflate (s, buf, output, eof=FALSE) + + if (s->stream.avail_out == 0 ) { + /* out of space in the output buffer so make it bigger */ +- Sv_Grow(output, SvLEN(output) + bufinc) ; ++ Sv_Grow(output, SvLEN(output) + bufinc + 1) ; + cur_length += increment ; + s->stream.next_out = (Bytef*) SvPVbyte_nolen(output) + cur_length ; + increment = bufinc ; +@@ -1336,7 +1336,7 @@ inflate (s, buf, output, eof=FALSE) + s->stream.avail_in = 1; + if (s->stream.avail_out == 0) { + /* out of space in the output buffer so make it bigger */ +- Sv_Grow(output, SvLEN(output) + bufinc) ; ++ Sv_Grow(output, SvLEN(output) + bufinc + 1) ; + cur_length += increment ; + s->stream.next_out = (Bytef*) SvPVbyte_nolen(output) + cur_length ; + increment = bufinc ; diff --git a/perl.changes b/perl.changes index 7f0ec61..37edd51 100644 --- a/perl.changes +++ b/perl.changes @@ -1,23 +1,3 @@ -------------------------------------------------------------------- -Sun Dec 13 18:52:18 CET 2009 - jengelh@medozas.de - -- enable parallel building -- package documentation as noarch - -------------------------------------------------------------------- -Sun Oct 25 18:46:40 UTC 2009 - coolo@novell.com - -- update to perl-5.10.1 again - -------------------------------------------------------------------- -Tue Sep 8 13:43:35 CEST 2009 - mls@suse.de - -- backport upstream fixes for POSIX module to avoid clashes - with Fcntl [bnc#446098], [bnc#515948] -- backport upstream fix for ISA assertion failure [bnc#528423] -- move unicode files from perl-doc to perl, otherwise some - perl modules will not work - ------------------------------------------------------------------- Sat Sep 5 15:47:24 CEST 2009 - coolo@novell.com diff --git a/perl.spec b/perl.spec index f7e74e4..23472cf 100644 --- a/perl.spec +++ b/perl.spec @@ -1,7 +1,7 @@ # -# spec file for package perl (Version 5.10.1) +# spec file for package perl (Version 5.10.0) # -# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -20,9 +20,9 @@ Name: perl Summary: The Perl interpreter -Version: 5.10.1 -Release: 3 -License: Artistic License .. ; GPLv2+ +Version: 5.10.0 +Release: 69 +License: Artistic License .. ; GPL v2 or later Group: Development/Languages/Perl AutoReqProv: on Url: http://www.perl.org/ @@ -30,14 +30,19 @@ Source: perl-%{version}.tar.bz2 Source1: %name-rpmlintrc Source2: macros.perl Source3: README.macros -Source4: baselibs.conf -Patch0: perl-%{version}.dif +Patch: perl-%{version}.dif Patch1: perl-gracefull-net-ftp.diff -Patch2: perl-fix_dbmclose_call.patch -Patch3: perl-regexp-refoverflow.diff -Patch4: perl-nroff.diff -Patch5: perl-netcmdutf8.diff -Patch6: perl-threads.diff +Patch2: perl-5.10.0-regexp.diff +Patch3: perl-fix_dbmclose_call.patch +Patch4: perl-5.10.0-warn.diff +Patch5: perl-regexp-refoverflow.diff +Patch6: perl-file_path_rmtree_chmod.diff +Patch7: perl-file_path_rmtree_chmod_again.diff +Patch8: perl-nroff.diff +Patch9: perl-zlib-growoob.diff +Patch10: perl-errorcount.diff +Patch11: perl-netcmdutf8.diff +Patch12: perl-fast-syslog.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build PreReq: perl-base = %version #PreReq: %fillup_prereq @@ -84,7 +89,7 @@ Authors: Larry Wall, Louis J. LaBash, Jr. %package base -License: Artistic License .. ; GPLv2+ +License: Artistic License .. ; GPL v2 or later Group: Development/Languages/Perl Summary: The Perl interpreter Provides: perl-Digest perl-Digest-MD5 @@ -114,14 +119,11 @@ Authors: Larry Wall, Louis J. LaBash, Jr. %package doc -License: Artistic License .. ; GPLv2+ +License: Artistic License .. ; GPL v2 or later Group: Development/Languages/Perl Summary: Perl Documentation Requires: perl = %{version} Provides: perl:/usr/share/man/man3/CORE.3pm.gz -%if 0%{?suse_version} >= 1120 -BuildArch: noarch -%endif %description doc Perl man pages and pod files. @@ -133,21 +135,24 @@ Authors: Larry Wall, Louis J. LaBash, Jr. %prep -%setup -q -n perl-5.10.1 +%setup -q -n perl-5.10.0 cp -p %{S:3} . -%patch0 +%patch %patch1 %patch2 %patch3 %patch4 %patch5 %patch6 +%patch7 +%patch8 +%patch9 +%patch10 +%patch11 +%patch12 %build export SUSE_ASNEEDED=0 -export BZIP2_LIB=%{_libdir} -export BZIP2_INCLUDE=%{_includedir} -export BUILD_BZIP2=0 options="-Doptimize='$RPM_OPT_FLAGS -Wall -pipe'" %ifarch alpha # -mieee needed for bad alpha gcc optimization @@ -160,13 +165,13 @@ options="$options -Duse64bitint" options="$options -Accflags='-DPERL_USE_SAFE_PUTENV'" chmod 755 ./configure.gnu ./configure.gnu --prefix=/usr -Dvendorprefix=/usr -Dinstallusrbinperl -Dusethreads -Di_db -Di_dbm -Di_ndbm -Di_gdbm -Duseshrplib=\'true\' $options -make %{?jobs:-j%jobs}; +make mv libperl.so savelibperl.so mv lib/Config.pm saveConfig.pm mv lib/Config_heavy.pl saveConfig_heavy.pl make clobber ./configure.gnu --prefix=/usr -Dvendorprefix=/usr -Dinstallusrbinperl -Dusethreads -Di_db -Di_dbm -Di_ndbm -Di_gdbm $options -make %{?jobs:-j%jobs}; +make %ifnarch %arm %check