[Python-checkins] r54884 - python/trunk/Misc/build.sh

neal.norwitz python-checkins at python.org
Fri Apr 20 07:20:40 CEST 2007


Author: neal.norwitz
Date: Fri Apr 20 07:20:38 2007
New Revision: 54884

Modified:
   python/trunk/Misc/build.sh
Log:
Add an optional address to copy the failure mails to.

Detect a conflict in the only file that should have outstanding changes
when this script is run.  This doesn't matter on the trunk, but does
when run on a branch.  Trunk always has the date set to today in
boilerplate.tex.  Each time a release is cut with a different date,
a conflict occurs.  (We could copy a known good version, but then
we would lose changes to this file.)


Modified: python/trunk/Misc/build.sh
==============================================================================
--- python/trunk/Misc/build.sh	(original)
+++ python/trunk/Misc/build.sh	Fri Apr 20 07:20:38 2007
@@ -47,6 +47,7 @@
 FAILURE_SUBJECT="Python Regression Test Failures"
 #FAILURE_MAILTO="YOUR_ACCOUNT at gmail.com"
 FAILURE_MAILTO="python-checkins at python.org"
+#FAILURE_CC="optional--uncomment and set to desired address"
 
 REMOTE_SYSTEM="neal at dinsdale.python.org"
 REMOTE_DIR="/data/ftp.python.org/pub/docs.python.org/dev/"
@@ -91,7 +92,12 @@
 
 mail_on_failure() {
     if [ "$NUM_FAILURES" != "0" ]; then
-        mutt -s "$FAILURE_SUBJECT $1 ($NUM_FAILURES)" $FAILURE_MAILTO < $2
+        dest=$FAILURE_MAILTO
+        # FAILURE_CC is optional.
+        if [ "$FAILURE_CC" != "" ]; then
+            dest="$dest -c $FAILURE_CC"
+        fi
+        mutt -s "$FAILURE_SUBJECT $1 ($NUM_FAILURES)" $dest < $2
     fi
 }
 
@@ -208,8 +214,19 @@
 cd $DIR/Doc
 F="make-doc.out"
 start=`current_time`
-make >& ../build/$F
-err=$?
+# Doc/commontex/boilerplate.tex is expected to always have an outstanding
+# modification for the date.  When a release is cut, a conflict occurs.
+# This allows us to detect this problem and not try to build the docs
+# which will definitely fail with a conflict. 
+CONFLICTED_FILE=commontex/boilerplate.tex
+conflict_count=`grep -c "<<<" $CONFLICTED_FILE`
+if [ $conflict_count != 0 ]; then
+    echo "Conflict detected in $CONFLICTED_FILE.  Doc build skipped." > ../build/$F
+    err=1
+else
+    make >& ../build/$F
+    err=$?
+fi
 update_status "Making doc" "$F" $start
 if [ $err != 0 ]; then
     NUM_FAILURES=1


More information about the Python-checkins mailing list