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

commits+preining at tug.org commits+preining at tug.org
Tue Jul 18 01:59:48 CEST 2017


Revision: 44836
          http://tug.org/svn/texlive?view=revision&revision=44836
Author:   preining
Date:     2017-07-18 01:59:48 +0200 (Tue, 18 Jul 2017)
Log Message:
-----------
prohibit dist-upgrades with tlmgr

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	2017-07-17 22:38:07 UTC (rev 44835)
+++ trunk/Master/texmf-dist/scripts/texlive/tlmgr.pl	2017-07-17 23:59:48 UTC (rev 44836)
@@ -6262,7 +6262,7 @@
   $remotetlpdb->make_virtual;
 
   my $locstr = $repos{'main'};
-  my ($tlmdb, $errormsg) = setup_one_remotetlpdb($locstr);
+  my ($tlmdb, $errormsg) = setup_one_remotetlpdb($locstr, 'main');
   if (!defined($tlmdb)) {
     return (0, $errormsg);
   }
@@ -6336,7 +6336,7 @@
   }
 
   my $errormsg;
-  ($remotetlpdb, $errormsg) = setup_one_remotetlpdb($location);
+  ($remotetlpdb, $errormsg) = setup_one_remotetlpdb($location, 'main');
   if (!defined($remotetlpdb)) {
     return(0, $errormsg);
   }
@@ -6359,6 +6359,8 @@
 
 sub setup_one_remotetlpdb {
   my $location = shift;
+  my $addarg = shift;
+  my $is_main = ((defined($addarg) && ($addarg eq 'main')) ? 1 : 0);
   my $remotetlpdb;
 
   # TODO
@@ -6494,6 +6496,16 @@
 do not include the version of the local installation
   ($TeXLive::TLConfig::ReleaseYear).");
     }
+    #
+    # 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
+    if ($is_main && $TeXLive::TLConfig::ReleaseYear < $texlive_release_year) {
+      return (undef, "Remote repository is newer than local ($TeXLive::TLConfig::ReleaseYear < $texlive_release_year)\n"
+              . "Cross release updates are only supported with\n"
+              . "  update-tlmgr-latest(.sh/.exe) --update\n"
+              . "Please see https://tug.org/texlive/upgrade.html for details.")
+    }
   } else {
     # $texlive_minrelease not defined, so only one year is valid
     if ($texlive_release_year != $TeXLive::TLConfig::ReleaseYear) {



More information about the tex-live-commits mailing list