diff options
author | Karl Berry <karl@freefriends.org> | 2014-04-23 21:46:20 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2014-04-23 21:46:20 +0000 |
commit | 300c1eb6d37d46078d448d6d58938d5a80cd68ff (patch) | |
tree | 23a0a8b9f8f5460b405119c4d3c163d2d488ca5e /Master/tlpkg/tlperl/lib/CPAN/Tarzip.pm | |
parent | ed55d86b7c5e18f6eccce80a1fb1423ca40a23b5 (diff) |
(tl)perl 5.18.2 for windows from siep
git-svn-id: svn://tug.org/texlive/trunk@33648 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/tlperl/lib/CPAN/Tarzip.pm')
-rw-r--r-- | Master/tlpkg/tlperl/lib/CPAN/Tarzip.pm | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Tarzip.pm b/Master/tlpkg/tlperl/lib/CPAN/Tarzip.pm index 972df6ca06f..708a5794f34 100644 --- a/Master/tlpkg/tlperl/lib/CPAN/Tarzip.pm +++ b/Master/tlpkg/tlperl/lib/CPAN/Tarzip.pm @@ -343,10 +343,20 @@ Can't continue cutting file '$file'. } $system = qq{$tarcommand x${tar_verb}f "$file"}; $CPAN::Frontend->myprint(qq{Using Tar:$system:\n}); - if (system($system)==0) { + my $ret = system($system); + if ($ret==0) { $CPAN::Frontend->myprint(qq{Untarred $file successfully\n}); } else { - $CPAN::Frontend->mydie(qq{Couldn\'t untar $file\n}); + if ($? == -1) { + $CPAN::Frontend->mydie(sprintf qq{Couldn\'t untar %s: '%s'\n}, + $file, $!); + } elsif ($? & 127) { + $CPAN::Frontend->mydie(sprintf qq{Couldn\'t untar %s: child died with signal %d, %s coredump\n}, + $file, ($? & 127), ($? & 128) ? 'with' : 'without'); + } else { + $CPAN::Frontend->mydie(sprintf qq{Couldn\'t untar %s: child exited with value %d\n}, + $file, $? >> 8); + } } return 1; } else { @@ -450,6 +460,10 @@ END __END__ +=head1 NAME + +CPAN::Tarzip - internal handling of tar archives for CPAN.pm + =head1 LICENSE This program is free software; you can redistribute it and/or |