texlive[54087] Master/texmf-dist/scripts/texlive/tlmgr.pl: tlmgr

commits+preining at tug.org commits+preining at tug.org
Thu Mar 5 01:48:55 CET 2020


Revision: 54087
          http://tug.org/svn/texlive?view=revision&revision=54087
Author:   preining
Date:     2020-03-05 01:48:55 +0100 (Thu, 05 Mar 2020)
Log Message:
-----------
tlmgr release year check: allow newer sub-repos

Modified Paths:
--------------
    trunk/Master/texmf-dist/scripts/texlive/tlmgr.pl

Modified: trunk/Master/texmf-dist/scripts/texlive/tlmgr.pl
===================================================================
--- trunk/Master/texmf-dist/scripts/texlive/tlmgr.pl	2020-03-05 00:48:46 UTC (rev 54086)
+++ trunk/Master/texmf-dist/scripts/texlive/tlmgr.pl	2020-03-05 00:48:55 UTC (rev 54087)
@@ -7081,6 +7081,11 @@
   # If it should work for 2009 and 2010, please use
   #   minrelease/2009-foobar
   #   release/2010-foobar
+  # One exception: if there *is* an extension like -foobar (-gpg, ..)
+  # we allow the local release to be smaller than the max,
+  # so that additional repos can do
+  #   release/3000-foobar
+  # and be usable with all future releases, too.
   my $texlive_release = $remotetlpdb->config_release;
   my $texlive_minrelease = $remotetlpdb->config_minrelease;
   my $rroot = $remotetlpdb->root;
@@ -7121,13 +7126,18 @@
     # if the release of the installed TL is less than the release
     # of the main remote repository, then
     # warn that one needs to call update-tlmgr-latest.sh --update
+    # We do this only if there is no extension like 2100-gpg etc
     if ($is_main && $TeXLive::TLConfig::ReleaseYear < $texlive_release_year) {
-      info("fail load $location\n") if ($::machinereadable);
-      return (undef, "Local TeX Live ($TeXLive::TLConfig::ReleaseYear)"
-              . " is older than remote repository ($texlive_release_year).\n"
-              . "Cross release updates are only supported with\n"
-              . "  update-tlmgr-latest(.sh/.exe) --update\n"
-              . "See https://tug.org/texlive/upgrade.html for details.")
+      if (length($texlive_release) > 4) {
+        debug("Accepting a newer release as remote due to presence of release extension!\n");
+      } else {
+        info("fail load $location\n") if ($::machinereadable);
+        return (undef, "Local TeX Live ($TeXLive::TLConfig::ReleaseYear)"
+                . " is older than remote repository ($texlive_release_year).\n"
+                . "Cross release updates are only supported with\n"
+                . "  update-tlmgr-latest(.sh/.exe) --update\n"
+                . "See https://tug.org/texlive/upgrade.html for details.")
+      }
     }
   } else {
     # $texlive_minrelease not defined, so only one year is valid



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