summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/tlpkg/TeXLive/TLPOBJ.pm12
-rw-r--r--Master/tlpkg/TeXLive/TLUtils.pm4
2 files changed, 11 insertions, 5 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";
diff --git a/Master/tlpkg/TeXLive/TLUtils.pm b/Master/tlpkg/TeXLive/TLUtils.pm
index 9bf03ad6b8e..bd61074410b 100644
--- a/Master/tlpkg/TeXLive/TLUtils.pm
+++ b/Master/tlpkg/TeXLive/TLUtils.pm
@@ -712,8 +712,8 @@ sub setup_programs {
if (win32()) {
$::progs{'wget'} = conv_to_win_path("$bindir/wget.exe");
$::progs{'tar'} = conv_to_win_path("$bindir/tar.exe");
- $::progs{'lzmadec'} = conv_to_win_path($::progs{'lzmadec'});
- $::progs{'lzma'} = conv_to_win_path($::progs{'lzma'});
+ $::progs{'lzmadec'} = conv_to_win_path("$bindir/lzmadec.win32.exe");
+ $::progs{'lzma'} = conv_to_win_path("$bindir/lzma.exe");
}
}