summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xMaster/texmf/scripts/texlive/tlmgrgui/tlmgrgui-real.pl25
1 files changed, 25 insertions, 0 deletions
diff --git a/Master/texmf/scripts/texlive/tlmgrgui/tlmgrgui-real.pl b/Master/texmf/scripts/texlive/tlmgrgui/tlmgrgui-real.pl
index 1f24ecb8ad5..6b529b85a70 100755
--- a/Master/texmf/scripts/texlive/tlmgrgui/tlmgrgui-real.pl
+++ b/Master/texmf/scripts/texlive/tlmgrgui/tlmgrgui-real.pl
@@ -113,6 +113,7 @@ $TRANS{'en'} = {
pleaseuse => "Please use the \"Add/Remove Programs\" from the Control Panel!",
completerem => "Complete removal completed",
loadtlpdbwait => "Loading TeX Live Database\nThis may take some time, please wait!",
+ runupdater => "Some package cannot be updated using the GUI!\nPlease run TEXROOT/tlpkg/installer/updater.bat once!\nOtherwise the updates will not be complete!";
};
@@ -469,6 +470,23 @@ sub install_selected_packages {
sub update_selected_packages {
if (@_) {
+ my $updater_needed = 0;
+ if (win32()) {
+ # we want to check for those packages which need special treatment
+ # and pop up a warning in case it is going to be updated
+ my @upgradepkgs;
+ if ($_[0] eq "--all") {
+ @upgradepkgs = @updatepackages;
+ } else {
+ @upgradepkgs = @_;
+ }
+ foreach my $p (@upgradepkgs) {
+ if ($p =~ m/$WinSpecialUpdatePackagesRegexp/) {
+ $updater_needed = 1;
+ last;
+ }
+ }
+ }
my @execlist;
push @execlist, "tlmgr", "--location", "$location";
if ($debugmode) {
@@ -476,6 +494,13 @@ sub update_selected_packages {
}
push @execlist, "update", @_;
run_program_show_output(@execlist);
+ if (win32() && $updater_needed) {
+ my $t = ___"runupdater";
+ $t =~ s/TEXROOT/$Master/;
+ $mw->Dialog(-title => "updater needed",
+ -text => $t,
+ -buttons => [ ___"ok" ])->Show;
+ }
reinit_local_tlpdb();
}
}