From 42d23ac5aebb2ff46917ba7f80226c121c4ccba8 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Wed, 2 Oct 2019 12:33:27 +0900 Subject: allow updating revision when catalogue data changed --- Master/tlpkg/bin/tl-update-tlpdb | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'Master/tlpkg/bin/tl-update-tlpdb') diff --git a/Master/tlpkg/bin/tl-update-tlpdb b/Master/tlpkg/bin/tl-update-tlpdb index a43baa6e08e..4c71cb78bcc 100755 --- a/Master/tlpkg/bin/tl-update-tlpdb +++ b/Master/tlpkg/bin/tl-update-tlpdb @@ -41,6 +41,7 @@ my $opt_save_anyway = 0; my $opt_tlpsrc_from_cmdline = 0; my $opt_w32warning; my $opt_keep_revisions = 0; +my $opt_cat_updates_tlpdb = 0; TeXLive::TLUtils::process_logging_options(); GetOptions( @@ -59,6 +60,7 @@ GetOptions( "save-anyway!" => \$opt_save_anyway, "tlpsrc-from-cmdline" => \$opt_tlpsrc_from_cmdline, "with-w32-pattern-warning" => \$opt_w32warning, + "cat-updates-tlpdb" => \$opt_cat_updates_tlpdb, "help|?" => \$help) or pod2usage(1); pod2usage(-exitstatus => 0, -verbose => 2) if $help; @@ -222,11 +224,21 @@ sub compare_and_fix_tlpdbs { # that is fine, otherwise try fixing it my ($rA, $rB) = split (':', $ret{'different_packages'}->{$p}->{'revision'}); + # since we only register 'revision' key when there is a change, we have + # either rA < rB or rA > rB if ($rA > $rB) { tlwarn("$progname: big warning for $p: file lists didn't change but " . "revision is going backward! Very strange!\n"); $packages_that_need_fixup{$p} = 1; } + } else { + # no revision change, so check catalogue + if (defined($ret{'different_packages'}->{$p}->{'catalogue'})) { + if ($opt_cat_updates_tlpdb) { + debug ("$progname: updating package $p due to catalogue changes and --cat-updates-tlpdb\n"); + $packages_that_need_fixup{$p} = 1; + } + } } } } -- cgit v1.2.3