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.1.dif b/perl-5.10.0.dif similarity index 69% rename from perl-5.10.1.dif rename to perl-5.10.0.dif index 69aabb5..d740a45 100644 --- a/perl-5.10.1.dif +++ b/perl-5.10.0.dif @@ -1,6 +1,6 @@ ---- ./Configure.orig 2009-08-18 19:03:53.000000000 +0000 -+++ ./Configure 2009-09-04 07:02:18.000000000 +0000 -@@ -109,7 +109,7 @@ paths="$paths /usr/5bin /etc /usr/gnu/bi +--- ./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" @@ -9,7 +9,7 @@ paths="$paths /sbin /usr/sbin /usr/libexec" paths="$paths /system/gnu_library/bin" -@@ -1307,7 +1307,7 @@ loclibpth="/usr/local/lib /opt/local/lib +@@ -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 @@ -18,7 +18,7 @@ glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib" test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth" test -f /shlib/libc.so && glibpth="/shlib $glibpth" -@@ -2366,7 +2366,7 @@ uname +@@ -2340,7 +2340,7 @@ uname zip " pth=`echo $PATH | sed -e "s/$p_/ /g"` @@ -27,25 +27,7 @@ for file in $loclist; do eval xxx=\$$file case "$xxx" in -@@ -11173,7 +11173,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 */ - -@@ -11185,7 +11185,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 - -@@ -18908,14 +18908,20 @@ int main(int argc, char *argv[]) +@@ -18439,14 +18439,20 @@ int main(int argc, char *argv[]) } EOCP set try @@ -66,7 +48,7 @@ i_db=$undef case " $libs " in *"-ldb "*) -@@ -18958,7 +18964,7 @@ int main() +@@ -18489,7 +18495,7 @@ int main() } #endif EOCP @@ -75,7 +57,7 @@ if $contains warning try.out >>/dev/null 2>&1 ; then db_hashtype='int' else -@@ -19003,7 +19009,7 @@ int main() +@@ -18534,7 +18540,7 @@ int main() } #endif EOCP @@ -84,7 +66,7 @@ if $contains warning try.out >>/dev/null 2>&1 ; then db_prefixtype='int' else -@@ -22973,7 +22979,7 @@ passcat='$passcat' +@@ -22313,7 +22319,7 @@ passcat='$passcat' patchlevel='$patchlevel' path_sep='$path_sep' perl5='$perl5' @@ -93,8 +75,8 @@ perl_patchlevel='$perl_patchlevel' perladmin='$perladmin' perllibs='$perllibs' ---- ./SuSE/SuSEconfig.perl.orig 2009-09-04 07:01:37.000000000 +0000 -+++ ./SuSE/SuSEconfig.perl 2009-09-04 07:01:37.000000000 +0000 +--- ./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 +# @@ -172,8 +154,8 @@ +# +# end of file SuSEconfig.perl +# ---- ./SuSE/perllocal.SuSE.orig 2009-09-04 07:01:37.000000000 +0000 -+++ ./SuSE/perllocal.SuSE 2009-09-04 07:01:37.000000000 +0000 +--- ./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. @@ -259,8 +241,8 @@ + print "SuSEconfig.perl: Can't write to file $Config{'installarchlib'}/perllocal.pod !\n\n"; +} + ---- ./SuSE/sysconfig.suseconfig-perl.orig 2009-09-04 07:01:37.000000000 +0000 -+++ ./SuSE/sysconfig.suseconfig-perl 2009-09-04 07:01:37.000000000 +0000 +--- ./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 @@ -270,8 +252,8 @@ +# May SuSEconfig modify your perllocal.pod? (yes/no) +# +CREATE_PERLLOCAL_POD="yes" ---- ./ext/Compress-Raw-Zlib/config.in.orig 2009-04-14 18:20:34.000000000 +0000 -+++ ./ext/Compress-Raw-Zlib/config.in 2009-09-04 07:01:37.000000000 +0000 +--- ./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 # @@ -285,8 +267,8 @@ OLD_ZLIB = False GZIP_OS_CODE = AUTO_DETECT ---- ./ext/DynaLoader/hints/linux.pl.orig 2009-02-12 22:58:11.000000000 +0000 -+++ ./ext/DynaLoader/hints/linux.pl 2009-09-04 07:01:37.000000000 +0000 +--- ./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' @@ -295,8 +277,8 @@ +# module, so add cccdlflags if we're going for a shared libperl +$self->{CCFLAGS} = ($self->{CCFLAGS} || $Config{ccflags}) . " $Config{cccdlflags}" if $Config{'useshrplib'} eq 'true'; 1; ---- ./ext/Encode/bin/enc2xs.orig 2009-04-12 17:18:06.000000000 +0000 -+++ ./ext/Encode/bin/enc2xs 2009-09-04 07:01:37.000000000 +0000 +--- ./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; } @@ -313,29 +295,29 @@ $_LocalVer = _mkversion(); $_E2X = find_e2x(); $_Inc = $INC{"Encode.pm"}; ---- ./ext/NDBM_File/Makefile.PL.orig 2009-04-19 17:02:38.000000000 +0000 -+++ ./ext/NDBM_File/Makefile.PL 2009-09-04 07:01:37.000000000 +0000 -@@ -2,6 +2,7 @@ use ExtUtils::MakeMaker; +--- ./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? - VERSION_FROM => 'NDBM_File.pm', - INC => ($^O eq "MacOS" ? "-i ::::db:include" : "") ---- ./ext/ODBM_File/Makefile.PL.orig 2009-04-19 17:02:38.000000000 +0000 -+++ ./ext/ODBM_File/Makefile.PL 2009-09-04 07:01:37.000000000 +0000 +--- ./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 2009-02-12 22:58:12.000000000 +0000 -+++ ./ext/ODBM_File/hints/linux.pl 2009-09-04 07:01:37.000000000 +0000 +--- ./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']; @@ -343,9 +325,9 @@ # Debian/Ubuntu have /usr/lib/libgdbm_compat.so.3* but not this file, # so linking may fail ---- ./ext/Sys-Syslog/t/syslog.t.orig 2009-06-10 16:53:46.000000000 +0000 -+++ ./ext/Sys-Syslog/t/syslog.t 2009-09-04 07:01:37.000000000 +0000 -@@ -213,6 +213,7 @@ SKIP: { +--- ./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 { @@ -353,9 +335,9 @@ ok( $r, "setlogsock() should return true: '$r'" ); } ---- ./hints/linux.sh.orig 2009-02-12 22:58:12.000000000 +0000 -+++ ./hints/linux.sh 2009-09-04 07:01:37.000000000 +0000 -@@ -50,12 +50,14 @@ ignore_versioned_solibs='y' +--- ./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 @@ -366,13 +348,7 @@ shift libswanted="$*" - # Debian 4.0 puts ndbm in the -lgdbm_compat library. --libswanted="$libswanted gdbm_compat" -+#libswanted="$libswanted gdbm_compat" - - # If you have glibc, then report the version for ./myconfig bug reporting. - # (Configure doesn't need to know the specific version since it just uses -@@ -63,7 +65,18 @@ libswanted="$libswanted gdbm_compat" +@@ -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. @@ -392,7 +368,7 @@ libc=`ls -l /lib/libc.so.6 | awk '{print $NF}'` libc=/lib/$libc fi -@@ -143,9 +156,14 @@ case "$optimize" in +@@ -130,9 +143,14 @@ case "$optimize" in esac ;; esac @@ -407,7 +383,7 @@ # Are we using ELF? Thanks to Kenneth Albanowski # for this test. cat >try.c <<'EOM' -@@ -230,6 +248,29 @@ EOM +@@ -217,6 +235,29 @@ EOM esac fi @@ -437,7 +413,7 @@ rm -f try.c a.out if /bin/sh -c exit; then -@@ -279,6 +320,9 @@ else +@@ -266,6 +307,9 @@ else echo "Couldn't find tcsh. Csh-based globbing might be broken." fi fi @@ -447,7 +423,7 @@ # Shimpei Yamashita # Message-Id: <33EF1634.B36B6500@pobox.com> -@@ -357,6 +401,8 @@ $define|true|[yY]*) +@@ -344,6 +388,8 @@ $define|true|[yY]*) d_localtime_r_proto="$define" d_random_r_proto="$define" @@ -456,18 +432,18 @@ ;; esac EOCBU ---- ./installperl.orig 2009-08-13 22:40:10.000000000 +0000 -+++ ./installperl 2009-09-04 07:01:37.000000000 +0000 -@@ -235,7 +235,7 @@ if ($Is_VMS) { # Hang in there until Fi +--- ./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 (!$opts{notify} && $d_dosuid && $>) { die "You must run as root to install suidperl\n"; } -+#if (!$opts{notify} && $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"; } ++# 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, $opts{verbose}, 0777); -@@ -344,7 +344,11 @@ else { + -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"); @@ -480,52 +456,8 @@ } # Install library files. ---- ./lib/CGI/Fast.pm.orig 2009-02-12 22:58:12.000000000 +0000 -+++ ./lib/CGI/Fast.pm 2009-09-04 07:01:37.000000000 +0000 -@@ -19,6 +19,9 @@ use CGI; - 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) { } - ---- ./lib/CPAN.pm.orig 2009-06-27 21:21:54.000000000 +0000 -+++ ./lib/CPAN.pm 2009-09-04 07:01:37.000000000 +0000 -@@ -64,7 +64,7 @@ sub _uniq; - - no lib "."; - --require Mac::BuildTools if $^O eq 'MacOS'; -+#require Mac::BuildTools if $^O eq 'MacOS'; - if ($ENV{PERL5_CPAN_IS_RUNNING} && $$ != $ENV{PERL5_CPAN_IS_RUNNING}) { - $ENV{PERL5_CPAN_IS_RUNNING_IN_RECURSION} ||= $ENV{PERL5_CPAN_IS_RUNNING}; - my @rec = _uniq split(/,/, $ENV{PERL5_CPAN_IS_RUNNING_IN_RECURSION}), $$; ---- ./lib/CPANPLUS/Internals/Constants/Report.pm.orig 2009-05-03 23:51:10.000000000 +0000 -+++ ./lib/CPANPLUS/Internals/Constants/Report.pm 2009-09-04 07:01:37.000000000 +0000 -@@ -236,6 +236,8 @@ Thanks! :-) - . - }; - -+our $RPM_Ignore_Requires = "perl(Your::Module::Here)"; -+ - use constant REPORT_MISSING_TESTS - => sub { - return << "."; ---- ./lib/Carp/Heavy.pm.orig 2009-02-12 22:58:13.000000000 +0000 -+++ ./lib/Carp/Heavy.pm 2009-09-04 07:01:37.000000000 +0000 -@@ -30,6 +30,7 @@ $CarpInternal{warnings}++; - $Internal{Exporter}++; - $Internal{'Exporter::Heavy'}++; - -+our $RPM_Ignore_Requires = "perl(Carp::Heavy)"; - - our ($CarpLevel, $MaxArgNums, $MaxEvalLen, $MaxArgLen, $Verbose); - ---- ./lib/ExtUtils/Packlist.pm.orig 2009-02-12 22:58:13.000000000 +0000 -+++ ./lib/ExtUtils/Packlist.pm 2009-09-04 07:01:37.000000000 +0000 +--- ./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) @@ -540,42 +472,9 @@ } } return(@missing); ---- ./lib/File/Spec/VMS.pm.orig 2009-05-10 23:30:12.000000000 +0000 -+++ ./lib/File/Spec/VMS.pm 2009-09-04 07:01:37.000000000 +0000 -@@ -12,6 +12,8 @@ $VERSION = eval $VERSION; - use File::Basename; - use VMS::Filespec; - -+our $RPM_Ignore_Requires = "perl(VMS::Filespec)"; -+ - =head1 NAME - - File::Spec::VMS - methods for VMS file specs ---- ./lib/File/Temp.pm.orig 2009-06-30 13:13:54.000000000 +0000 -+++ ./lib/File/Temp.pm 2009-09-04 07:01:37.000000000 +0000 -@@ -146,7 +146,7 @@ use File::Path qw/ rmtree /; - 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/Net/Config.pm.orig 2009-02-12 22:58:14.000000000 +0000 -+++ ./lib/Net/Config.pm 2009-09-04 07:01:37.000000000 +0000 -@@ -37,7 +37,7 @@ eval { local $SIG{__DIE__}; require Net: - # Try to get as much configuration info as possible from InternetConfig - # - $^O eq 'MacOS' and eval <&STDOUT" ) # XXX: lost message || &warn("Can't restore DB::OUT"); } @@ -584,7 +483,7 @@ next CMD; } ## end unless ($piped = open(OUT,... -@@ -3520,6 +3522,8 @@ our standard filehandles for input and o +@@ -3510,6 +3512,8 @@ our standard filehandles for input and o # if necessary, close(SAVEOUT); select($selected), $selected = "" unless $selected eq ""; @@ -593,8 +492,8 @@ # No pipes now. $piped = ""; ---- ./lib/unicore/mktables.orig 2009-04-12 20:56:19.000000000 +0000 -+++ ./lib/unicore/mktables 2009-09-04 07:01:37.000000000 +0000 +--- ./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)) { @@ -603,10 +502,10 @@ + mkdir $lib, 0755 or $! =~ /exists/i or die "mkdir '$lib': $!"; } - my $LastUnicodeCodepoint = 0x10FFFF; # As of Unicode 5.1. ---- ./locale.c.orig 2009-03-19 19:56:24.000000000 +0000 -+++ ./locale.c 2009-09-04 07:01:37.000000000 +0000 -@@ -357,9 +357,15 @@ Perl_init_i18nl10n(pTHX_ int printwarn) + 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; @@ -622,21 +521,21 @@ if (locwarn) { #ifdef LC_ALL ---- ./t/TEST.orig 2009-08-04 22:06:15.000000000 +0000 -+++ ./t/TEST 2009-09-04 07:01:37.000000000 +0000 -@@ -156,6 +156,7 @@ unless (@ARGV) { - next if $skip{$flat_extension}; # Foo/Bar may live in Foo-Bar +--- ./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 2009-04-19 16:47:00.000000000 +0000 -+++ ./t/harness 2009-09-04 07:01:37.000000000 +0000 -@@ -199,7 +199,8 @@ if (@ARGV) { - $flat_extension =~ s!-!/!g; - next if $skip{$flat_extension}; # Foo/Bar may live in Foo-Bar +--- ./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); @@ -644,8 +543,8 @@ } } close MANI; ---- ./t/op/numconvert.t.orig 2009-06-10 16:53:47.000000000 +0000 -+++ ./t/op/numconvert.t 2009-09-04 07:01:37.000000000 +0000 +--- ./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: @@ -655,13 +554,99 @@ 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 2009-08-12 18:49:24.000000000 +0000 -+++ ./utils/perlbug.PL 2009-09-04 07:01:37.000000000 +0000 -@@ -1077,6 +1077,7 @@ sub _message_headers { - $headers{'Cc'} = $cc if ($cc); - $headers{'Message-Id'} = $messageid if ($messageid); - $headers{'Reply-To'} = $from if ($from); -+ $headers{'X-Webfrontend'} = 'perlbug'; - return \%headers; +--- ./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-5.10.1.tar.bz2 b/perl-5.10.1.tar.bz2 deleted file mode 100644 index 8626a20..0000000 --- a/perl-5.10.1.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0e5a2c46172b5f96de8ddfe9ed5aec5218d656a1ac48a2dae1fe58080c49b806 -size 11608186 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-threads.diff b/perl-threads.diff deleted file mode 100644 index e277f13..0000000 --- a/perl-threads.diff +++ /dev/null @@ -1,29 +0,0 @@ ---- ext/threads/threads.xs.orig 2009-09-04 06:58:42.000000000 +0000 -+++ ext/threads/threads.xs 2009-09-04 07:00:10.000000000 +0000 -@@ -603,8 +603,10 @@ S_ithread_create( - ithread *thread; - ithread *current_thread = S_ithread_get(aTHX); - -+#if 0 - SV **tmps_tmp = PL_tmps_stack; - IV tmps_ix = PL_tmps_ix; -+#endif - #ifndef WIN32 - int rc_stack_size = 0; - int rc_thread_create = 0; -@@ -695,6 +697,7 @@ S_ithread_create( - thread->params = sv_dup(params, &clone_param); - SvREFCNT_inc_void(thread->params); - -+#if 0 - /* The code below checks that anything living on the tmps stack and - * has been cloned (so it lives in the ptr_table) has a refcount - * higher than 0. -@@ -717,6 +720,7 @@ S_ithread_create( - SvREFCNT_dec(sv); - } - } -+#endif - - SvTEMP_off(thread->init_function); - ptr_table_free(PL_ptr_table); 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 f42eb93..37edd51 100644 --- a/perl.changes +++ b/perl.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Sat Sep 5 15:47:24 CEST 2009 - coolo@novell.com + +- revert to 5.10.0, too many problems (10 failures and 162 + cyclic dependencies for d:l:p) + ------------------------------------------------------------------- Thu Sep 3 17:05:44 CEST 2009 - mls@suse.de diff --git a/perl.spec b/perl.spec index f4600b6..76ede2b 100644 --- a/perl.spec +++ b/perl.spec @@ -1,5 +1,5 @@ # -# spec file for package perl (Version 5.10.1) +# spec file for package perl (Version 5.10.0) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -20,8 +20,8 @@ Name: perl Summary: The Perl interpreter -Version: 5.10.1 -Release: 1 +Version: 5.10.0 +Release: 70 License: Artistic License .. ; GPL v2 or later Group: Development/Languages/Perl AutoReqProv: on @@ -30,13 +30,19 @@ Source: perl-%{version}.tar.bz2 Source1: %name-rpmlintrc Source2: macros.perl Source3: README.macros -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 @@ -129,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