Submitted By: Bruce Dubbs Date: 2006-02-15 Initial Package Version: 5.8.8 Origin: Upstream Description: Consoilidation of several upstream patches. 1. perl-5.10.0-libc-1.patch 2. [perl bug #54186] 3. Fix perl warnings 4. Fix a segfault when there is a double-freed scalar 5. perl-5.10.0-page-1.patch Submitted By: Anderson Lizardo Date: 2006-02-15 Initial Package Version: 5.8.8 Origin: based on current LFS-BOOK patch (perl-5.8.0-libc-2.patch) Description: this patch adapts some hard-wired paths to the C library. It uses the $prefix variable to locate the correct libc. Note: manually updated for perl-5.10.0 diff -Naur perl-5.8.8.orig/hints/linux.sh perl-5.8.8/hints/linux.sh --- perl-5.8.8.orig/hints/linux.sh 2005-11-18 01:18:45.000000000 +0000 +++ perl-5.8.8/hints/linux.sh 2006-02-12 12:20:32.000000000 +0000 @@ -60,9 +60,9 @@ # 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 - libc=`ls -l /lib/libc.so.6 | awk '{print $NF}'` - libc=/lib/$libc +if test -L ${prefix}/lib/libc.so.6; then + libc=`ls -l ${prefix}/lib/libc.so.6 | awk '{print $NF}'` + libc=${prefix}/lib/$libc fi # Configure may fail to find lstat() since it's a static/inline @@ -423,3 +423,8 @@ libswanted="$libswanted pthread" ;; esac + +locincpth="" +loclibpth="" +glibpth="${prefix}/lib" +usrinc="${prefix}/include" Fix 'constant subroutine SEEK_* redefined' warnings when using the Fcntl and POSIX modules together. (Closes: #479957) [perl #54186] Upstream change 33825. diff --git a/ext/POSIX/Makefile.PL b/ext/POSIX/Makefile.PL index bd93e59..5f6679d 100644 --- a/ext/POSIX/Makefile.PL +++ b/ext/POSIX/Makefile.PL @@ -48,13 +48,11 @@ my @names = MAX_INPUT MB_LEN_MAX MSG_CTRUNC MSG_DONTROUTE MSG_EOR MSG_OOB MSG_PEEK MSG_TRUNC MSG_WAITALL NAME_MAX NCCS NGROUPS_MAX NOFLSH OPEN_MAX OPOST PARENB PARMRK PARODD PATH_MAX PIPE_BUF RAND_MAX R_OK SCHAR_MAX - SCHAR_MIN SEEK_CUR SEEK_END SEEK_SET SHRT_MAX SHRT_MIN SIGABRT SIGALRM + SCHAR_MIN SHRT_MAX SHRT_MIN SIGABRT SIGALRM SIGCHLD SIGCONT SIGFPE SIGHUP SIGILL SIGINT SIGKILL SIGPIPE SIGQUIT SIGSEGV SIGSTOP SIGTERM SIGTSTP SIGTTIN SIGTTOU SIGUSR1 SIGUSR2 SIG_BLOCK SIG_SETMASK SIG_UNBLOCK SSIZE_MAX - STDERR_FILENO STDIN_FILENO STDOUT_FILENO STREAM_MAX - S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU S_ISGID S_ISUID - S_IWGRP S_IWOTH S_IWUSR S_IXGRP S_IXOTH S_IXUSR TCIFLUSH TCIOFF + STDERR_FILENO STDIN_FILENO STDOUT_FILENO STREAM_MAX TCIFLUSH TCIOFF TCIOFLUSH TCION TCOFLUSH TCOOFF TCOON TCSADRAIN TCSAFLUSH TCSANOW TMP_MAX TOSTOP TZNAME_MAX VEOF VEOL VERASE VINTR VKILL VMIN VQUIT VSTART VSTOP VSUSP VTIME WNOHANG WUNTRACED W_OK X_OK diff --git a/ext/POSIX/POSIX.pm b/ext/POSIX/POSIX.pm index fbbd253..97d0b2c 100644 --- a/ext/POSIX/POSIX.pm +++ b/ext/POSIX/POSIX.pm @@ -13,7 +13,9 @@ use XSLoader (); use Fcntl qw(FD_CLOEXEC F_DUPFD F_GETFD F_GETFL F_GETLK F_RDLCK F_SETFD F_SETFL F_SETLK F_SETLKW F_UNLCK F_WRLCK O_ACCMODE O_APPEND O_CREAT O_EXCL O_NOCTTY O_NONBLOCK O_RDONLY O_RDWR O_TRUNC - O_WRONLY); + O_WRONLY SEEK_CUR SEEK_END SEEK_SET + S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU S_ISGID S_ISUID + S_IWGRP S_IWOTH S_IWUSR S_IXGRP S_IXOTH S_IXUSR); # Grandfather old foo_h form to new :foo_h form my $loaded; diff --git a/t/lib/proxy_constant_subs.t b/t/lib/proxy_constant_subs.t index 4af73d3..45b0a54 100644 --- a/t/lib/proxy_constant_subs.t +++ b/t/lib/proxy_constant_subs.t @@ -7,20 +7,20 @@ BEGIN { print "1..0 # Skip -- Perl configured without B module\n"; exit 0; } - if ($Config::Config{'extensions'} !~ /\bPOSIX\b/) { - print "1..0 # Skip -- Perl configured without POSIX\n"; + if ($Config::Config{'extensions'} !~ /\bFcntl\b/) { + print "1..0 # Skip -- Perl configured without Fcntl\n"; exit 0; } - # errno is a real subroutine, and acts as control + # S_IFMT is a real subroutine, and acts as control # SEEK_SET is a proxy constant subroutine. - @symbols = qw(errno SEEK_SET); + @symbols = qw(S_IFMT SEEK_SET); } use strict; use warnings; use Test::More tests => 4 * @symbols; use B qw(svref_2object GVf_IMPORTED_CV); -use POSIX @symbols; +use Fcntl @symbols; # GVf_IMPORTED_CV should not be set on the original, but should be set on the # imported GV. @@ -29,7 +29,7 @@ foreach my $symbol (@symbols) { my ($ps, $ms); { no strict 'refs'; - $ps = svref_2object(\*{"POSIX::$symbol"}); + $ps = svref_2object(\*{"Fcntl::$symbol"}); $ms = svref_2object(\*{"::$symbol"}); } isa_ok($ps, 'B::GV'); Perl Upstream Patch diff --git a/ext/PerlIO/via/via.xs b/ext/PerlIO/via/via.xs index 5670887..c53e43c 100644 --- perl-5.10.0.orig/ext/PerlIO/via/via.xs +++ perl-5.10.0/ext/PerlIO/via/via.xs @@ -89,7 +89,7 @@ if (!s->fh) { GV *gv = newGVgen(HvNAME_get(s->stash)); GvIOp(gv) = newIO(); - s->fh = newRV_noinc((SV *) gv); + s->fh = newRV((SV *) gv); s->io = GvIOp(gv); } IoIFP(s->io) = PerlIONext(f); Fix for bug [perl #54934] Attempt to free unreferenced scalar diff -Naur perl-5.10.0.orig/lib/File/Path.pm perl-5.10.0/lib/File/Path.pm --- perl-5.10.0.orig/lib/File/Path.pm 2007-12-18 10:47:07.000000000 +0000 +++ perl-5.10.0/lib/File/Path.pm 2008-10-22 00:15:52.000000000 +0000 @@ -350,9 +350,9 @@ next ROOT_DIR; } - my $nperm = $perm & 07777 | 0600; - if ($nperm != $perm and not chmod $nperm, $root) { - if ($Force_Writeable) { + if ($Force_Writeable) { + my $nperm = $perm & 07777 | 0600; + if ($nperm != $perm and not chmod $nperm, $root) { _error($arg, "cannot make file writeable", $canon); } } diff -Naur perl-5.10.0.orig/mg.c perl-5.10.0/mg.c --- perl-5.10.0.orig/mg.c 2007-12-18 10:47:08.000000000 +0000 +++ perl-5.10.0/mg.c 2008-10-23 04:02:22.000000000 +0000 @@ -1543,7 +1543,7 @@ stash = GvSTASH( SvTYPE(mg->mg_obj) == SVt_PVGV ? (GV*)mg->mg_obj - : (GV*)SvMAGIC(mg->mg_obj)->mg_obj + : (GV*)mg_find(mg->mg_obj, PERL_MAGIC_isa)->mg_obj ); mro_isa_changed_in(stash); Submitted By: DJ Lucas Date: 2008-08-28 Initial Package Version: 5.10.0 Origin: Self Description: this patch removes the deprecated asm/page.h header. diff -Naur perl-5.10.0-orig/ext/IPC/SysV/SysV.xs perl-5.10.0/ext/IPC/SysV/SysV.xs --- perl-5.10.0-orig/ext/IPC/SysV/SysV.xs 2008-08-19 22:36:43.000000000 -0500 +++ perl-5.10.0/ext/IPC/SysV/SysV.xs 2007-12-18 04:47:07.000000000 -0600 @@ -24,8 +24,6 @@ # elif defined(HAS_GETPAGESIZE) # undef SHMLBA /* not static: determined at boot time */ # define SHMLBA getpagesize() -# elif defined(__linux__) -# include # endif # endif #endif