summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-04-07 01:25:25 +0000
committerKarl Berry <karl@freefriends.org>2019-04-07 01:25:25 +0000
commit18c4429cf72d87571e5eb085609186b6dd1f10b9 (patch)
treee284d8200b58e5c983df05144ba13706a030df5a /Build
parentfaae61fb9a78d0405d53862562ab438654591e81 (diff)
doc,sync
git-svn-id: svn://tug.org/texlive/trunk@50834 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rwxr-xr-xBuild/source/texk/texlive/linked_scripts/texlive/tlmgr.pl41
-rwxr-xr-xBuild/source/texk/texlive/linked_scripts/tlshell/tlshell.tcl52
-rwxr-xr-xBuild/source/texk/texlive/w32_wrapper/runscript.tlu6
3 files changed, 73 insertions, 26 deletions
diff --git a/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl b/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
index 27e210b45ad..eb63c89b1c2 100755
--- a/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
+++ b/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
@@ -1,12 +1,12 @@
#!/usr/bin/env perl
-# $Id: tlmgr.pl 50692 2019-04-01 15:01:10Z preining $
+# $Id: tlmgr.pl 50796 2019-04-05 22:43:08Z karl $
#
# Copyright 2008-2019 Norbert Preining
# This file is licensed under the GNU General Public License version 2
# or any later version.
-my $svnrev = '$Revision: 50692 $';
-my $datrev = '$Date: 2019-04-01 17:01:10 +0200 (Mon, 01 Apr 2019) $';
+my $svnrev = '$Revision: 50796 $';
+my $datrev = '$Date: 2019-04-06 00:43:08 +0200 (Sat, 06 Apr 2019) $';
my $tlmgrrevision;
my $tlmgrversion;
my $prg;
@@ -2520,7 +2520,7 @@ sub auto_remove_install_force_packages {
#
# for some packages (texworks, psview, ...) we only have w32 packages
# in the repository, but it is possible that alternative repositories
- # ship binaries for some platforms (like texworks for linux on tlcontrib)
+ # ship binaries for some platforms (like texworks for GNU/Linux on tlcontrib)
# currently updating from tlnet will remove these alternative .ARCH
# packages because they are not listed anywhere locally, so they
# are considered as disappearing.
@@ -7603,6 +7603,9 @@ example, running
starts you directly at the update screen. If no action is given, the
GUI will be started at the main screen.
+Note that the new GUIs, tlshell and tlcockpit, are started up as
+separate programs.
+
=for comment Keep language list in sync with install-tl.
=item B<--gui-lang> I<llcode>
@@ -7617,6 +7620,8 @@ Polish (pl), Brazilian Portuguese (pt_BR), Russian (ru), Slovak (sk),
Slovenian (sl), Serbian (sr), Ukrainian (uk), Vietnamese (vi),
simplified Chinese (zh_CN), and traditional Chinese (zh_TW).
+Tlshell shares its message catalog with tlmgr.
+
=item B<--debug-translation>
In GUI mode, this switch tells C<tlmgr> to report any untranslated (or
@@ -9283,16 +9288,22 @@ A summary of the C<tlmgr pinning> actions is given above.
=head1 GUI FOR TLMGR
The graphical user interface for C<tlmgr> requires Perl/Tk
-L<https://search.cpan.org/search?query=perl%2Ftk>. For Windows the
-necessary modules are shipped within TeX Live, for all other (i.e.,
-Unix-based) systems Perl/Tk (as well as Perl of course) has to be
-installed outside of TL. L<https://tug.org/texlive/distro.html#perltk>
-has a list of invocations for some distros.
-
-The GUI is started with the invocation C<tlmgr gui>; assuming Tk is
-loadable, the graphical user interface will be shown. The main window
-contains a menu bar, the main display, and a status area where messages
-normally shown on the console are displayed.
+L<https://search.cpan.org/search?query=perl%2Ftk>. For Unix-based
+systems Perl/Tk (as well as Perl of course) has to be installed
+outside of TL. L<https://tug.org/texlive/distro.html#perltk> has a
+list of invocations for some distros. For Windows the necessary
+modules are no longer shipped within TeX Live, so you'll have to have an
+external Perl available that includes them.
+
+We are talking here about the GUI built into tlmgr itself, not about the
+other tlmgr GUIs, which are: tlshell (Tcl/Tk-based), tlcockpit
+(Java-based) and, only on Macs, TeX Live Utility. These are invoked as
+separate programs.
+
+The GUI mode of tlmgr is started with the invocation C<tlmgr gui>;
+assuming Tk is loadable, the graphical user interface will be shown.
+The main window contains a menu bar, the main display, and a status
+area where messages normally shown on the console are displayed.
Within the main display there are three main parts: the C<Display
configuration> area, the list of packages, and the action buttons.
@@ -9769,7 +9780,7 @@ This script and its documentation were written for the TeX Live
distribution (L<https://tug.org/texlive>) and both are licensed under the
GNU General Public License Version 2 or later.
-$Id: tlmgr.pl 50692 2019-04-01 15:01:10Z preining $
+$Id: tlmgr.pl 50796 2019-04-05 22:43:08Z karl $
=cut
# test HTML version: pod2html --cachedir=/tmp tlmgr.pl >/tmp/tlmgr.html
diff --git a/Build/source/texk/texlive/linked_scripts/tlshell/tlshell.tcl b/Build/source/texk/texlive/linked_scripts/tlshell/tlshell.tcl
index e0f2497c422..451b2cfa52d 100755
--- a/Build/source/texk/texlive/linked_scripts/tlshell/tlshell.tcl
+++ b/Build/source/texk/texlive/linked_scripts/tlshell/tlshell.tcl
@@ -29,8 +29,9 @@ if {$::tcl_platform(platform) ne "windows"} {
unset dirs
}
-# declarations and utilities shared with install-tl-gui.tcl
set ::instroot [exec kpsewhich -var-value=TEXMFROOT]
+
+# declarations and utilities shared with install-tl-gui.tcl
source [file join $::instroot "tlpkg" "tltcl" "tltcl.tcl"]
# now is a good time to ask tlmgr for the _TL_ name of our platform
@@ -217,6 +218,9 @@ proc selective_dis_enable {} {
foreach b [list .mrk_inst .mrk_upd] {
$b state disabled
}
+ if {$::tcl_platform(platform) eq "windows"} {
+ .upd_all state disabled
+ }
} elseif {!$::need_update_tlmgr} {
.upd_tlmgr state disabled
}
@@ -1513,12 +1517,16 @@ proc restore_backups_dialog {} {
##### package-related #####
-proc update_self_q {} {
- set ans [tk_messageBox -type okcancel -icon info -message \
- [string cat [__ "If update fails, try on a command-line:"] \
- "\ntlmgr update --self\n" \
- [__ "Use an administrative command prompt for an admin install."]]]
- return [expr {$ans eq "ok"}]
+proc update_self_w32 {} {
+ if $::multiuser {
+ set mess \
+ [__ "Close this shell and run in an administrative command-prompt:"]
+ } else {
+ set mess [__ "Close this shell and run in a command-prompt:"]
+ }
+ set mess [string cat $mess "\n\ntlmgr update --self"]
+ tk_messageBox -message $mess
+ return
}
proc update_tlmgr {} {
@@ -1526,7 +1534,10 @@ proc update_tlmgr {} {
tk_messageBox -message [__ "Nothing to do!"]
return
}
- if {$::tcl_platform(platform) eq "windows" && ! [update_self_q]} return
+ if {$::tcl_platform(platform) eq "windows"} {
+ update_self_w32
+ return
+ }
run_cmd "update --self" 1
vwait ::done_waiting
# tlmgr restarts itself automatically
@@ -1539,6 +1550,9 @@ proc update_tlmgr {} {
proc update_all {} {
set updated_tlmgr 0
if $::need_update_tlmgr {
+ if {$::tcl_platform(platform) eq "windows"} {
+ return ; # just to be sure; 'update all' button should be disabled
+ }
run_cmd "update --self" 1
vwait ::done_waiting
# tlmgr restarts itself automatically
@@ -2091,6 +2105,11 @@ proc populate_main {} {
# right frame
ppack [ttk::frame .topfr] -in .topf -side right -anchor ne
+ if {$::tcl_platform(platform) eq "windows"} {
+ pack [ttk::label .topfr.ladmin] -side top -anchor e
+ }
+ pack [ttk::label .topfr.lroot] -side top -anchor e
+ .topfr.lroot configure -text [__ "Root at %s" $::instroot]
pack [ttk::label .topfr.linfra] -side top -anchor e
pack [ttk::label .topfr.lshell] -side top -anchor e
@@ -2284,7 +2303,24 @@ proc initialize {} {
populate_main
+ # testing writablilty earlier led to sizing problems
+ if {! [file writable $::instroot]} {
+ set ans [tk_messageBox -type yesno -icon warning -message \
+ [__ "%s is not writable. You can probably not do much.
+ Are you sure you want to continue?" $::instroot]]
+ if {$ans ne "yes"} {exit}
+ }
+
start_tlmgr
+ if {$::tcl_platform(platform) eq "windows"} {
+ run_cmd_waiting "option multiuser"
+ set ::multiuser 0
+ foreach l $::out_log {
+ if [regexp {^\s*multiuser\s+([01])\s*$} $l d ::multiuser] break
+ }
+ .topfr.ladmin configure -text \
+ [expr {$::multiuser ? [__ "Multi-user"] : [__ "Single-user"]}]
+ }
get_repos_from_tlmgr
.topfl.lrepos configure -text [print_repos]
get_packages_info_local
diff --git a/Build/source/texk/texlive/w32_wrapper/runscript.tlu b/Build/source/texk/texlive/w32_wrapper/runscript.tlu
index 0f94c5603aa..41af1ade8c8 100755
--- a/Build/source/texk/texlive/w32_wrapper/runscript.tlu
+++ b/Build/source/texk/texlive/w32_wrapper/runscript.tlu
@@ -1,7 +1,7 @@
-local svnrevision = string.match("$Revision: 49485 $", "%d+") or "0"
-local svndate = string.match("$Date: 2018-12-23 16:28:08 +0100 (Sun, 23 Dec 2018) $", "[-%d]+") or "2009-12-04"
+local svnrevision = string.match("$Revision: 50675 $", "%d+") or "0"
+local svndate = string.match("$Date: 2019-03-31 21:31:37 +0200 (Sun, 31 Mar 2019) $", "[-%d]+") or "2009-12-04"
local bannerstr = "runscript wrapper utility (rev. " ..
svnrevision .. ", " .. svndate .. ")\n" ..
"usage: runscript script-name [arguments]\n" ..
@@ -642,7 +642,7 @@ local scripts4tlperl = {
['fmtutil-sys'] = true,
}
local try_extern_perl = (kpse.var_value('TEXLIVE_WINDOWS_TRY_EXTERNAL_PERL') == '1') and
- not (guimode or is_restricted_progname or scripts4tlperl[progname])
+ not (is_restricted_progname or scripts4tlperl[progname])
local PERLEXE = try_extern_perl and search_path('perl.exe', PATH)
local extperl_warn
if not PERLEXE then