* Perl updated to 5.8.8 (NIXPKGS-56).

* Fix a potential security problem in Cwd in taint mode.

svn path=/nixpkgs/trunk/; revision=8751
This commit is contained in:
Eelco Dolstra 2007-05-24 14:41:18 +00:00
parent e85fb3ce90
commit a6cf6c23f3
3 changed files with 10 additions and 24 deletions

View File

@ -9,10 +9,16 @@ configureScript=./Configure
configureFlags="-de -Dcc=gcc -Dprefix=$out -Uinstallusrbinperl $extraflags" configureFlags="-de -Dcc=gcc -Dprefix=$out -Uinstallusrbinperl $extraflags"
dontAddPrefix=1 dontAddPrefix=1
preBuild=preBuild
preBuild() {
# Make Cwd work on NixOS (where we don't have a /bin/pwd).
substituteInPlace lib/Cwd.pm --replace "'/bin/pwd'" "'$(type -tP pwd)'"
}
postInstall=postInstall
postInstall() { postInstall() {
ensureDir "$out/nix-support" ensureDir "$out/nix-support"
cp $setupHook $out/nix-support/setup-hook cp $setupHook $out/nix-support/setup-hook
} }
postInstall=postInstall
genericBuild genericBuild

View File

@ -1,12 +1,12 @@
{stdenv, fetchurl}: {stdenv, fetchurl}:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "perl-5.8.6"; name = "perl-5.8.8";
builder = ./builder.sh; builder = ./builder.sh;
src = fetchurl { src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/perl-5.8.6.tar.bz2; url = http://ftp.funet.fi/pub/CPAN/src/perl-5.8.8.tar.bz2;
md5 = "3d030b6ff2a433840edb1a407d18dc0a"; sha256 = "1j8vzc6lva49mwdxkzhvm78dkxyprqs4n4057amqvsh4kh6i92l1";
}; };
# This patch does the following: # This patch does the following:

View File

@ -162,23 +162,3 @@ diff -rc perl-orig/ext/Errno/Errno_pm.PL perl-5.8.6/ext/Errno/Errno_pm.PL
) { ) {
# Some Linuxes have weird errno.hs which generate # Some Linuxes have weird errno.hs which generate
# no #file or #line directives # no #file or #line directives
diff -rc perl-orig/lib/Cwd.pm perl-5.8.6/lib/Cwd.pm
*** perl-orig/lib/Cwd.pm 2004-11-01 16:42:41.000000000 +0100
--- perl-5.8.6/lib/Cwd.pm 2005-03-10 12:52:31.000000000 +0100
***************
*** 292,298 ****
# The 'natural and safe form' for UNIX (pwd may be setuid root)
sub _backtick_pwd {
! local @ENV{qw(PATH IFS CDPATH ENV BASH_ENV)};
my $cwd = `$pwd_cmd`;
# Belt-and-suspenders in case someone said "undef $/".
local $/ = "\n";
--- 292,298 ----
# The 'natural and safe form' for UNIX (pwd may be setuid root)
sub _backtick_pwd {
! local @ENV{qw(IFS CDPATH ENV BASH_ENV)};
my $cwd = `$pwd_cmd`;
# Belt-and-suspenders in case someone said "undef $/".
local $/ = "\n";