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"