diff options
Diffstat (limited to 'Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl')
-rwxr-xr-x | Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl | 55 |
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 |