diff options
author | Norbert Preining <preining@logic.at> | 2010-01-08 02:31:10 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2010-01-08 02:31:10 +0000 |
commit | ed002f07fb749ed39bb26cb9ffa9526859ec03c0 (patch) | |
tree | ba475d3266ee8b86e0f5874b298a0394395661c3 /Master/texmf/scripts | |
parent | 02b6d8b30951c6d280c291863925f32a6eb84f50 (diff) |
--rebuild-sys also for generate fmtutil and generate language
git-svn-id: svn://tug.org/texlive/trunk@16636 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf/scripts')
-rwxr-xr-x | Master/texmf/scripts/texlive/tlmgr.pl | 49 |
1 files changed, 45 insertions, 4 deletions
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<TEXMFLOCAL>). =item B<--rebuild-sys> -tells tlmgr to call C<updmap-sys> after (re-)generating the C<updmap.cfg> -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<updmap> is a lengthy process. +tells tlmgr to run necessary programs after config files have been +regenerated. These are: C<updmap-sys> after C<generate updmap>, +C<fmtutil-sys --all> after C<generate fmtutil>, +C<fmtutil-sys --byhyphen .../language.dat> after C<generate language.dat>, +and +C<fmtutil-sys --byhyphen .../language.def> after C<generate language.def>. + +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 |