diff options
Diffstat (limited to 'Master/tlpkg/bin/tl-update-tlnet')
-rwxr-xr-x | Master/tlpkg/bin/tl-update-tlnet | 39 |
1 files changed, 28 insertions, 11 deletions
diff --git a/Master/tlpkg/bin/tl-update-tlnet b/Master/tlpkg/bin/tl-update-tlnet index b8f7e27e3a5..78d28f28390 100755 --- a/Master/tlpkg/bin/tl-update-tlnet +++ b/Master/tlpkg/bin/tl-update-tlnet @@ -121,15 +121,17 @@ option_adjustrepo 0 # silence warnings we do not need to see. TEXLIVE_INSTALL_ENV_NOCHECK=1; export TEXLIVE_INSTALL_ENV_NOCHECK -echo "$0: Running test install (log: `pwd`/install.log)..." -perl install-tl -location $tltry -profile texlive.profile >install.log 2>&1\ -|| true # install-tl can fail, but we test the output, so don't abort. +tlnet_install_log=`pwd`/install.log +echo "$0: Running test install (log: $tlnet_install_log)..." +perl install-tl -location $tltry -profile texlive.profile \ + >$tlnet_install_log 2>&1 \ + || true # install-tl can fail, but we test the output, so don't abort. # the following long grep command should filter away all *normal* # installation messages. # if there are any other messages they will end up on stdout and # thus be noticed. -unexpected_output=`cat install.log \ +unexpected_output=`cat $tlnet_install_log \ | sed '/The following environment variables/,/^ ------/d' \ | grep -Ev '^ ------' \ | grep -Ev '^Automated TeX Live installation using profile' \ @@ -174,6 +176,7 @@ unexpected_output=`cat install.log \ failure=false if test -n "$unexpected_output"; then failure=true + echo >&2 echo "$0: Test installation failed." >&2 echo "$0: Here is the unexpected output:" >&2 echo "$unexpected_output" >&2 @@ -182,9 +185,9 @@ fi # more consistency checks. if test $failure = false; then for cmd in \ - "$tltryinst/$yyyy/bin/*/tlmgr --repository $tltry update --list" \ - "$Master/tlpkg/bin/check-tlnet-consistency --location=$tltry" \ - "$Master/tlpkg/bin/tl-compare-tlpdbs $critical $tltry/tlpkg/texlive.tlpdb" \ + "$tltryinst/$yyyy/bin/*/tlmgr --repository $tltry update --list" \ + "$Master/tlpkg/bin/check-tlnet-consistency --location=$tltry" \ + "$Master/tlpkg/bin/tl-compare-tlpdbs $critical $tltry/tlpkg/texlive.tlpdb" \ ; do cmdname=`echo "$cmd" | awk '{print $1}'` basecmd=`basename $cmdname` @@ -200,11 +203,25 @@ if test $failure = false; then done fi +# Format creation check. Unfortunately we have never got exit codes right. +install_tl_log=$tltryinst/$yyyy/install-tl.log + +if grep -i '^fmtutil: Error' $install_tl_log >/dev/null; then + echo >&2 + echo "$0: seems fmtutil failed, check $install_tl_log." >&2 + failure=true +fi + +# In all cases, make copies in /tmp for inspection in case of +# undetected failure. +cp -f $tlnet_install_log $install_tl_log /tmp + if $failure; then - echo - echo "$0: Full transcript file: `pwd`/install.log" >&2 - echo "$0: install-tl complete log file: $tltryinst/$yyyy/install-tl.log" >&2 - echo "$0: Remember to clean up the trial dir, please." >&2 + echo >&2 + echo "$0: Our transcript file: $tlnet_install_log" >&2 + echo "$0: install-tl log file: $install_tl_log" >&2 + echo "$0: Copies of both are in /tmp." >&2 + echo "$0: Please rm -rf the trial dir." >&2 exit 1 fi |