diff options
Diffstat (limited to 'Master/tlpkg/bin/tl-check-fmttriggers')
-rwxr-xr-x | Master/tlpkg/bin/tl-check-fmttriggers | 28 |
1 files changed, 11 insertions, 17 deletions
diff --git a/Master/tlpkg/bin/tl-check-fmttriggers b/Master/tlpkg/bin/tl-check-fmttriggers index 4f46229fd85..060e9893d23 100755 --- a/Master/tlpkg/bin/tl-check-fmttriggers +++ b/Master/tlpkg/bin/tl-check-fmttriggers @@ -7,6 +7,10 @@ # then map those files to TL packages, # then check that exactly those packages are listed as triggers in the # corresponding tlpsrc files. +# +# Cleaner approach: should output exact list of deps for each format, +# and then use it. That would be easier to maintain than the current +# complicated set of variables. my $vc_id = '$Id$'; my $Master; @@ -33,6 +37,7 @@ my $opt_analyze = 0; my $opt_fmtargs = "--all"; my $opt_fmtdir = "/tmp/fmttriggers"; my $opt_rerecord = 1; +my $opt_tlpdb = undef; my $opt_help = 0; my $opt_version = 0; @@ -40,8 +45,9 @@ TeXLive::TLUtils::process_logging_options (); GetOptions ( "analyze" => \$opt_analyze, "fmtargs=s" => \$opt_fmtargs, - "fmtdir" => \$opt_fmtdir, + "fmtdir=s" => \$opt_fmtdir, "rerecord!" => \$opt_rerecord, + "tlpdb=s" => \$opt_tlpdb, "version" => \$opt_version, "help|?" => \$help) || pod2usage(1); @@ -71,7 +77,7 @@ sub main { #system ("bytime $opt_fmtdir"); # read tlpdb. - my $tlpdb_file = "$Master/tlpkg/texlive.tlpdb"; + my $tlpdb_file = $opt_tlpdb || "$Master/tlpkg/texlive.tlpdb"; my ($tlpdb,$fmttriggers,$fmtpkgcontainers) = &tlpdb_by_file ($tlpdb_file); # if reporting on the trigger subsets, just do that and we're done. @@ -248,7 +254,8 @@ sub tlpdb_by_file { close ($tlpdb) || warn "close($tlpdb_file) failed: $!"; &info ("TLPDB files: " . scalar (keys %tlpfiles) - . " triggers: " . scalar (keys %fmttriggers) . "\n"); + . " triggers: " . scalar (keys %fmttriggers) + . " file: $tlpdb_file\n" ); return (\%tlpfiles, \%fmttriggers, \%fmtpkgcontainers); } @@ -302,15 +309,6 @@ sub compare_pkgs_and_triggers { my $bad_p = 0; my $all_pkgs = 0; - # we don't include these as fmttriggers since when they meaningfully - # change, fmtutil should get called anyway due to language.* changing. - my @skip_recorded = qw(dehyph-exptl ruhyphen ukrhyph); - # - # similarly for this engine. - push (@skip_recorded, "pdftex"); - # - # Anything matching hyphen-.* is also ignored, but not hyph-utf8. - for my $ef (sort keys %$pkgs_per_format) { my @recorded_pkgs = @{$pkgs_per_format->{$ef}}; $all_pkgs += @recorded_pkgs; @@ -331,11 +329,7 @@ sub compare_pkgs_and_triggers { if (exists $tlpdb_pkgs{$r}) { delete $tlpdb_pkgs{$r}; # ok, in both } else { - # sometimes we like to include the hyphenation packages as - # triggers in the tlpdb, for no particular reason. Let that be - # ok, and only check for the skipped packages when making the - # trigger list for an engine.format not in tlpdb. - next if grep ($_ eq $r, @skip_recorded); + # The hyphen-* packages get loaded anyway? Not sure. next if $r =~ /hyphen-.*/; push (@recorded_only, $r); } |