X-Git-Url: https://git.distorted.org.uk/~mdw/profile/blobdiff_plain/c3a2e2b16ef44f51ff9cb9e96230ec1b49ed2372..c3daaa72a1fe1262bac1d0f7e8d5416609eaab2e:/bin/mdw-build?ds=sidebyside diff --git a/bin/mdw-build b/bin/mdw-build index fb98ffa..09f99d5 100755 --- a/bin/mdw-build +++ b/bin/mdw-build @@ -188,13 +188,11 @@ case $jobs in 1) ;; *) makeopts="$makeopts -j$jobs" ;; esac ## ## 0 -- original stdin (never touched) ## 1, 2 -- stdout, stderr, redirected to 3 while running comamnds -## log -- original stderr (verbose), or logfile (quiet); captures command -## output -## diag -- null (verbose), or logfile (quiet); primary diagnostic output +## log -- logfile and original stderr (verbose), or logfile only (quiet); +## captures command output +## diag -- logfile; primary diagnostic output ## term -- orginal stderr; secondary diagnostic output (with colours) -exec {log}>&2 {diag}>/dev/null {term}>&2 - notify () { colour=$1 message=$2 echo $message >&$diag @@ -267,17 +265,18 @@ releasepath=$toppath/dist-$build$qual chmod -R +w $releasepath 2>/dev/null || : rm -rf $releasepath 2>/dev/null || : mkdir $releasepath +logfile=$releasepath/mdw-build.log +exec {term}>&2 +exec {diag}>>$logfile || fail "Failed to create log." case $verbose in - no) - exec {log}>&- {diag}>&- - exec {diag}>$releasepath/mdw-build.log {log}>&$diag || - fail "Failed to create log." - ;; + no) exec {log}>&$diag ;; + yes) exec {log}> >(tee -a $logfile >&$term {term}>&- {diag}>&-) ;; esac ## Repeat the earlier assignments for tbe benefit of the logfile. assign toppath $toppath assign releasepath $releasepath +assign logfile $logfile ## Do we have a Git repository? case "$checkout,$setup,$(yesno [ -d $toppath/.git ])" in