From 320b0532dd9376c2ffded3d9ddb5d41b2131c7a3 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 9 Aug 2008 18:33:05 +0000 Subject: recognize new output strings as expected git-svn-id: svn://tug.org/texlive/trunk@10209 c570f23f-e606-0410-a88d-b1316a301751 --- Master/install-tl | 17 ++++++----- Master/tlpkg/bin/tl-update-containers | 8 ++++-- Master/tlpkg/bin/tl-update-tlnet | 54 ++++++++++++++++++++--------------- 3 files changed, 44 insertions(+), 35 deletions(-) diff --git a/Master/install-tl b/Master/install-tl index 24dfcc4cbcb..a5f4a007a03 100755 --- a/Master/install-tl +++ b/Master/install-tl @@ -4,18 +4,16 @@ # Copyright 2007, 2008 Reinhard Kotucha, Norbert Preining # This file is licensed under the GNU General Public License version 2 # or any later version. -# -# TODO -# - pod2usage on windows cannot be captured with | more or piped to a file -# why? I have no idea +# +# Be careful when changing wording: Every normal informational message +# output here must be recognized by the long grep in tl-update-tlnet. my $svnrev = '$Revision$'; $svnrev =~ m/: ([0-9]+) /; $::installerrevision = $1; -# is now taken from 00texlive.config: release, $tlpdb->config_release; +# taken from 00texlive.config: release, $tlpdb->config_release; our $texlive_release; - my $localpath; BEGIN { @@ -459,7 +457,8 @@ if (!$finished) { do_installation(); } -do_cleanup(); +info ("$0: done.\n"); +do_cleanup(); # closes the log file, so we say we're done before we are exit(0); @@ -1033,7 +1032,7 @@ operations might be disturbed.\n\n"; info("running mktexlsr $TEXMFSYSVAR\n"); system('mktexlsr', "$TEXMFSYSVAR"); - info("running updmap-sys ... "); + info("running updmap-sys... "); # system('updmap-sys', '--nohash'); log(`updmap-sys --nohash 2>&1`); info("done\n"); @@ -1057,7 +1056,7 @@ operations might be disturbed.\n\n"; # all formats option if ($vars{'option_fmt'}) { info("pre-generating all format files (fmtutil-sys --all), be patient..."); - #system('fmtutil-sys','--all'); + #system('fmtutil-sys', '--all'); # try to capture that output log(`fmtutil-sys --all 2>&1`); info("done\n"); diff --git a/Master/tlpkg/bin/tl-update-containers b/Master/tlpkg/bin/tl-update-containers index 3c02a01bf3b..6e813478f82 100755 --- a/Master/tlpkg/bin/tl-update-containers +++ b/Master/tlpkg/bin/tl-update-containers @@ -99,7 +99,7 @@ sub main && defined($archiverevs{$pkg})) { $oldrev = $archiverevs{$pkg}; } else { - info("$pkg is new, found no containers\n"); + info("$pkg is new\n"); $count{"new"}++; } @@ -111,7 +111,7 @@ sub main # that cannot happen!!! we are looping over the packages of # $tlpdb so the above ->get_package will succeed (or something # stranged happened! - die ("Huu, that should not happen ..."); + die ("failed to get package $pkg, that should not happen!"); } if ($oldrev == $newrev) { @@ -130,7 +130,9 @@ sub main push @todopacks, $pkg; $count{"updated"}++ if $oldrev; } else { - warn "This shouldn't happen! The revision of $pkg in texlive.tlpdb" + # This can happen when packages get renamed or files get + # shuffled from one package to another. + warn "The revision of $pkg in texlive.tlpdb" . "($newrev) is OLDER than the one in" . "$opt_location/tlpkg/texlive.tlpdb ($oldrev)"; push @todopacks, $pkg; diff --git a/Master/tlpkg/bin/tl-update-tlnet b/Master/tlpkg/bin/tl-update-tlnet index d59eec95c74..0a99b1a622e 100755 --- a/Master/tlpkg/bin/tl-update-tlnet +++ b/Master/tlpkg/bin/tl-update-tlnet @@ -44,28 +44,25 @@ if test ! -r "$tlweb/tlpkg/texlive.tlpdb"; then exit 1 fi test -z "$tlwebtrybase" \ -&& tlwebtrybase=`cd $tlweb/../..; pwd`/tlnet-trial-`date +%y%m%d` +&& tlwebtrybase=`cd $tlweb/../.. && pwd`/tlnet-trial-`date +%y%m%d` -# don't trap, don't remove in case of errors -#trap "rm -rf $tlwebtrybase" 0 1 2 15 +tlwebtry=$tlwebtrybase/tlsrc.try -tlwebtry=$tlwebtrybase/tldev.try -mkdir -p $tlweb/tlpkg +echo "$0: using tlweb=$tlweb" +echo "$0: using tlwebtry=$tlwebtry" +# # Be sure we're starting clean. -rm -rf $tlwebtry +rm -rf $tlwebtrybase mkdir -p $tlwebtry - -echo "$0: using tlweb=$tlweb" -echo "$0: using tltry=$tlwebtry" cp -al $tlweb/* $tlwebtry # assuming GNU cp -echo "$0: Updating in cow-shell..." +echo "$0: Updating $tlwebtry in cow-shell..." cd $tlwebtry cow-shell <texlive.profile -echo "$0: Making test installation (see `pwd`/install.log)..." +echo "$0: Running test install (log: `pwd`/install.log)..." perl install-tl -location $tlwebtry -profile texlive.profile >install.log 2>&1\ || true # install-tl can fail, but we test the output!! @@ -101,7 +101,8 @@ perl install-tl -location $tlwebtry -profile texlive.profile >install.log 2>&1\ # if there are any other messages they will end up on stdout and # thus be noticed. unexpected_output=`cat install.log \ - | grep -Ev '^Using automated installation using texlive.profile' \ + | grep -Ev '^Automated TeX Live installation using profile' \ + | grep -Ev '^Platform: ' \ | grep -Ev '^Distribution: inst' \ | grep -Ev '^Directory for temporary files' \ | grep -Ev '^Installer directory:' \ @@ -114,7 +115,7 @@ unexpected_output=`cat install.log \ | grep -Ev '^writing updmap.cfg to' \ | grep -Ev '^writing language.(dat|def) data to' \ | grep -Ev '^running updmap-sys' \ - | grep -Ev '^pre-generation all format file' \ + | grep -Ev '^pre-generating all format file' \ | grep -Ev 'running post install action for' \ | grep -Ev '^ See \./index.html for links to documentati' \ | grep -Ev '^ (http://tug.org/texlive/) contains any upda' \ @@ -125,6 +126,7 @@ unexpected_output=`cat install.log \ | grep -Ev '^ Most importantly, add ' \ | grep -Ev '^ to your PATH for current and future sessions' \ | grep -Ev '^ Welcome to TeX Live' \ + | grep -Ev 'install-tl: done' \ | cat` if test -z "$unexpected_output"; then @@ -142,7 +144,13 @@ if test -z "$unexpected_output"; then exit 0 else echo "$0: Test installation failed, not removing anything!" >&2 - echo "$0: Here is the output:" >&2 - cat install.log >&2 + echo "$0: Here is the unexpected output:" >&2 + echo "$unexpected_output" >&2 + echo + echo "$0: For the full transcript file, see:" >&2 + echo "`pwd`/install.log" >&2 + echo + echo "$0: For install-tl's log file itself, with even more, see:" >&2 + echo "$0: $tlwebtryinst/$yyyy/install-tl.log" exit 1 fi -- cgit v1.2.3