There is a failure in one of the tests in Perl 5.10.0 (chapter 6) under the development book, the test is Archive/Extract. I pulled the fixes for this from upstream which stems from a problem with newer versions of tar. See attached.
Submitted By: Guy Dalziel <krendoshazin at dementedfury dot org> Date: 2009-07-25 Initial Package Version: 5.10.0 Upstream Status: In CVS Origin: Upstream Description: This fixes the Archive/Extract test so that it does not fail.
diff -Naur perl-5.10.0-orig/lib/Archive/Extract.pm perl-5.10.0/lib/Archive/Extract.pm --- perl-5.10.0-orig/lib/Archive/Extract.pm 2007-12-18 10:47:07.000000000 +0000 +++ perl-5.10.0/lib/Archive/Extract.pm 2009-07-25 12:51:19.529000133 +0100 @@ -550,12 +550,19 @@ $self->bin_tar, '-tf', '-'] : [$self->bin_tar, '-tf', $self->archive]; - ### run the command ### - my $buffer = ''; - unless( scalar run( command => $cmd, + ### run the command + ### newer versions of 'tar' (1.21 and up) now print record size + ### to STDERR as well if v OR t is given (used to be both). This + ### is a 'feature' according to the changelog, so we must now only + ### inspect STDOUT, otherwise, failures like these occur: + ### nntp.perl.org/group/perl.cpan.testers/2009/02/msg3230366.html + my $buffer = ''; + my @out = run( command => $cmd, buffer => \$buffer, - verbose => $DEBUG ) - ) { + verbose => $DEBUG ); + + ### command was unsuccessful + unless( $out[0] ) { return $self->_error(loc( "Error listing contents of archive '%1': %2", $self->archive, $buffer )); @@ -578,7 +585,8 @@ \s+ [\d,.]+ \s tape \s blocks |x ? $1 : $_); - } split $/, $buffer; + ### only STDOUT, see above + } map { split $/, $_ } @{$out[3]}; ### store the files that are in the archive ### $self->files(\...@files);
pgpzT27ojP2bF.pgp
Description: PGP signature
-- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page