svn commit: r360538 - head/tools/boot

Warner Losh imp at FreeBSD.org
Fri May 1 17:16:58 UTC 2020


Author: imp
Date: Fri May  1 17:16:57 2020
New Revision: 360538
URL: https://svnweb.freebsd.org/changeset/base/360538

Log:
  When we have an invalid build option, don't rm -rf the current
  directory.
  
  Add a quick sanity check to objdir before using it.  It must start
  with /. If there was a make error getting it, report that and continue
  with the next target. If there was anything else, bail out.

Modified:
  head/tools/boot/universe.sh

Modified: head/tools/boot/universe.sh
==============================================================================
--- head/tools/boot/universe.sh	Fri May  1 16:56:36 2020	(r360537)
+++ head/tools/boot/universe.sh	Fri May  1 17:16:57 2020	(r360538)
@@ -19,6 +19,12 @@
 # Output is put into _.boot.$TARGET_ARCH.log in sys.boot.
 #
 
+die()
+{
+    echo $*
+    exit 1
+}
+
 dobuild()
 {
     local ta=$1
@@ -27,6 +33,12 @@ dobuild()
 
     echo -n "Building $ta ${opt} ... "
     objdir=$(make buildenv TARGET_ARCH=$ta BUILDENV_SHELL="make -V .OBJDIR" | tail -1)
+    case ${objdir} in
+	/*) ;;
+	make*) echo Error message from make: $objdir
+	       continue ;;
+	*) die Crazy object dir: $objdir ;;
+    esac
     rm -rf ${objdir}
     if ! make buildenv TARGET_ARCH=$ta BUILDENV_SHELL="make clean cleandepend cleandir obj depend"  \
 	 > $lf 2>&1; then
@@ -116,4 +128,3 @@ for i in \
     ta=${i##*/}
     dobuild $ta _.boot.${ta}.debug.log "LOADER_DEBUG=yes"
 done
-


More information about the svn-src-head mailing list