cron-script.sh
author laca
Fri, 18 Jul 2003 02:00:18 +0000
changeset 647 116c76d09aa5
parent 646 79a4079b3cab
child 648 4db632d73e31
permissions -rwxr-xr-x
*** empty log message ***

#!/bin/bash

SPECDIR=/gnome/spec-files
RHOST=blader
RUSER=gbuild
RPMSDIR=/sgnome/pkgs/gnome-2.2/rpms/nightly
SRPMSDIR=/sgnome/pkgs/gnome-2.2/srpms/nightly
[email protected]
[email protected]
DATE_FMT="%y%m%d"
MYNAME="$0"

clean_up () {
  case "$MYNAME" in
  /tmp/cron-script.copy.* )
        rm -f $MYNAME
        ;;
  esac
}

trap clean_up HUP INT TERM QUIT EXIT

case "$MYNAME" in
    /tmp/cron-script.copy.* )
        ;;
    *)
        cp $MYNAME /tmp/cron-script.copy.$$
        chmod 755 /tmp/cron-script.copy.$$
        cd /tmp
        exec /tmp/cron-script.copy.$$
        ;;
esac


DATE=`date +$DATE_FMT`

fatal_error () {
  echo "ERROR: $*"
  exit 1
}

cd $SPECDIR || fatal_error "$SPECDIR not found"

cvs -q up -Pd > /dev/null 2>&1 || fatal_error "CVS update failed"

if ! /usr/bin/cmp -s ./cron-script.sh $MYNAME; then exec ./cron-script.sh; fi

rm -f GNOME*Template*.spec

./build-gnome2 -q uninstall-pkgs *.spec

rm -f /usr/src/packages/SRPMS/* /usr/src/packages/RPMS/*/*

WEBROOT=/scde/web/docs
WEBDIR=gnome/releng/2.2/mercury/nightly
LOGDIR=$WEBROOT/`date +%Y-%m-%d`
mkdir -p $WEBDIR/$LOGDIR

./build-gnome2 -v --nightly --date "$DATE" build *.spec \
        --logdir=$WEBROOT/$LOGDIR \
        --logdir-url=`date +%Y-%m-%d` \
        --summary-log=$WEBROOT/$LOGDIR.html \
        --summary-title="Nightly Build Report `date +'%d %B %Y'`" \
        --rpm-url=file:///net/dtserv1.ireland/dtserv1/sgnome/buildenv/sgnome/pkgs/gnome-2.2/rpms/nightly \
        --srpm-url=file:///net/dtserv1.ireland/dtserv1/sgnome/buildenv/sgnome/pkgs/gnome-2.2/srpms/nightly  > /tmp/build.log.$$ 2>&1

FAILED=$?

echo '' | rsh $RHOST -l $RUSER "rm -f $RPMSDIR/*"
echo '' | rcp `./build-gnome2 --nightly --date "$DATE" install-order --full-path \
    *.spec` $RUSER@$RHOST:$RPMSDIR

echo '' | rsh $RHOST -l $RUSER "rm -f $SRPMSDIR/*"
echo '' | rcp /usr/src/packages/SRPMS/*.$DATE.src.rpm \
	$RUSER@$RHOST:$SRPMSDIR

ALL_REPORTS=$WEBROOT/$WEBDIR/all_reports.html
touch $ALL_REPORTS

cp $ALL_REPORTS $ALL_REPORTS.old
export FAILED ALL_REPORTS

( echo "<TR><TD><A HREF=/$LOGDIR.html>`date +%Y-%m-%d`</A></TD>"; \
  echo "    <TD>$FAILED package(s) failed</TD></TR>"; \
  cat $ALL_REPORTS.old ) > $ALL_REPORTS

cat /tmp/build.log.$$ | \
    mail -s "mercury nightly build: $FAILED pkgs failed" \
         -R $REPLY_TO $EMAIL_ADDR

rm -f /tmp/build.log.$$

exit 0