summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/tlpkg/TeXLive/TLUtils.pm32
1 files changed, 32 insertions, 0 deletions
diff --git a/Master/tlpkg/TeXLive/TLUtils.pm b/Master/tlpkg/TeXLive/TLUtils.pm
index 193c710b6d9..3db6ce468d8 100644
--- a/Master/tlpkg/TeXLive/TLUtils.pm
+++ b/Master/tlpkg/TeXLive/TLUtils.pm
@@ -1027,6 +1027,38 @@ sub setup_programs {
} elsif (-r "$bindir/wget/wget.$platform") {
$::progs{'wget'} = "$bindir/wget/wget.$platform";
}
+ #
+ # check that the programs are actually working
+ my $nul = "/dev/null";
+ $nul = "nul" if ($^O =~ /^MSWin(32|64)$/i);
+ my $ret = system("$::progs{'lzmadec'} --help >$nul 2>$nul");
+ if ($ret == -1) {
+ tlwarn ("Cannot start $::progs{'lzmadec'}: $!\n");
+ return 0;
+ }
+ if ($ret > 0) {
+ tlwarn ("Starting $::progs{'lzmadec'} --help gave an error: $!\n");
+ return 0;
+ }
+ $ret = system("$::progs{'tar'} --version >$nul 2>$nul");
+ if ($ret == -1) {
+ tlwarn ("Cannot start $::progs{'tar'}: $!\n");
+ return 0;
+ }
+ if ($ret > 0) {
+ tlwarn ("Starting $::progs{'tar'} --version gave an error: $!\n");
+ return 0;
+ }
+ $ret = system("$::progs{'wget'} --version >$nul 2>$nul");
+ if ($ret == -1) {
+ tlwarn ("Cannot start $::progs{'wget'}: $!\n");
+ return 0;
+ }
+ if ($ret > 0) {
+ tlwarn ("Starting $::progs{'wget'} --version gave an error: $!\n");
+ return 0;
+ }
+ return 1;
}
=pod