summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
Diffstat (limited to 'Build')
-rwxr-xr-xBuild/source/texk/texlive/linked_scripts/context/stubs/unix/mtxrun10
-rwxr-xr-xBuild/source/texk/texlive/linked_scripts/texlive/tlmgr.pl453
-rwxr-xr-xBuild/source/texk/texlive/linked_scripts/texlive/updmap.pl15
3 files changed, 246 insertions, 232 deletions
diff --git a/Build/source/texk/texlive/linked_scripts/context/stubs/unix/mtxrun b/Build/source/texk/texlive/linked_scripts/context/stubs/unix/mtxrun
index 6b998eb74b0..89c1565511c 100755
--- a/Build/source/texk/texlive/linked_scripts/context/stubs/unix/mtxrun
+++ b/Build/source/texk/texlive/linked_scripts/context/stubs/unix/mtxrun
@@ -1670,7 +1670,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["l-table"] = package.loaded["l-table"] or true
--- original size: 39587, stripped down to: 23144
+-- original size: 39608, stripped down to: 23165
if not modules then modules={} end modules ['l-table']={
version=1.001,
@@ -2003,7 +2003,7 @@ local reserved=table.tohash {
'in','local','nil','not','or','repeat','return','then','true','until','while',
'NaN','goto',
}
-local function is_simple_table(t)
+local function is_simple_table(t,hexify)
local nt=#t
if nt>0 then
local n=0
@@ -2121,7 +2121,7 @@ local function do_serialize(root,name,depth,level,indexed)
if next(v)==nil then
handle(format("%s {},",depth))
elseif inline then
- local st=is_simple_table(v)
+ local st=is_simple_table(v,hexify)
if st then
handle(format("%s { %s },",depth,concat(st,", ")))
else
@@ -2204,7 +2204,7 @@ local function do_serialize(root,name,depth,level,indexed)
handle(format("%s [%q]={},",depth,k))
end
elseif inline then
- local st=is_simple_table(v)
+ local st=is_simple_table(v,hexify)
if st then
if tk=="number" then
if hexify then
@@ -20430,7 +20430,7 @@ end -- of closure
-- used libraries : l-lua.lua l-sandbox.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sac.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-tpl.lua util-sbx.lua util-mrg.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua
-- skipped libraries : -
--- original bytes : 841875
+-- original bytes : 841896
-- stripped bytes : 305446
-- end library merge
diff --git a/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl b/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
index ebc97294ea4..26c3235d097 100755
--- a/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
+++ b/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
@@ -1,13 +1,13 @@
#!/usr/bin/env perl
-# $Id: tlmgr.pl 44109 2017-04-28 23:12:11Z karl $
+# $Id: tlmgr.pl 44146 2017-05-01 22:53:26Z karl $
#
# Copyright 2008-2017 Norbert Preining
# This file is licensed under the GNU General Public License version 2
# or any later version.
#
-my $svnrev = '$Revision: 44109 $';
-my $datrev = '$Date: 2017-04-29 01:12:11 +0200 (Sat, 29 Apr 2017) $';
+my $svnrev = '$Revision: 44146 $';
+my $datrev = '$Date: 2017-05-02 00:53:26 +0200 (Tue, 02 May 2017) $';
my $tlmgrrevision;
my $prg;
if ($svnrev =~ m/: ([0-9]+) /) {
@@ -1145,6 +1145,7 @@ sub action_remove {
# PAPER
+#
# ARGV can look like:
# paper a4
# paper letter
@@ -1335,7 +1336,7 @@ sub action_path {
return ($ret | $F_NOPOSTACTION);
}
-# DUMP TLPDB
+# DUMP-TLPDB
#
sub action_dumptlpdb {
init_local_db();
@@ -4316,7 +4317,7 @@ sub action_option {
}
-# ARCH
+# PLATFORM (was ARCH)
#
sub action_platform {
my $ret = $F_OK;
@@ -4817,6 +4818,7 @@ sub action_recreate_tlpdb {
return;
}
+
# CHECK
#
sub init_tltree {
@@ -5350,7 +5352,9 @@ sub check_depends {
return $ret;
}
+
# POSTACTION
+#
# explictly run the various post actions, e.g.,
# on a client system or overriding global settings.
#
@@ -5458,7 +5462,9 @@ sub action_postaction {
}
}
-# INIT USER TREE
+
+# INIT-USERTREE
+#
# sets up the user tree for tlmgr in user mode
sub action_init_usertree {
# init_local_db but do not die if localtlpdb is not found!
@@ -5500,7 +5506,9 @@ sub action_init_usertree {
return ($F_OK);
}
+
# CONF
+#
# tries to mimic texconfig conf but can also set values for both tlmgr
# and texmf conf files.
#
@@ -5550,7 +5558,7 @@ sub action_conf {
if ($arg eq "texmf") {
my $tmfa = 'TEXMFAUXTREES';
my $tv = $cf->value($tmfa);
- if ($val eq "show") {
+ if (!$val || $val eq "show") {
if (defined($tv)) {
$tv =~ s/^\s*{//;
$tv =~ s/}\s*$//;
@@ -5562,7 +5570,7 @@ sub action_conf {
}
return($F_OK);
} else {
- print "No auxiliary texmf trees defined.\n";
+ print "$prg: no auxiliary texmf trees defined.\n";
return($F_OK);
}
} elsif ($val eq "add") {
@@ -5576,7 +5584,7 @@ sub action_conf {
my $already = 0;
for my $f (@foo) {
if ($f eq $str) {
- print "Already registered auxtree: $str\n";
+ tlwarn("$prg: already registered auxtree: $str\n");
return ($F_WARNING);
} else {
push @new, $f;
@@ -5588,7 +5596,7 @@ sub action_conf {
$cf->value($tmfa, '{' . $str . ',}');
}
} else {
- warning("argument missing for auxtrees add\n");
+ tlwarn("$prg: missing argument for auxtrees add\n");
return($F_ERROR);
}
} elsif ($val eq "remove") {
@@ -5614,23 +5622,24 @@ sub action_conf {
$cf->delete_key($tmfa);
}
} else {
- print ("Not defined as auxiliary texmf tree: $str\n");
+ tlwarn("$prg: not defined as auxiliary texmf tree: $str\n");
return($F_WARNING);
}
} else {
- print "No auxiliary texmf trees defined, nothing removed\n";
+ tlwarn("$prg: no auxiliary texmf trees defined, "
+ . "so nothing removed\n");
return($F_WARNING);
}
} else {
- warning("argument missing for auxtrees remove\n");
+ tlwarn("$prg: missing argument for auxtrees remove\n");
return($F_ERROR);
}
} else {
- warning("unknown operation on auxtrees: $val\n");
+ tlwarn("$prg: unknown auxtrees operation: $val\n");
return($F_ERROR);
}
} else {
- warning("auxtrees not suitable for $arg\n");
+ tlwarn("$prg: auxtrees not suitable for $arg\n");
return($F_ERROR);
}
} elsif (!defined($val)) {
@@ -5662,7 +5671,7 @@ sub action_conf {
}
} else {
if (defined($opts{'delete'})) {
- warning("$arg --delete and value for key $key given, don't know what to do!\n");
+ tlwarn("$arg --delete and value for key $key given, don't know what to do!\n");
$ret = $F_ERROR;
} else {
info("setting $arg $key to $val (in $fn)\n");
@@ -5729,14 +5738,13 @@ sub texconfig_conf_mimic {
}
-
-# Action key
-#
-# general key management
+# KEY
#
+# gpg key management:
# tlmgr key list
# tlmgr key add <filename>
# tlmgr key remove <keyid>
+#
sub action_key {
my $arg = shift @ARGV;
@@ -5813,6 +5821,209 @@ sub action_key {
}
+# SHELL
+# interactive shell.
+#
+sub action_shell {
+ my $protocol = 1;
+ sub do_prompt {
+ my $default_prompt = "tlmgr>";
+ my $prompt = "";
+ my @options;
+ my @guarantee;
+ my @savedargs = @_;
+ my $did_prompt = 0;
+ while (defined(my $arg = shift @_)) {
+ if ($arg =~ m/^-prompt$/) {
+ print shift @_, " ";
+ $did_prompt = 1;
+ } elsif ($arg =~ m/^-menu$/) {
+ my $options = shift @_;
+ @options = @$options;
+ print "\n";
+ my $c = 1;
+ for my $o (@options) {
+ print " $c) $o\n";
+ $c++;
+ }
+ } elsif ($arg =~ m/^-guarantee$/) {
+ my $guarantee = shift @_;
+ @guarantee = @$guarantee;
+ } elsif ($arg =~ m/^-/) {
+ print "ERROR unsupported prompt command, please report: $arg!\n";
+ } else {
+ print $arg, " ";
+ $did_prompt = 1;
+ }
+ }
+ print "default_prompt " if (!$did_prompt);
+ my $ans = <STDIN>;
+ if (!defined($ans)) {
+ # we got Ctrl-D, just break out
+ return;
+ }
+ chomp($ans);
+ if (@options) {
+ $ans--;
+ if ($ans >= 0 && $ans <= $#options) {
+ $ans = $options[$ans];
+ return($ans);
+ } else {
+ print "ERROR invalid answer\n";
+ return;
+ }
+ }
+ if (@guarantee) {
+ my $isok = 0;
+ for my $g (@guarantee) {
+ if ($ans eq $g) {
+ $isok = 1;
+ last;
+ }
+ }
+ if (!$isok) {
+ print("Please answer one of @guarantee!\n");
+ return(do_prompt(@savedargs));
+ }
+ }
+ return($ans);
+ }
+
+ print "protocol $protocol\n";
+ while (1) {
+ my $ans = do_prompt('tlmgr>');
+ return $F_OK if !defined($ans); # done if eof
+
+ my ($cmd, @args) = TeXLive::TLUtils::quotewords('\s+', 0, $ans);
+ next if (!defined($cmd));
+ if ($cmd eq "protocol") {
+ print "protocol $protocol\n";
+ } elsif ($cmd eq "help") {
+ print "Please see tlmgr help or http://tug.org/texlive/tlmgr.html.\n";
+ } elsif ($cmd eq "version") {
+ print give_version(), "\n";
+ } elsif ($cmd =~ m/^(quit|end|bye(bye)?)$/i) {
+ return $F_OK;
+ } elsif ($cmd eq "setup-location") {
+ my $dest = shift @args;
+ print "ERROR not implemented: $cmd\n";
+ } elsif ($cmd =~ m/^(set|get)$/) {
+ my @valid_keys = qw/repository debug-translation machine-readable no-execute-actions require-verification verify-downloads/;
+ my $key = shift @args;
+ my $val = shift @args;
+ if (!$key) {
+ $key = do_prompt('Choose...', -menu => \@valid_keys, '>');
+ }
+ if (!$key) {
+ print("ERROR missing argument for get\n");
+ next;
+ }
+ if ($cmd eq "get" && defined($val)) {
+ print("ERROR no argument allowed for get\n");
+ next;
+ }
+ if ($cmd eq "set" && !defined($val)) {
+ if ($key eq "repository") {
+ $val = do_prompt('Enter repository:');
+ } else {
+ $val = do_prompt('Enter 1 for on, 0 for off:', -guarantee => [0,1]);
+ }
+ # deal with Ctrl-D
+ if (!defined($val)) {
+ print("ERROR Missing value for set.\n");
+ next;
+ }
+ }
+
+ if ($key eq "repository") {
+ if ($cmd eq "set") {
+ $location = scalar($val);
+ } else {
+ if (defined($location)) {
+ print "repository = $location\n";
+ } else {
+ print "repository = <UNDEFINED>\n";
+ }
+ }
+ print "OK\n";
+ } elsif ($key =~ m/^(debug-translation|machine-readable|no-execute-actions|require-verification|verify-downloads)$/) {
+ if ($cmd eq "set") {
+ $opts{$key} = ($val eq "1" ? 1 : 0);
+ # special cases
+ $::debug_translation = $opts{"debug-translation"};
+ $::machinereadable = $opts{"machine-readable"};
+ $::no_execute_actions = $opts{'no-execute-actions'};
+ } else {
+ print "$key = ", ($opts{$key} ? 1 : 0), "\n";
+ }
+ print "OK\n";
+ } else {
+ print "ERROR unknown key $key\n";
+ }
+ } elsif ($cmd eq "load") {
+ my $what = shift @args;
+ if (!defined($what)) {
+ $what = do_prompt("Choose...", -menu => ['local', 'remote'], '>');
+ }
+ if ($what eq "local") {
+ init_local_db();
+ print "OK\n";
+ } elsif ($what eq "remote") {
+ init_tlmedia_or_die();
+ print "OK\n";
+ } else {
+ print "ERROR can only load 'local' or 'remote'\n";
+ }
+ } elsif ($cmd eq "save") {
+ $localtlpdb->save;
+ print "OK\n";
+ } elsif (defined($action_specification{$cmd})) {
+ # an action
+ if (!defined($action_specification{$cmd}{"function"})) {
+ print "ERROR action function not defined\n";
+ next;
+ }
+ # redo the option parsing
+ my %optarg;
+ if (defined($action_specification{$cmd}{'options'})) {
+ my %actopts = %{$action_specification{$cmd}{'options'}};
+ for my $k (keys %actopts) {
+ if ($actopts{$k} eq "1") {
+ $optarg{$k} = 1;
+ } else {
+ $optarg{"$k" . $actopts{$k}} = 1;
+ }
+ }
+ }
+ # save command line options for later restart, if necessary
+ @ARGV = @args;
+ my %savedopts = %opts;
+ %opts = ();
+ if (!GetOptions(\%opts, keys(%optarg))) {
+ print "ERROR unsupported arguments\n";
+ next;
+ }
+ my $ret = execute_action($cmd, @ARGV);
+ if ($ret & $F_ERROR) {
+ print "ERROR\n";
+ } elsif ($ret & $F_WARNING) {
+ print "OK\n";
+ } else {
+ print "OK\n";
+ }
+ # make sure that we restart after having called update --self!
+ if (($cmd eq 'update') && $opts{'self'}) {
+ print "tlmgr has been updated, restarting!\n";
+ exec("tlmgr", @::SAVEDARGV);
+ }
+ %opts = %savedopts;
+ } else {
+ print "ERROR unknown command\n";
+ }
+ }
+}
+
+
# Subroutines galore.
#
@@ -6589,208 +6800,6 @@ sub check_on_writable {
}
-###########
-# tlmgr shell code
-sub action_shell {
- my $protocol = 1;
- sub do_prompt {
- my $default_prompt = "tlmgr>";
- my $prompt = "";
- my @options;
- my @guarantee;
- my @savedargs = @_;
- my $did_prompt = 0;
- while (defined(my $arg = shift @_)) {
- if ($arg =~ m/^-prompt$/) {
- print shift @_, " ";
- $did_prompt = 1;
- } elsif ($arg =~ m/^-menu$/) {
- my $options = shift @_;
- @options = @$options;
- print "\n";
- my $c = 1;
- for my $o (@options) {
- print " $c) $o\n";
- $c++;
- }
- } elsif ($arg =~ m/^-guarantee$/) {
- my $guarantee = shift @_;
- @guarantee = @$guarantee;
- } elsif ($arg =~ m/^-/) {
- print "ERROR unsupported prompt command, please report: $arg!\n";
- } else {
- print $arg, " ";
- $did_prompt = 1;
- }
- }
- print "default_prompt " if (!$did_prompt);
- my $ans = <STDIN>;
- if (!defined($ans)) {
- # we got Ctrl-D, just break out
- return;
- }
- chomp($ans);
- if (@options) {
- $ans--;
- if ($ans >= 0 && $ans < $#options) {
- $ans = $options[$ans];
- return($ans);
- } else {
- print "ERROR invalid answer\n";
- return;
- }
- }
- if (@guarantee) {
- my $isok = 0;
- for my $g (@guarantee) {
- if ($ans eq $g) {
- $isok = 1;
- last;
- }
- }
- if (!$isok) {
- print("Please answer one of @guarantee!\n");
- return(do_prompt(@savedargs));
- }
- }
- return($ans);
- }
-
- print "protocol $protocol\n";
- while (1) {
- # print $prompt;
- # my $ans = <STDIN>;
- my $ans = do_prompt('tlmgr>');
- # chomp $ans;
- next if (!defined($ans));
- my ($cmd, @args) = TeXLive::TLUtils::quotewords('\s+', 0, $ans);
- next if (!defined($cmd));
- if ($cmd eq "protocol") {
- print "protocol $protocol\n";
- } elsif ($cmd eq "version") {
- print give_version(), "\n";
- } elsif ($cmd =~ m/^(quit|end|byebye)$/i) {
- return $F_OK;
- } elsif ($cmd eq "setup-location") {
- my $dest = shift @args;
- print "ERROR not implemented: $cmd\n";
- } elsif ($cmd =~ m/^(set|get)$/) {
- my @valid_keys = qw/repository debug-translation machine-readable no-execute-actions require-verification verify-downloads/;
- my $key = shift @args;
- my $val = shift @args;
- if (!$key) {
- $key = do_prompt('Choose...', -menu => \@valid_keys, '>');
- }
- if (!$key) {
- print("ERROR missing argument for get\n");
- next;
- }
- if ($cmd eq "get" && defined($val)) {
- print("ERROR no argument allowed for get\n");
- next;
- }
- if ($cmd eq "set" && !defined($val)) {
- if ($key eq "repository") {
- $val = do_prompt('Enter repository:');
- } else {
- $val = do_prompt('Enter 1 for on, 0 for off:', -guarantee => [0,1]);
- }
- # deal with Ctrl-D
- if (!defined($val)) {
- print('ERROR Missing value for set.\n');
- next;
- }
- }
-
- if ($key eq "repository") {
- if ($cmd eq "set") {
- $location = scalar($val);
- } else {
- if (defined($location)) {
- print "repository = $location\n";
- } else {
- print "repository = <UNDEFINED>\n";
- }
- }
- print "OK\n";
- } elsif ($key =~ m/^(debug-translation|machine-readable|no-execute-actions|require-verification|verify-downloads)$/i) {
- if ($cmd eq "set") {
- $opts{$key} = ($val eq "1" ? 1 : 0); ### THIS DOES NOT WORK??? TODO TODO
- # special cases
- $::debug_translation = $opts{"debug-translation"};
- $::machinereadable = $opts{"machine-readable"};
- $::no_execute_actions = $opts{'no-execute-actions'};
- } else {
- print "$key = ", ($opts{$key} ? 1 : 0), "\n";
- }
- print "OK\n";
- } else {
- print "ERROR unknown key $key\n";
- }
- } elsif ($cmd eq "load") {
- my $what = shift @args;
- if (!defined($what)) {
- $what = do_prompt("Choose...", -menu => ['local', 'remote'], '>');
- }
- if ($what eq "local") {
- init_local_db();
- print "OK\n";
- } elsif ($what eq "remote") {
- init_tlmedia_or_die();
- print "OK\n";
- } else {
- print "ERROR can only load 'local' or 'remote'\n";
- }
- } elsif ($cmd eq "save") {
- $localtlpdb->save;
- print "OK\n";
- } elsif (defined($action_specification{$cmd})) {
- # an action
- if (!defined($action_specification{$cmd}{"function"})) {
- print "ERROR action function not defined\n";
- next;
- }
- # redo the option parsing
- my %optarg;
- if (defined($action_specification{$cmd}{'options'})) {
- my %actopts = %{$action_specification{$cmd}{'options'}};
- for my $k (keys %actopts) {
- if ($actopts{$k} eq "1") {
- $optarg{$k} = 1;
- } else {
- $optarg{"$k" . $actopts{$k}} = 1;
- }
- }
- }
- # save command line options for later restart, if necessary
- @ARGV = @args;
- my %savedopts = %opts;
- %opts = ();
- if (!GetOptions(\%opts, keys(%optarg))) {
- print "ERROR unsupported arguments\n";
- next;
- }
- my $ret = execute_action($cmd, @ARGV);
- if ($ret & $F_ERROR) {
- print "ERROR\n";
- } elsif ($ret & $F_WARNING) {
- print "OK\n";
- } else {
- print "OK\n";
- }
- # make sure that we restart after having called update --self!
- if (($cmd eq 'update') && $opts{'self'}) {
- print "tlmgr has been updated, restarting!\n";
- exec("tlmgr", @::SAVEDARGV);
- }
- %opts = %savedopts;
- } else {
- print "ERROR unknown command\n";
- }
- }
-}
-
-
1;
__END__
diff --git a/Build/source/texk/texlive/linked_scripts/texlive/updmap.pl b/Build/source/texk/texlive/linked_scripts/texlive/updmap.pl
index fa78b1d5762..1077afc381d 100755
--- a/Build/source/texk/texlive/linked_scripts/texlive/updmap.pl
+++ b/Build/source/texk/texlive/linked_scripts/texlive/updmap.pl
@@ -1,5 +1,5 @@
#!/usr/bin/env perl
-# $Id: updmap.pl 44080 2017-04-27 16:46:42Z karl $
+# $Id: updmap.pl 44149 2017-05-02 09:57:51Z preining $
# updmap - maintain map files for outline fonts.
# (Maintained in TeX Live:Master/texmf-dist/scripts/texlive.)
#
@@ -14,7 +14,7 @@
# the original versions were licensed under the following agreement:
# Anyone may freely use, modify, and/or distribute this file, without
-my $svnid = '$Id: updmap.pl 44080 2017-04-27 16:46:42Z karl $';
+my $svnid = '$Id: updmap.pl 44149 2017-05-02 09:57:51Z preining $';
my $TEXMFROOT;
BEGIN {
@@ -27,10 +27,10 @@ BEGIN {
unshift(@INC, "$TEXMFROOT/tlpkg");
}
-my $lastchdate = '$Date: 2017-04-27 18:46:42 +0200 (Thu, 27 Apr 2017) $';
+my $lastchdate = '$Date: 2017-05-02 11:57:51 +0200 (Tue, 02 May 2017) $';
$lastchdate =~ s/^\$Date:\s*//;
$lastchdate =~ s/ \(.*$//;
-my $svnrev = '$Revision: 44080 $';
+my $svnrev = '$Revision: 44149 $';
$svnrev =~ s/^\$Revision:\s*//;
$svnrev =~ s/\s*\$$//;
my $version = "r$svnrev ($lastchdate)";
@@ -1323,7 +1323,12 @@ sub mkMaps {
# all kind of warning messages
if ($first_time_creation_in_usermode) {
print_and_log("
-WARNING: you are switching to updmap's per-user mappings.
+*************************************************************
+* *
+* WARNING: you are switching to updmap's per-user mappings. *
+* Please read the following explanations. *
+* *
+*************************************************************
You have run updmap-user (as opposed to updmap-sys) for the first time; this
has created configuration files which are local to your personal account.