summaryrefslogtreecommitdiff
path: root/mk/bulk
diff options
context:
space:
mode:
authorjlam <jlam>2004-11-16 18:34:12 +0000
committerjlam <jlam>2004-11-16 18:34:12 +0000
commitaa4cfaa506060762b1a66c48a09155631ae52976 (patch)
tree1b873e759f996dd0edf5a54de440ada4086f15b1 /mk/bulk
parent790a6ad404d88b68b3107544f00474765800ba5c (diff)
downloadpkgsrc-aa4cfaa506060762b1a66c48a09155631ae52976.tar.gz
Preserve the .work.log file from a broken build as .broken.work.html
in the package directory, and add a link to it from .broken.html at the point where the build fails. Also adjust the auxilliary scripts to handle/cleanup .broken.work.html files. This should enhance the ability of developers to debug broken builds by providing important information about what is happening as a build progresses and fails.
Diffstat (limited to 'mk/bulk')
-rw-r--r--mk/bulk/bsd.bulk-pkg.mk20
-rw-r--r--mk/bulk/build5
-rw-r--r--mk/bulk/post-build7
-rw-r--r--mk/bulk/pre-build8
4 files changed, 34 insertions, 6 deletions
diff --git a/mk/bulk/bsd.bulk-pkg.mk b/mk/bulk/bsd.bulk-pkg.mk
index 1bfdc1431a5..70f9bb90e7b 100644
--- a/mk/bulk/bsd.bulk-pkg.mk
+++ b/mk/bulk/bsd.bulk-pkg.mk
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.bulk-pkg.mk,v 1.64 2004/11/12 15:39:22 jlam Exp $
+# $NetBSD: bsd.bulk-pkg.mk,v 1.65 2004/11/16 18:34:12 jlam Exp $
#
# Copyright (c) 1999, 2000 Hubert Feyrer <hubertf@NetBSD.org>
@@ -73,6 +73,9 @@ BULK_ID?=
# This file exists to mark a package as broken
BROKENFILE?= .broken${BULK_ID}.html
+# This file is the work log for a broken package
+BROKENWRKLOG?= .broken${BULK_ID}.work.html
+
# This file is where the log of the build goes
BUILDLOG?= .make${BULK_ID}
@@ -348,7 +351,22 @@ bulk-package:
${RM} ${BUILDLOG} ; \
else \
${MV} ${BUILDLOG} ${BROKENFILE} ;\
+ if [ -f "${WRKLOG}" ]; then \
+ (${ECHO_MSG} "<pre>"; \
+ ${ECHO_MSG} ""; \
+ ${CAT} ${WRKLOG}; \
+ ${ECHO_MSG} "</pre>"; \
+ ) >> ${BROKENWRKLOG}; \
+ fi; \
( \
+ if [ -f "${BROKENWRKLOG}" ]; then \
+ ${ECHO_MSG} "</pre>"; \
+ ${ECHO_MSG} "<p>"; \
+ ${ECHO_MSG} "Please view the <a href=\"../../${PKGPATH}/${BROKENWRKLOG}\">work log for ${PKGNAME}</a>"; \
+ ${ECHO_MSG} "</p>"; \
+ ${ECHO_MSG} "<pre>"; \
+ ${ECHO_MSG} ""; \
+ fi ; \
${ECHO_MSG} "BULK> ${PKGNAME} was marked as broken:" ; \
${LS} -la ${BROKENFILE} ; \
${ECHO_MSG} ${MAKE} deinstall ; \
diff --git a/mk/bulk/build b/mk/bulk/build
index d01b1b59298..1f8868c174b 100644
--- a/mk/bulk/build
+++ b/mk/bulk/build
@@ -1,5 +1,5 @@
#!/bin/sh
-# $NetBSD: build,v 1.44 2004/11/12 15:39:22 jlam Exp $
+# $NetBSD: build,v 1.45 2004/11/16 18:34:12 jlam Exp $
#
# Copyright (c) 1999, 2000 Hubert Feyrer <hubertf@NetBSD.org>
@@ -196,6 +196,7 @@ if [ -d pkgtools/pkglint ]; then
INDEXFILE=`${BMAKE} show-var VARNAME=INDEXFILE` || fail=yes
ORDERFILE=`${BMAKE} show-var VARNAME=ORDERFILE` || fail=yes
BROKENFILE=`${BMAKE} show-var VARNAME=BROKENFILE` || fail=yes
+ BROKENWRKLOG=`${BMAKE} show-var VARNAME=BROKENWRKLOG ` || fail=yes
BUILDLOG=`${BMAKE} show-var VARNAME=BUILDLOG` || fail=yes
STARTFILE=`${BMAKE} show-var VARNAME=STARTFILE` || fail=yes
AWK=`${BMAKE} show-var VARNAME=AWK` || fail=yes
@@ -221,6 +222,7 @@ echo "SUPPORTSFILE = $SUPPORTSFILE"
echo "INDEXFILE = $INDEXFILE"
echo "ORDERFILE = $ORDERFILE"
echo "BROKENFILE = $BROKENFILE"
+echo "BROKENWRKLOG = $BROKENWRKLOG"
echo "BUILDLOG = $BUILDLOG"
echo "STARTFILE = $STARTFILE"
echo "----------------------------------"
@@ -235,6 +237,7 @@ if [ $fail = "yes" -o \
-z "$INDEXFILE" -o \
-z "$ORDERFILE" -o \
-z "$BROKENFILE" -o \
+ -z "$BROKENWRKLOG" -o \
-z "$BUILDLOG" -o \
-z "$STARTFILE" -o \
-z "$AWK" -o \
diff --git a/mk/bulk/post-build b/mk/bulk/post-build
index b47e1fd3fee..0d9d2dc6620 100644
--- a/mk/bulk/post-build
+++ b/mk/bulk/post-build
@@ -1,5 +1,5 @@
#!/usr/pkg/bin/perl
-# $NetBSD: post-build,v 1.45 2004/07/15 11:57:26 grant Exp $
+# $NetBSD: post-build,v 1.46 2004/11/16 18:34:12 jlam Exp $
#
# Collect stuff after a pkg bulk build
#
@@ -42,10 +42,11 @@ $reportf=basename($REPORT);
chomp($os=`uname -s`);
-# Extract the name of the files used for the build log and broken build log.
+# Extract the names of the files used for the build log and broken build logs.
# These have defaults set by bsd.bulk-pkg.mk and may be overridden in
# /etc/mk.conf
chomp($BROKENFILE=`( cd $USR_PKGSRC/pkgtools/pkglint ; $ENV{"BMAKE"} show-var VARNAME=BROKENFILE )`);
+chomp($BROKENWRKLOG=`( cd $USR_PKGSRC/pkgtools/pkglint ; $ENV{"BMAKE"} show-var VARNAME=BROKENWRKLOG )`);
# Also extract the names of the cache files used during the bulk build. We'll
# save a copy of those to help debug if the build messed up.
@@ -92,7 +93,7 @@ system("mkdir -p ${FTP}");
# Copy over the output from the build process
chdir($USR_PKGSRC);
-system("find . -name $BROKENFILE -print | $GTAR -T - -plcf - | (cd $FTP; $GTAR -plxf -)");
+system("find . -name $BROKENFILE -o -name $BROKENWRKLOG -print | $GTAR -T - -plcf - | (cd $FTP; $GTAR -plxf -)");
# Copy over the cache files used during the build
foreach my $f ($BULK_DBFILE, $DEPENDSTREEFILE, $DEPENDSFILE, $SUPPORTSFILE, $INDEXFILE, $ORDERFILE) {
diff --git a/mk/bulk/pre-build b/mk/bulk/pre-build
index d14d8bf9c40..e941f9a946c 100644
--- a/mk/bulk/pre-build
+++ b/mk/bulk/pre-build
@@ -1,5 +1,5 @@
#!/bin/sh
-# $NetBSD: pre-build,v 1.39 2004/04/19 23:09:55 seb Exp $
+# $NetBSD: pre-build,v 1.40 2004/11/16 18:34:12 jlam Exp $
#
# Clean up system to be ready for bulk pkg build
#
@@ -30,6 +30,11 @@ if [ "$BROKENF" = "" ]; then
echo "Had problems determining the name of the .broken files"
exit 1
fi
+BRKWRKLOG=`( cd ${PKGLINT_PKG_DIR} ; ${BMAKE} show-var VARNAME=BROKENWRKLOG )`;
+if [ "$BRKWRKLOG" = "" ]; then
+ echo "Had problems determining the name of the .broken.work files"
+ exit 1
+fi
BLDLOG=`( cd ${PKGLINT_PKG_DIR} ; ${BMAKE} show-var VARNAME=BUILDLOG )`;
if [ "$BLDLOG" = "" ]; then
echo "Had problems determining the name of the .make files"
@@ -131,6 +136,7 @@ rm -fr /tmp/mod*
# Clean up state files
cd ${USR_PKGSRC}
rm -f $BROKENF */*/$BROKENF
+rm -f $BRKWRKLOG */*/$BRKWRKLOG
rm -f $BLDLOG */*/$BLDLOG
rm -f $STARTFILE