summaryrefslogtreecommitdiff
path: root/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl')
-rwxr-xr-xBuild/source/texk/texlive/linked_scripts/texlive/tlmgr.pl55
1 files changed, 51 insertions, 4 deletions
diff --git a/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl b/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
index 79777051896..f168064c175 100755
--- a/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
+++ b/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
@@ -1,12 +1,12 @@
#!/usr/bin/env perl
-# $Id: tlmgr.pl 51800 2019-08-01 22:51:44Z karl $
+# $Id: tlmgr.pl 52045 2019-09-07 05:32:39Z preining $
#
# Copyright 2008-2019 Norbert Preining
# This file is licensed under the GNU General Public License version 2
# or any later version.
-my $svnrev = '$Revision: 51800 $';
-my $datrev = '$Date: 2019-08-02 00:51:44 +0200 (Fri, 02 Aug 2019) $';
+my $svnrev = '$Revision: 52045 $';
+my $datrev = '$Date: 2019-09-07 07:32:39 +0200 (Sat, 07 Sep 2019) $';
my $tlmgrrevision;
my $tlmgrversion;
my $prg;
@@ -5340,6 +5340,8 @@ sub action_check {
$ret |= check_executes();
print "Running check runfiles:\n";
$ret |= check_runfiles();
+ print "Running check texmfdb paths\n";
+ $ret |= check_texmfdbs();
} elsif ($what =~ m/^files/i) {
my $tltree = init_tltree($svn);
$ret |= check_files($tltree);
@@ -5352,6 +5354,8 @@ sub action_check {
$ret |= check_runfiles();
} elsif ($what =~ m/^executes/i) {
$ret |= check_executes();
+ } elsif ($what =~ m/^texmfdbs/i) {
+ $ret |= check_texmfdbs();
} else {
print "No idea how to check that: $what\n";
}
@@ -5842,6 +5846,49 @@ sub check_depends {
return $ret;
}
+sub check_texmfdbs {
+
+#!/usr/bin/perl
+ my $texmfdbs = `kpsewhich -var-value TEXMFDBS`;
+ my @tfmdbs = glob $texmfdbs;
+ my $tfms = `kpsewhich -var-value TEXMF`;
+ my @tfms = glob $tfms;
+ my %tfmdbs;
+ my $ret = 0;
+
+ print "Checking TEXMFDBS\n";
+ for my $p (@tfmdbs) {
+ print "-> $p\n";
+ if ($p !~ m/^!!/) {
+ printf "Warn: entry $p in TEXMFDBS does not have leading !!\n";
+ $ret++;
+ }
+ $p =~ s/^!!//;
+ $tfmdbs{$p} = 1;
+ if (! -r "$p/ls-R") {
+ printf "Warn: entry $p does not have an associated ls-R\n";
+ $ret++;
+ }
+ }
+
+ print "Checking TEXMF\n";
+ for my $p (@tfms) {
+ print "-> $p\n";
+ my $pnobang = $p;
+ $pnobang =~ s/^!!//;
+ if (! $tfmdbs{$pnobang}) {
+ if ($p =~ m/^!!/) {
+ printf "Warn: tree $p in TEXMF is not in TEXMFDBS but has !!\n";
+ $ret++;
+ }
+ if (-r "$pnobang/ls-R") {
+ printf "Warn: tree $p in TEXMF is not in TEXMFDBS but has ls-R file\n";
+ $ret++;
+ }
+ }
+ }
+ return($ret);
+}
# POSTACTION
#
@@ -9861,7 +9908,7 @@ This script and its documentation were written for the TeX Live
distribution (L<https://tug.org/texlive>) and both are licensed under the
GNU General Public License Version 2 or later.
-$Id: tlmgr.pl 51800 2019-08-01 22:51:44Z karl $
+$Id: tlmgr.pl 52045 2019-09-07 05:32:39Z preining $
=cut
# test HTML version: pod2html --cachedir=/tmp tlmgr.pl >/tmp/tlmgr.html