On Mon, 1 Dec 2008, Alfred Perlstein wrote:

Author: alfred
Date: Mon Dec  1 00:45:51 2008
New Revision: 185499
URL: http://svn.freebsd.org/changeset/base/185499

Log:
 Provide a 'tinderbox' target that compiles enough of FreeBSD that
 a developer can rest reasonably assured that the tinderbox will not
 be broken.  This target leverages most of 'universe' but will exit
 non-zero and output a summary at the end.

 "make tinderbox"

Hi,

I noticed that the file always grew but was never displayed
automatically nor removed on a new run.  I guess it's because I
have MAKEOBJDIRPREFIX set in the environment and `pwd` is not
${.CURDIR} for the two operations.

Anyone see any problems with this?


Index: Makefile
===================================================================
--- Makefile    (revision 217191)
+++ Makefile    (working copy)
@@ -301,7 +301,7 @@ targets:
 .endfor

 .if defined(DOING_TINDERBOX)
-FAILFILE=tinderbox.failed
+FAILFILE=${.CURDIR}/tinderbox.failed
 MAKEFAIL=tee -a ${FAILFILE}
 .else
 MAKEFAIL=cat




Modified:
 head/Makefile

Modified: head/Makefile
==============================================================================
--- head/Makefile       Mon Dec  1 00:23:12 2008        (r185498)
+++ head/Makefile       Mon Dec  1 00:45:51 2008        (r185499)
@@ -267,6 +267,10 @@ make: .PHONY
                ${MMAKE} all && \
                ${MMAKE} install DESTDIR=${MAKEPATH} BINDIR=

+tinderbox:
+       cd ${.CURDIR} && \
+               DOING_TINDERBOX=YES ${MAKE} ${JFLAG} universe
+
#
# universe
#
@@ -274,14 +278,24 @@ make: .PHONY
# with a reasonable chance of success, regardless of how old your
# existing system is.
#
-.if make(universe)
+.if make(universe) || make(tinderbox)
TARGETS?=amd64 arm i386 ia64 pc98 powerpc sparc64 sun4v

+.if defined(DOING_TINDERBOX)
+FAILFILE=tinderbox.failed
+MAKEFAIL=tee -a ${FAILFILE}
+.else
+MAKEFAIL=cat
+.endif
+
universe: universe_prologue
universe_prologue:
        @echo "--------------------------------------------------------------"
        @echo ">>> make universe started on ${STARTTIME}"
        @echo "--------------------------------------------------------------"
+.if defined(DOING_TINDERBOX)
+       rm -f ${FAILFILE}
+.endif
.for target in ${TARGETS}
KERNCONFS!=     cd ${.CURDIR}/sys/${target}/conf && \
                find [A-Z]*[A-Z] -type f -maxdepth 0 \
@@ -296,15 +310,15 @@ universe_${target}:
            ${MAKE} ${JFLAG} buildworld \
            TARGET=${target} \
            > _.${target}.buildworld 2>&1 || \
-           echo "${target} world failed," \
-           "check _.${target}.buildworld for details")
+           (echo "${target} world failed," \
+           "check _.${target}.buildworld for details" | ${MAKEFAIL}))
        @echo ">> ${target} buildworld completed on `LC_ALL=C date`"
.endif
.if exists(${.CURDIR}/sys/${target}/conf/NOTES)
        @(cd ${.CURDIR}/sys/${target}/conf && env __MAKE_CONF=/dev/null \
            ${MAKE} LINT > ${.CURDIR}/_.${target}.makeLINT 2>&1 || \
-           echo "${target} 'make LINT' failed," \
-           "check _.${target}.makeLINT for details")
+           (echo "${target} 'make LINT' failed," \
+           "check _.${target}.makeLINT for details"| ${MAKEFAIL}))
.endif
.for kernel in ${KERNCONFS}
        @(cd ${.CURDIR} && env __MAKE_CONF=/dev/null \
@@ -312,8 +326,8 @@ universe_${target}:
            TARGET=${target} \
            KERNCONF=${kernel} \
            > _.${target}.${kernel} 2>&1 || \
-           echo "${target} ${kernel} kernel failed," \
-           "check _.${target}.${kernel} for details")
+           (echo "${target} ${kernel} kernel failed," \
+           "check _.${target}.${kernel} for details"| ${MAKEFAIL}))
.endfor
        @echo ">> ${target} completed on `LC_ALL=C date`"
.endfor
@@ -323,4 +337,11 @@ universe_epilogue:
        @echo ">>> make universe completed on `LC_ALL=C date`"
        @echo "                      (started ${STARTTIME})"
        @echo "--------------------------------------------------------------"
+.if defined(DOING_TINDERBOX)
+       @if [ -e ${FAILFILE} ] ; then \
+               echo "Tinderbox failed:" ;\
+               cat ${FAILFILE} ;\
+               exit 1 ;\
+       fi
+.endif
.endif


--
Bjoern A. Zeeb                                 You have to have visions!
        <ks> Going to jail sucks -- <bz> All my daemons like it!
  http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/jails.html
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to