From 607c25d782c2e57a60ab2f2ecf30c12e238b44ec Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 15 Jan 2013 18:33:58 +0000 Subject: always save log file git-svn-id: svn://tug.org/texlive/trunk@28843 c570f23f-e606-0410-a88d-b1316a301751 --- .../texk/texlive/linked_scripts/tetex/ChangeLog | 6 + .../texk/texlive/linked_scripts/tetex/fmtutil.sh | 121 +++++++++++---------- 2 files changed, 67 insertions(+), 60 deletions(-) diff --git a/Build/source/texk/texlive/linked_scripts/tetex/ChangeLog b/Build/source/texk/texlive/linked_scripts/tetex/ChangeLog index 459ffe2f408..7db3359c839 100644 --- a/Build/source/texk/texlive/linked_scripts/tetex/ChangeLog +++ b/Build/source/texk/texlive/linked_scripts/tetex/ChangeLog @@ -1,3 +1,9 @@ +2013-01-15 Karl Berry + + * fmtutil.sh (run_initex): save log file first, + even if the .fmt isn't built. Tweak message wordings. + Report from tljack, 12 Jan 2013 14:35:16. + 2012-08-08 Peter Breitenlohner * fmtutil*, tcfmgr*, texconfig*, texlinks* (removed): diff --git a/Build/source/texk/texlive/linked_scripts/tetex/fmtutil.sh b/Build/source/texk/texlive/linked_scripts/tetex/fmtutil.sh index b9f97aa8998..0d75795c9d5 100755 --- a/Build/source/texk/texlive/linked_scripts/tetex/fmtutil.sh +++ b/Build/source/texk/texlive/linked_scripts/tetex/fmtutil.sh @@ -1,10 +1,11 @@ #!/bin/sh # fmtutil - utility to maintain format files. +# $Id$ # Public domain. Originally written by Thomas Esser. # Run with --help for usage. # program history: -# further changes in texk/tetex/ChangeLog. +# further changes in texk/texlive/ChangeLog. # 2007-01-04 patch by JK to support $engine subdir (enabled by default) # Fr Apr 8 19:15:05 CEST 2005 cleanup now has an argument for the return code # Do Mar 02 10:42:31 CET 2006 add tmpdir to TEXFORMATS @@ -67,7 +68,7 @@ export PATH ############################################################################### # cleanup() # clean up the temp area and exit with proper exit status -############################################################################### +# cleanup() { rc=$1 @@ -80,7 +81,7 @@ cleanup() ############################################################################### # help() and version() # display help (or version) message and exit -############################################################################### +# help() { cat <&2 @@ -251,7 +252,7 @@ abort() # maybe_abort(errmsg) # print `errmsg' to stderr and # unless noAbortFlag is set exit with error code 1 -############################################################################### +# maybe_abort() { echo "$progname: $1." >&2 @@ -260,8 +261,8 @@ maybe_abort() ############################################################################### # verboseMsg(msg) -# print `msg' to stderr is $verbose is true -############################################################################### +# print `msg' to stderr if $verbose is true +# verboseMsg() { $verboseFlag && verbose echo ${1+"$@"} } @@ -269,21 +270,19 @@ verboseMsg() { ############################################################################### # byebye() # report any failures and exit the program -############################################################################### +# byebye() { if $has_warnings; then { cat <&2 @@ -292,15 +291,13 @@ eof if $has_errors; then { cat <&2 @@ -313,7 +310,7 @@ eof ############################################################################### # init_log_warning() # reset the list of warning messages -############################################################################### +# init_log_warning() { log_warning_msg= @@ -323,7 +320,7 @@ init_log_warning() ############################################################################### # init_log_failure() # reset the list of failure messages -############################################################################### +# init_log_failure() { log_failure_msg= @@ -333,7 +330,7 @@ init_log_failure() ############################################################################### # log_warning(errmsg) # report and save warning message `errmsg' -############################################################################### +# log_warning() { echo "Warning: $@" >&2 @@ -351,7 +348,7 @@ $@" ############################################################################### # log_failure(errmsg) # report and save failure message `errmsg' -############################################################################### +# log_failure() { echo "Error: $@" >&2 @@ -369,7 +366,7 @@ $@" ############################################################################### # verbose (cmd) # execute cmd. Redirect output depending on $mktexfmtMode. -############################################################################### +# verbose() { $mktexfmtMode && ${1+"$@"} >&2 || ${1+"$@"} @@ -378,7 +375,7 @@ verbose() ############################################################################### # mktexdir(args) # call mktexdir script, disable all features (to prevent sticky directories) -############################################################################### +# mktexdir() { initTexmfMain @@ -388,7 +385,7 @@ mktexdir() ############################################################################### # tcfmgr(args) # call tcfmgr script -############################################################################### +# tcfmgr() { initTexmfMain @@ -398,7 +395,7 @@ tcfmgr() ############################################################################### # mktexupd(args) # call mktexupd script -############################################################################### +# mktexupd() { initTexmfMain @@ -409,7 +406,7 @@ mktexupd() # main() # parse commandline arguments, initialize variables, # switch into temp. direcrory, execute desired command -############################################################################### +# main() { destdir= # global variable: where do we put the format files? @@ -647,7 +644,7 @@ main() # inside the 4th field in fmtutil.cnf. # # exit code: returns error code if the ini file is not installed -############################################################################### +# parse_line() { case $1 in @@ -690,7 +687,7 @@ parse_line() # find_hyphenfile(format, hyphenation) searches for hyphenation along # searchpath of format # exit code: returns error is file is not found -############################################################################### +# find_hyphenfile() { format="$1"; hyphenation="`echo $2 | sed 's/,/ /g'`" @@ -704,7 +701,7 @@ find_hyphenfile() # find_info_for_name(format) # Look up the config line for format `format' and call parse_line to set # global variables. -############################################################################### +# find_info_for_name() { format="$1" @@ -718,10 +715,9 @@ find_info_for_name() ############################################################################### # run_initex() # Calls initex. Assumes that global variables are set by parse_line. -############################################################################### +# run_initex() { - # install a pool file and set tcx flag if requested in lang= option: rm -f *.pool poolfile= @@ -757,13 +753,15 @@ run_initex() mktexfmt_loop=$mktexfmt_loop:$format/$engine export mktexfmt_loop - verboseMsg "$progname: running \`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' ..." + engine_invocation="$engine -ini $tcxflag $jobswitch $prgswitch $texargs" + verboseMsg "$progname: running \`$engine_invocation' ..." + #debugMsg "$progname: (in `pwd`)" # run in a subshell to get a local effect of TEXPOOL manipulation: ( # If necessary, set TEXPOOL. Use absolute path, because of KPSE_DOT. $localpool && { TEXPOOL="`pwd`:$TEXPOOL"; export TEXPOOL; } - verbose $engine -ini $tcxflag $jobswitch $prgswitch $texargs + verbose $engine_invocation ) /dev/null 2>&1 && - log_warning "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed." + grep '^! ' "$saved_log" >/dev/null 2>&1 && + log_warning "\`$engine_invocation' possibly failed." - # We don't want user-interaction for the following "mv" commands: - mv "$format.log" "$fulldestdir/$format.log" /dev/null || { (exit 0); return 0; } @@ -1001,7 +1002,7 @@ eof ############################################################################### # enablefmt(format) # enables format in configuration file -############################################################################### +# enablefmt() { grep "^#![ ]*$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; } -- cgit v1.2.3