diff options
Diffstat (limited to 'Master/tlpkg/bin/tl-update-tlnet')
-rwxr-xr-x | Master/tlpkg/bin/tl-update-tlnet | 50 |
1 files changed, 31 insertions, 19 deletions
diff --git a/Master/tlpkg/bin/tl-update-tlnet b/Master/tlpkg/bin/tl-update-tlnet index a3dc374e205..7125723bc01 100755 --- a/Master/tlpkg/bin/tl-update-tlnet +++ b/Master/tlpkg/bin/tl-update-tlnet @@ -42,7 +42,7 @@ while test $# -gt 0; do --help) echo "ustl. sorry."; exit 0;; --version) echo "$vc_id"; exit 0;; *) echo "$0: unrecognized option \`$1'; see source." >&2 - exit 1;; + exit 1;; esac shift done @@ -66,6 +66,11 @@ if test -z "$Master"; then Master=`cd $mydir/../.. && pwd` fi +# If there are broken symlinks anywhere in the bin directories, give up +# right away. The nightly cron checks that there no symlinks anywhere else. +# Below, we check for broken symlinks in the bin/ dir as installed. +$Master/tlpkg/bin/tl-check-symlinks $Master/bin + # Keep the default out of ~ftp/texlive, which CTAN mirrors much of test -z "$tltrybase" \ && tltrybase=`cd $tlweb/../.. && pwd`/tlnet-trial-`date +%y%m%d` @@ -205,7 +210,7 @@ if test -n "$unexpected_output"; then $ignore_unexpected_output || failure=true echo >&2 echo "$0: Test installation failed." >&2 - echo "$0: Here is the unexpected output from $tlnet_install_log:" >&2 + echo "$0: Here is the unexpected output, from $tlnet_install_log:" >&2 echo "$unexpected_output" >&2 echo "$0: (end of unexpected output)." >&2 fi @@ -215,6 +220,8 @@ if test $failure = false; then for cmd in \ "$tltryinst/$yyyy/bin/*/tlmgr --repository $tltry update --list" \ "$tltryinst/$yyyy/bin/*/updmap-sys -n" \ + "$tltryinst/$yyyy/bin/*/mktexlsr -n --verbose" \ + "$Master/tlpkg/bin/tl-check-symlinks $tltryinst/$yyyy/bin" \ "$Master/tlpkg/bin/tl-check-tlnet-consistency --location=$tltry" \ "$Master/tlpkg/bin/tl-compare-tlpdbs $critical $tltry/tlpkg/texlive.tlpdb" \ ; do @@ -252,32 +259,37 @@ fi cp -f $tlnet_install_log /tmp test ! -r $install_tl_log || cp -f $install_tl_log /tmp -if $failure; then +if $failure || $chicken; then 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 + if $failure; then + exit 1 + elif $chicken; then + echo + echo "$0: Chicken mode, not updating anything." + exit 0 + else + echo "$0: impossible non-failure non-chicken." >&2 + exit 2 + fi fi # # no unexpected output, so ship the new packages. cd $tltrybase -if $chicken; then - echo "$0: Chicken mode, not updating anything." -else - echo "$0: Updating $tlweb from $tltry." - # copy any mactex files since we didn't link them. - for f in $tlweb/*mactex*; do - test ! -r $f || cp -pf $f $tltry - done - - # mv then rm to avoid the mirmon probe from making the rm fail. - mv $tlweb $tltrybase/tlnet.old - mv $tltry $tlweb - rm -rf $tltrybase - echo "$0: Done." -fi +echo "$0: Updating $tlweb from $tltry." +# copy any mactex files since we didn't link them. +for f in $tlweb/*mactex*; do + test ! -r $f || cp -pf $f $tltry +done + +# mv then rm to avoid the mirmon probe from making the rm fail. +mv $tlweb $tltrybase/tlnet.old +mv $tltry $tlweb +rm -rf $tltrybase +echo "$0: Done." exit 0 |