Author: imp
Date: Fri Sep 27 20:56:44 2019
New Revision: 352821
URL: https://svnweb.freebsd.org/changeset/base/352821

Log:
  Push and pop xtrace correctly for run_early_customize
  
  run_early_customize is run as a shell list, not as a subshell, so that the 
side
  effects of setting variables can affect later stages of the build (for better 
or
  worse, it's been like this since it was introduced). It therefore has the side
  effect of turning off xtrace always, which limits the usefulness of sh -x
  nanobsd.sh. Remember the old setting and only turn off tracing after the 
command
  if tracing was off before. All the other places where we do similar things we 
use
  a subshell, so we don't need to do this.

Modified:
  head/tools/tools/nanobsd/defaults.sh

Modified: head/tools/tools/nanobsd/defaults.sh
==============================================================================
--- head/tools/tools/nanobsd/defaults.sh        Fri Sep 27 20:56:31 2019        
(r352820)
+++ head/tools/tools/nanobsd/defaults.sh        Fri Sep 27 20:56:44 2019        
(r352821)
@@ -445,7 +445,11 @@ run_early_customize ( ) {
                pprint 2 "early customize \"$c\""
                pprint 3 "log: ${NANO_LOG}/_.early_cust.$c"
                pprint 4 "`type $c`"
-               { set -x ; $c ; set +x ; } >${NANO_LOG}/_.early_cust.$c 2>&1
+               { t=$(set -o | awk '$1 == "xtrace" && $2 == "off" { print "set 
+x"}');
+                 set -x ;
+                 $c ;
+                 eval $t
+               } >${NANO_LOG}/_.early_cust.$c 2>&1
        done
 }
 
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to