summaryrefslogtreecommitdiff
path: root/Master/tlpkg/bin/tl-update-tlnet
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/bin/tl-update-tlnet')
-rwxr-xr-xMaster/tlpkg/bin/tl-update-tlnet39
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