Location: steve@xxxxxxxxxxxxxxxxx http://arch.sxemacs.org/2008/
Revision: sxemacs--main--22.1.9--patch-142
Archive: steve@xxxxxxxxxxxxxxxxx
Creator: Steve Youngs <steve@xxxxxxxxxxx>
Date: Mon Jun 2 19:04:21 EST 2008
Standard-date: 2008-06-02 09:04:21 GMT
Modified-files: contrib/do_builds.sh
contrib/report-build-failure.sh
New-patches: njsf@xxxxxxxxxxxxxxxxx/sxemacs--njsf--22.1.9--patch-180
njsf@xxxxxxxxxxxxxxxxx/sxemacs--njsf--22.1.9--patch-181
njsf@xxxxxxxxxxxxxxxxx/sxemacs--njsf--22.1.9--patch-182
njsf@xxxxxxxxxxxxxxxxx/sxemacs--njsf--22.1.9--patch-183
njsf@xxxxxxxxxxxxxxxxx/sxemacs--njsf--22.1.9--patch-184
njsf@xxxxxxxxxxxxxxxxx/sxemacs--njsf--22.1.9--patch-185
njsf@xxxxxxxxxxxxxxxxx/sxemacs--njsf--22.1.9--patch-186
steve@xxxxxxxxxxxxxxxxx/sxemacs--main--22.1.9--patch-142
Summary: Merged from njsf (patch 180-186) -- contrib updates
Keywords: merge, bugfix, enhancement, update
Patches applied:
* njsf@xxxxxxxxxxxxxxxxx/sxemacs--njsf--22.1.9--patch-180
Contrib updates
* njsf@xxxxxxxxxxxxxxxxx/sxemacs--njsf--22.1.9--patch-181
Contrib updates
* njsf@xxxxxxxxxxxxxxxxx/sxemacs--njsf--22.1.9--patch-182
report-build-failure uuencode detection fix
* njsf@xxxxxxxxxxxxxxxxx/sxemacs--njsf--22.1.9--patch-183
Another small bugfix for uuencode in report-build-failure.sh
* njsf@xxxxxxxxxxxxxxxxx/sxemacs--njsf--22.1.9--patch-184
The final fix for uuencode in report-build-failure.
* njsf@xxxxxxxxxxxxxxxxx/sxemacs--njsf--22.1.9--patch-185
do_builds.sh "no make" and "false build failure" fixes
* njsf@xxxxxxxxxxxxxxxxx/sxemacs--njsf--22.1.9--patch-186
do_builds.sh cosmetic
* added files
{arch}/sxemacs/sxemacs--main/sxemacs--main--22.1.9/steve@xxxxxxxxxxxxxxxxx/patch-log/patch-142
{arch}/sxemacs/sxemacs--njsf/sxemacs--njsf--22.1.9/njsf@xxxxxxxxxxxxxxxxx/patch-log/patch-180
{arch}/sxemacs/sxemacs--njsf/sxemacs--njsf--22.1.9/njsf@xxxxxxxxxxxxxxxxx/patch-log/patch-181
{arch}/sxemacs/sxemacs--njsf/sxemacs--njsf--22.1.9/njsf@xxxxxxxxxxxxxxxxx/patch-log/patch-182
{arch}/sxemacs/sxemacs--njsf/sxemacs--njsf--22.1.9/njsf@xxxxxxxxxxxxxxxxx/patch-log/patch-183
{arch}/sxemacs/sxemacs--njsf/sxemacs--njsf--22.1.9/njsf@xxxxxxxxxxxxxxxxx/patch-log/patch-184
{arch}/sxemacs/sxemacs--njsf/sxemacs--njsf--22.1.9/njsf@xxxxxxxxxxxxxxxxx/patch-log/patch-185
{arch}/sxemacs/sxemacs--njsf/sxemacs--njsf--22.1.9/njsf@xxxxxxxxxxxxxxxxx/patch-log/patch-186
* modified files
--- orig/contrib/do_builds.sh
+++ mod/contrib/do_builds.sh
@@ -80,9 +80,9 @@
mkdir -p ./++TAGS
CURDIR="$(pwd)"
cd ./++TAGS
- eval "${PREFIX}/configure" || STATUS=FAIL_CONFIGURE
+ eval "${PREFIX}/configure" || STATUS="FAIL_CONFIGURE_$?"
if [ -z "${STATUS}" ]; then
- make tags || STATUS=FAIL_TAGS
+ make tags || STATUS="FAIL_TAGS_$?"
fi
cd "$CURDIR"
fi
@@ -105,20 +105,20 @@
mkdir -p "./${build_name}"
CURDIR="$(pwd)"
cd "./${build_name}"
- eval "${PREFIX}/configure ${CONF_OPTS}" || STATUS=FAIL_CONFIGURE
- if [ -z "$STATUS" ]; then
- eval "make ${MAKE_ARGS}" && STATUS=Success || STATUS=FAIL_MAKE
- if [ -f src/sxemacs -a -f src/.libs/lt-sxemacs ]; then
- # Whatever status was, remains
- # Done this way just to make sure no precedence bug
- # screws this...
- echo
+ eval "${PREFIX}/configure ${CONF_OPTS}" || STATUS="FAIL_CONFIGURE_$?"
+ if [ -z "${STATUS}" -o "${STATUS}" = "FAIL_CONFIGURE_0" ]; then
+ STATUS=Success
+ make ${MAKE_ARGS} || STATUS="FAIL_MAKE_$?"
+ if egrep '^make.*:.*Error' ,,beta.out; then
+ STATUS="${STATUS}_ERROR_IN_BUILD"
else
- STATUS=FAIL_MAKE
+ if [ -f ,,make-check.out -a ! "${STATUS}" = "Success" ]; then
+ STATUS="Tests fail"
+ fi
fi
fi
- if [ "${REPORT_STATUS}" == "Yes" -o "${REPORT_STATUS}" == "Y" ]; then
- if [ "${STATUS}" = "Success" ]; then
+ if [ "${REPORT_STATUS}" = "Yes" -o "${REPORT_STATUS}" = "Y" ]; then
+ if [ "${STATUS}" = "Success" -o "${STATUS}" = "Tests fail" ]; then
CLI=""
if [ -n "${MAIL_FROM}" ]; then
CLI="${CLI} -eval '(setq user-mail-address \"$MAIL_FROM\")'"
@@ -126,10 +126,13 @@
if [ -n "$MAIL_SUCCESS_TO" ]; then
CLI="${CLI} -eval '(setq build-rpt-email
\"${MAIL_SUCCESS_TO}\")'"
fi
- CLI="${CLI} -eval '(send-build-rpt \"${STATUS}\")' -eval
'(kill-emacs)'"
- eval "src/sxemacs -batch ${CLI}"
+ CLI="${CLI} -eval '(send-build-rpt \"${STATUS}\")' -eval
'(kill-emacs 0)'"
+ eval "src/sxemacs -batch ${CLI}" || DO_REPORT_FAILURE="YES"
else
- eval "${PREFIX}/contrib/report-build-failure.sh \"${MAIL_FROM}\"
\"${MAIL_FAILURE_TO}\" "
+ DO_REPORT_FAILURE="YES"
+ fi
+ if [ "${DO_REPORT_FAILURE}" = "YES" ]; then
+ ${PREFIX}/contrib/report-build-failure.sh "${MAIL_FROM}"
"${MAIL_FAILURE_TO}" "${STATUS}"
fi
fi
cd "$CURDIR"
--- orig/contrib/report-build-failure.sh
+++ mod/contrib/report-build-failure.sh
@@ -17,6 +17,28 @@
type tar >/dev/null 2>&1 && TAR=tar
type cat >/dev/null 2>&1 && CAT=cat
type base64 >/dev/null 2>&1 && BASE64=base64
+type sed >/dev/null 2>&1 && SED=sed
+FILTER=cat
+ENCODING=base64
+attachment="build-failure-$FROM.tar.gz"
+if [ -z "${BASE64}" ]; then
+ type uuencode >/dev/null 2>&1 && BASE64=uuencode
+ if [ -n "${BASE64}" ]; then
+ if [ -z "${SED}" ]; then
+ echo "sed was not found and is required when base64 is replaced by
uuencode"
+ exit 1
+ fi
+ # Test if this uuencode can actually base64 encode like
+ # in BSD's and MacOS
+ FILTER="${SED} -e s/^begin.*644.*\$// -e s/^end\$// -e s/^====\$// -e
/^\$/d "
+ if [ -n "$(echo test | ${BASE64} -m test 2>/dev/null )" ]; then
+ BASE64="${BASE64} -m ${attachment}"
+ else
+ ENCODING=uuencode
+ BASE64="${BASE64} ${attachment}"
+ fi
+ fi
+fi
if [ -n "$2" ]; then
REPORT_DEST=$2
fi
@@ -25,6 +47,8 @@
SENDMAIL=/usr/lib/sendmail
elif [ -x /usr/sbin/sendmail ]; then
SENDMAIL=/usr/sbin/sendmail
+ elif [ -x /sw/sbin/sendmail ]; then
+ SENDMAIL=/sw/sbin/sendmail
else
echo "Cannot find sendmail."
exit 1
@@ -35,7 +59,8 @@
exit 1
fi
if [ -z "${BASE64}" -o -z "${TAR}" -o -z "${SENDMAIL}" -o -z "${GREP}" -o -z
"${CAT}" ]; then
- echo "Could not find one or more of grep sendmail tar base64 cat"
+ echo "Could not find one or more of grep (${GREP}), sendmail
(${SENDMAIL}),"
+ echo "\t tar (${TAR}), base64 (${BASE64}), cat (${CAT})"
exit 1
fi
if [ ! -f ./config.log -o -z "$(${GREP} -i sxemacs ./config.log)" ]; then
@@ -67,10 +92,13 @@
FILES="$FILES $f"
fi
done
-SUBJECT="[BUILD FAILURE] Version $VERSION on $CONFGUESS [$MACHTYPE]"
+STATUS=$3
+if [ -z "${STATUS}" ]; then
+ STATUS="BUILD FAILURE"
+fi
+SUBJECT="[${STATUS}] Version $VERSION on $CONFGUESS [$MACHTYPE] [@$(pwd)]"
MIME="application/x-gzip"
boundary="--sxemacs--failure--$$--"
-attachment="build-failure-$FROM.tar.gz"
KEEP=( \
[0]="^(cd|n?make)[:blank:]" \
[1]="errors?" \
@@ -192,9 +220,9 @@
--$boundary
Content-Type: $MIME;name="$attachment"
Content-Disposition: attachment;filename="$attachment"
-Content-Transfer-Encoding: base64
+Content-Transfer-Encoding: $ENCODING
EOF
-${TAR} czf - $FILES | base64
+${TAR} czf - $FILES | ${BASE64} | ${FILTER}
echo ""
echo "--$boundary--" ) | $SENDMAIL -t
|