From ee3bc684018411a6d14fcfe366a5638a6664db25 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Fri, 11 Jun 2010 17:57:59 +0000 Subject: tlmgr: support --no-execute-actions cmd line that suppresses the execute actions from tlpsrc files TLUtils.pm: announce_execute_actions: return if the global $::no_execute_actions is set. This global var is set from tlmgr when --no-execute-actions is given install-tl: use tlmgr --no-execute-actions paper letter to configure installation for paper format letter, and run fmtutil-sys --all separate Also move the call to mktexlsr (rerunning it) below the tlmgr paper letter call. git-svn-id: svn://tug.org/texlive/trunk@18898 c570f23f-e606-0410-a88d-b1316a301751 --- Master/install-tl | 18 +++++++++++------- Master/texmf/scripts/texlive/tlmgr.pl | 11 +++++++++++ Master/tlpkg/TeXLive/TLUtils.pm | 3 +++ 3 files changed, 25 insertions(+), 7 deletions(-) (limited to 'Master') diff --git a/Master/install-tl b/Master/install-tl index 37dc1d896b3..27a0adb63b9 100755 --- a/Master/install-tl +++ b/Master/install-tl @@ -804,18 +804,23 @@ operations might be disturbed.\n\n"; # system('updmap-sys', '--nohash'); log(`updmap-sys --nohash 2>&1`); info("done\n"); - info("re-running mktexlsr $TEXMFSYSVAR\n"); - system('mktexlsr', "$TEXMFSYSVAR"); # now work through the options if specified at all # letter instead of a4 if ($vars{'option_letter'}) { + # set paper size, but do not execute any post actions, in this case + # it would be: + # - mktexlsr + # - fmtutil-sys -all info("setting default paper size to letter\n"); - system("tlmgr", "paper", "letter"); - # mind that this calls fmtutil-sys --all in tlmgr!!! + log(`tlmgr --no-execute-actions paper letter 2>&1`); } + # now rerun mktexlsr for updmap-sy and tlmgr paper letter updates + info("re-running mktexlsr $TEXMFSYSVAR\n"); + system('mktexlsr', "$TEXMFSYSVAR"); + # luatex/context # we only call luatools --generate once at installation time, the # rest must be managed by the user, Taco email 2010-05-26 @@ -830,9 +835,8 @@ operations might be disturbed.\n\n"; # info("done\n"); #} - # all formats option, if we have called tlmgr paper letter above, we - # do not call fmtutil-sys again, it would be a waste of time - if ($vars{'option_fmt'} && !$vars{'option_letter'}) { + # all formats option + if ($vars{'option_fmt'}) { info("pre-generating all format files (fmtutil-sys --all), be patient..."); log(`fmtutil-sys --all 2>&1`); info("done\n"); diff --git a/Master/texmf/scripts/texlive/tlmgr.pl b/Master/texmf/scripts/texlive/tlmgr.pl index 844971ad32c..b82c09a1349 100755 --- a/Master/texmf/scripts/texlive/tlmgr.pl +++ b/Master/texmf/scripts/texlive/tlmgr.pl @@ -128,6 +128,7 @@ sub main { "machine-readable" => 1, "package-logfile" => "=s", "persistent-downloads" => "!", + "no-execute-actions" => 1, "pause" => 1, "version" => 1, "help|h|?" => 1); @@ -331,6 +332,11 @@ sub main { # load it BEFORE starting downloads as we seet persistent-downloads there! load_config_file(); + # + # set global variable if execute actions should be supressed + $::no_execute_actions = 1 if (defined($opts{'no-execute-actions'})); + + # # if we are asked to use persistent connections try to start it here # @@ -4746,6 +4752,11 @@ fall back to using wget if this is not possible. If you want to disable usage of LWP and persistent connections, please use B<--no-persistent-downloads>. +=item B<--no-execute-actions> + +Suppress the execution of the execute actions as defined in the tlpsrc +files. Only use at your own risk. + =item B<--debug-translation> In GUI mode, this switch makes C report any missing, or more diff --git a/Master/tlpkg/TeXLive/TLUtils.pm b/Master/tlpkg/TeXLive/TLUtils.pm index 9ec12ace487..61af34242c5 100644 --- a/Master/tlpkg/TeXLive/TLUtils.pm +++ b/Master/tlpkg/TeXLive/TLUtils.pm @@ -1728,6 +1728,9 @@ after all packages have been unpacked. sub announce_execute_actions { my ($type, $tlp) = @_; + # do simply return immediately if execute actions are suppressed + return if $::no_execute_actions; + if (defined($type) && ($type eq "regenerate-formats")) { $::regenerate_all_formats = 1; return; -- cgit v1.2.3