summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xMaster/texmf-dist/scripts/texlive/tlmgr.pl16
1 files changed, 14 insertions, 2 deletions
diff --git a/Master/texmf-dist/scripts/texlive/tlmgr.pl b/Master/texmf-dist/scripts/texlive/tlmgr.pl
index 8ac034b2e53..59fad25caf1 100755
--- a/Master/texmf-dist/scripts/texlive/tlmgr.pl
+++ b/Master/texmf-dist/scripts/texlive/tlmgr.pl
@@ -6262,7 +6262,7 @@ END_NO_CHECKSUMS
$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 @@ sub _init_tlmedia {
}
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 _init_tlmedia {
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 @@ $rroot
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) {