Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 1 May 2020 17:16:57 +0000 (UTC)
From:      Warner Losh <imp@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r360538 - head/tools/boot
Message-ID:  <202005011716.041HGvY9040093@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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
-



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202005011716.041HGvY9040093>