diff options
-rwxr-xr-x | Master/texmf-dist/scripts/texlive/tlmgr.pl | 16 |
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) { |