From b636af0b8e02e8e692b93c891b23189d3dd33807 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 25 Feb 2019 22:41:15 +0000 Subject: doc,sync git-svn-id: svn://tug.org/texlive/trunk@50137 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/tests/TeXLive/TLUtils.pm | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) (limited to 'Build/source/texk/tests/TeXLive') diff --git a/Build/source/texk/tests/TeXLive/TLUtils.pm b/Build/source/texk/tests/TeXLive/TLUtils.pm index aca30855ad5..c7cce80f505 100644 --- a/Build/source/texk/tests/TeXLive/TLUtils.pm +++ b/Build/source/texk/tests/TeXLive/TLUtils.pm @@ -1,4 +1,3 @@ -# $Id: TLUtils.pm 49855 2019-01-28 22:47:02Z karl $ # TeXLive::TLUtils.pm - the inevitable utilities for TeX Live. # Copyright 2007-2019 Norbert Preining, Reinhard Kotucha # This file is licensed under the GNU General Public License version 2 @@ -6,7 +5,7 @@ package TeXLive::TLUtils; -my $svnrev = '$Revision: 49855 $'; +my $svnrev = '$Revision: 50107 $'; my $_modulerevision = ($svnrev =~ m/: ([0-9]+) /) ? $1 : "unknown"; sub module_revision { return $_modulerevision; } @@ -1137,10 +1136,14 @@ sub copy { $outfile = "$destdir/$filename"; } - mkdirhier ($destdir) unless -d "$destdir"; + if (! -d $destdir) { + my ($ret,$err) = mkdirhier ($destdir); + die "mkdirhier($destdir) failed: $err\n" if ! $ret; + } if (-l "$infile") { - symlink (readlink $infile, "$destdir/$filename"); + symlink (readlink $infile, "$destdir/$filename") + || die "symlink(readlink $infile, $destdir/$filename) failed: $!"; } else { if (! open (IN, $infile)) { warn "open($infile) failed, not copying: $!"; @@ -1148,13 +1151,13 @@ sub copy { } binmode IN; - $mode = (-x "$infile") ? oct("0777") : oct("0666"); + $mode = (-x $infile) ? oct("0777") : oct("0666"); $mode &= ~umask; open (OUT, ">$outfile") || die "open(>$outfile) failed: $!"; binmode OUT; - chmod $mode, "$outfile"; + chmod ($mode, $outfile) || warn "chmod($mode,$outfile) failed: $!"; while ($read = sysread (IN, $buffer, $blocksize)) { die "read($infile) failed: $!" unless defined $read; @@ -1167,8 +1170,9 @@ sub copy { } } close (OUT) || warn "close($outfile) failed: $!"; - close IN || warn "close($infile) failed: $!";; - @stat = lstat ("$infile"); + close (IN) || warn "close($infile) failed: $!";; + @stat = lstat ($infile); + die "lstat($infile) failed: $!" if ! @stat; utime ($stat[8], $stat[9], $outfile); } } @@ -2224,7 +2228,8 @@ sub unpack { # we can remove it afterwards $remove_containerfile = 1; } - if (!system_pipe($decompressor, $containerfile, $tarfile, $remove_container, @decompressorArgs) + if (!system_pipe($decompressor, $containerfile, $tarfile, + $remove_containerfile, @decompressorArgs) || ! -f $tarfile) { unlink($tarfile, $containerfile); -- cgit v1.2.3