diff options
author | Norbert Preining <preining@logic.at> | 2008-05-11 20:01:36 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2008-05-11 20:01:36 +0000 |
commit | 020fd23e346b1ffbe03ccb3a0bbae814d2e1379d (patch) | |
tree | 7a764b76a88d88ccbc1fbf3ff9f22afa5f448ebd /Master/tlpkg/TeXLive/TLPOBJ.pm | |
parent | f0d1d65ec3f171100663ff33c32124cda0e9716e (diff) |
rollback for win32, part1
git-svn-id: svn://tug.org/texlive/trunk@8065 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/TeXLive/TLPOBJ.pm')
-rw-r--r-- | Master/tlpkg/TeXLive/TLPOBJ.pm | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/Master/tlpkg/TeXLive/TLPOBJ.pm b/Master/tlpkg/TeXLive/TLPOBJ.pm index 5866dca2e51..67800fe959c 100644 --- a/Master/tlpkg/TeXLive/TLPOBJ.pm +++ b/Master/tlpkg/TeXLive/TLPOBJ.pm @@ -7,7 +7,7 @@ package TeXLive::TLPOBJ; use TeXLive::TLConfig qw($DefaultCategory $CategoriesRegexp $MetaCategoriesRegexp $InfraLocation); -use TeXLive::TLUtils; +use TeXLive::TLUtils qw/win32 tllog/; #use File::Path; use TeXLive::TLTREE; #use FileHandle; # format_name in writeout, no idea how to rewrite @@ -508,7 +508,7 @@ sub make_container { # load Cwd only if necessary ... require Cwd; my $cwd = &Cwd::getcwd; - if ("$destdir" !~ m@^/@) { + if ("$destdir" !~ m@^(.:)?/@) { # we have an relative containerdir, so we have to make it absolute $destdir = "$cwd/$destdir"; } @@ -547,7 +547,13 @@ sub make_container { my @cmdline = ($tar, "-c", "-f", "$destdir/$tarname", "--files-from=-"); unlink("$destdir/$containername"); unlink("$destdir/$tarname"); - open ZIP, "|-", @cmdline or die "Cannot open container program @cmdline: $!"; + if (win32()) { + # we have to hack around this stupid win32 ... + open ZIP, "|$tar -c -f \"$destdir/$tarname\" --files-from=-" + or die "Cannot open container program $tar -c -f \"$destdir/$tarname\" --files-from=-: $!"; + } else { + open ZIP, "|-", @cmdline or die "Cannot open container program @cmdline: $!"; + } map { if (! -f $_) { print STDERR "!!!Error: non-existent $_\n"; |