diff options
-rwxr-xr-x | Master/texmf/scripts/texlive/tlmgrgui/tlmgrgui-real.pl | 25 |
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(); } } |