From ed002f07fb749ed39bb26cb9ffa9526859ec03c0 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Fri, 8 Jan 2010 02:31:10 +0000 Subject: --rebuild-sys also for generate fmtutil and generate language git-svn-id: svn://tug.org/texlive/trunk@16636 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf/scripts/texlive/tlmgr.pl | 49 ++++++++++++++++++++++++++++++++--- 1 file changed, 45 insertions(+), 4 deletions(-) (limited to 'Master/texmf') diff --git a/Master/texmf/scripts/texlive/tlmgr.pl b/Master/texmf/scripts/texlive/tlmgr.pl index 1bf590ff626..332a4910846 100755 --- a/Master/texmf/scripts/texlive/tlmgr.pl +++ b/Master/texmf/scripts/texlive/tlmgr.pl @@ -2979,6 +2979,17 @@ sub action_generate { chomp (my $TEXMFLOCAL = `kpsewhich -var-value=TEXMFLOCAL`); if ($what =~ m/^language(\.dat|\.def)?$/i) { + # + # we have to set TEXMFVAR, TEXMFCONFIG in the environment so that + # searching for language.(dat/def) does search in the right place + my $ldat; + my $ldef; + if ($opts{"rebuild-sys"}) { + $ENV{"TEXMFVAR"} = $TEXMFSYSVAR; + $ENV{"TEXMFCONFIG"} = $TEXMFSYSCONFIG; + chomp ($ldat = `kpsewhich language.dat`); + chomp ($ldef = `kpsewhich language.def`); + } if ($what =~ m/^language(\.dat)?$/i) { $dest ||= "$TEXMFSYSVAR/tex/generic/config/language.dat"; $localconf ||= "$TEXMFLOCAL/tex/generic/config/language-local.dat"; @@ -2989,12 +3000,30 @@ sub action_generate { # variable so that it is reset to the right value undef $dest; } + if ($opts{"rebuild-sys"}) { + if ($ldat =~ m/^[[:space:]]*$/) { + tlwarn("Cannot find language.dat, not updating formats based on it.\n"); + } else { + do_cmd_and_check("fmtutil-sys --byhyphen $ldat"); + } + } else { + info("To make the newly-generated language.dat take effect, run fmtutil-sys --byhyphen $ldat.\n"); + } } if ($what =~ m/^language(\.def)?$/i) { $dest ||= "$TEXMFSYSVAR/tex/generic/config/language.def"; $localconf ||= "$TEXMFLOCAL/tex/generic/config/language-local.def"; debug("$0: writing language.def data to $dest\n"); TeXLive::TLUtils::create_language_def($localtlpdb, $dest, $localconf); + if ($opts{"rebuild-sys"}) { + if ($ldef =~ m/^[[:space:]]*$/) { + tlwarn("Cannot find language.def, not updating formats based on it.\n"); + } else { + do_cmd_and_check("fmtutil-sys --byhyphen $ldef"); + } + } else { + info("To make the newly-generated language.def take effect, run fmtutil-sys --byhyphen $ldef.\n"); + } } } elsif ($what =~ m/^fmtutil$/i) { @@ -3003,6 +3032,12 @@ sub action_generate { debug("$0: writing new fmtutil.cnf to $dest\n"); TeXLive::TLUtils::create_fmtutil($localtlpdb, $dest, $localconf); + if ($opts{"rebuild-sys"}) { + do_cmd_and_check("fmtutil-sys --all"); + } else { + info("To make the newly-generated fmtutil.cnf take effect, run fmtutil-sys --all.\n"); + } + } elsif ($what =~ m/^updmap$/i) { $dest ||= "$TEXMFSYSCONFIG/web2c/updmap.cfg"; $localconf ||= "$TEXMFLOCAL/web2c/updmap-local.cfg"; @@ -5069,10 +5104,16 @@ location in C). =item B<--rebuild-sys> -tells tlmgr to call C after (re-)generating the C -file. This is necessary to actually make the changes take effect. it -is not done by default because often multiple font changes are made in -succession, and running C is a lengthy process. +tells tlmgr to run necessary programs after config files have been +regenerated. These are: C after C, +C after C, +C after C, +and +C after C. + +This is necessary to actually make the changes take effect. +This is not done by default since those calls are lengthy processes and +one might want to made several changes before running these programs. =back -- cgit v1.2.3