texlive[68866] trunk: doc,sync

commits+karl at tug.org commits+karl at tug.org
Wed Nov 15 23:51:31 CET 2023


Revision: 68866
          https://tug.org/svn/texlive?view=revision&revision=68866
Author:   karl
Date:     2023-11-15 23:51:31 +0100 (Wed, 15 Nov 2023)
Log Message:
-----------
doc,sync

Modified Paths:
--------------
    trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
    trunk/Master/texmf-dist/scripts/texlive/NEWS

Modified: trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl	2023-11-15 21:23:49 UTC (rev 68865)
+++ trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl	2023-11-15 22:51:31 UTC (rev 68866)
@@ -1,5 +1,5 @@
 #!/usr/bin/env perl
-# $Id: tlmgr.pl 68283 2023-09-15 13:11:11Z preining $
+# $Id: tlmgr.pl 68818 2023-11-12 00:30:53Z preining $
 # Copyright 2008-2023 Norbert Preining
 # This file is licensed under the GNU General Public License version 2
 # or any later version.
@@ -8,8 +8,8 @@
 
 use strict; use warnings;
 
-my $svnrev = '$Revision: 68283 $';
-my $datrev = '$Date: 2023-09-15 15:11:11 +0200 (Fri, 15 Sep 2023) $';
+my $svnrev = '$Revision: 68818 $';
+my $datrev = '$Date: 2023-11-12 01:30:53 +0100 (Sun, 12 Nov 2023) $';
 my $tlmgrrevision;
 my $tlmgrversion;
 my $prg;
@@ -7340,6 +7340,32 @@
     }
   }
 
+  # check for remote main db being *older* than what we have seen before
+  # The check we employ is heuristic: texlive-scripts is updated practically
+  # every day. We compare the locally installed texlive-scripts with the
+  # remove revision, and if that does not line up, we error out.
+  # Alternative approaches
+  # - loop over all installed packages and take the maximum of the found revisions
+  # - on every update, save the last seen remote main revision into 00texlive.installation
+  #
+  if ($is_main) {
+    my $remote_revision = $remotetlpdb->config_revision;
+    my $tlp = $localtlpdb->get_package("texlive-scripts");
+    my $local_revision;
+    if (!defined($tlp)) {
+      info("texlive-scripts not found, not doing revision consistency check\n");
+      $local_revision = 0;
+    } else {
+      $local_revision = $tlp->revision;
+    }
+    if ($local_revision > $remote_revision) {
+      info("fail load $location\n") if ($::machinereadable);
+      return(undef, "Remote database (rev $remote_revision) seems to be older than local (rev $local_revision), please use different mirror or wait a bit.")
+    } else {
+      debug("Remote database revision $remote_revision, texlive-scripts local revision $local_revision\n");
+    }
+  }
+
   # check for being frozen
   if ($remotetlpdb->config_frozen) {
     my $frozen_msg = <<FROZEN;
@@ -10246,7 +10272,7 @@
 distribution (L<https://tug.org/texlive>) and both are licensed under the
 GNU General Public License Version 2 or later.
 
-$Id: tlmgr.pl 68283 2023-09-15 13:11:11Z preining $
+$Id: tlmgr.pl 68818 2023-11-12 00:30:53Z preining $
 =cut
 
 # test HTML version: pod2html --cachedir=/tmp tlmgr.pl >/tmp/tlmgr.html

Modified: trunk/Master/texmf-dist/scripts/texlive/NEWS
===================================================================
--- trunk/Master/texmf-dist/scripts/texlive/NEWS	2023-11-15 21:23:49 UTC (rev 68865)
+++ trunk/Master/texmf-dist/scripts/texlive/NEWS	2023-11-15 22:51:31 UTC (rev 68866)
@@ -1,6 +1,12 @@
 (This file public domain.  Originally written by Norbert Preining and
 Karl Berry, 2010.)
 
+<p><b>tlmgr 66818 (released 15nov23):</b>
+<li>detect a remote repository older than the local installation (i.e.,
+    a stale mirror), and don't update, to avoid incorrect package removals.
+<li>warn if a file or directory could not be removed.
+<li>the installer's curl-ca-bundle.crt updated.
+
 <p><b>tlmgr 66798 (released 11apr23):</b>
 <li>base context cache regeneration on ls-R mtimes.
 <li>support context paper size setting.



More information about the tex-live-commits mailing list.