blob: e777d7c75dcb9e40d0f7eba17303f9641d0b9977 [file] [log] [blame]
#!/bin/sh
# Cron script for "release". See "backend/nitemc/crontab.txt"
RSYNC_DIR=/home/corpus-rsync/tagged_builds
REPO_URL=http://svn.apache.org/repos/asf/spamassassin/trunk
PERL=/local/perl586/bin/perl
SVN=/opt/subversion-current/bin/svn
type="$1"
versfile="$2"
if [ -z "$type" ]; then
echo "Type not specified" >&2
exit 1
fi
if [ ! -f $versfile ]; then
echo "Version file not specified" >&2
exit 1
fi
subdir=${type}_mass_check
set -ex
echo "Type: $type"
echo "Version File: $versfile"
echo "Subdir: $subdir"
REV=`tail -1 $versfile | awk '{print $2}'`
echo "Revision: $REV"
for retry in 1 2 3 4 5 6 7 8 9 10 ; do
# export the main repo:
rm -rf $RSYNC_DIR/$subdir
echo Command: $SVN export --non-interactive \
-r $REV $REPO_URL $RSYNC_DIR/$subdir
$SVN export --non-interactive -r $REV $REPO_URL $RSYNC_DIR/$subdir \
|| continue
cd $RSYNC_DIR/$subdir
$PERL build/mkrules --out rules > /dev/null || continue
# create "svn info" file for mass-check
# we assume that the current directory was updated via cron to the correct
# revision, so just info it. (can't do remote info with the svn version
# installed on the zones machine, nor will it accept "--non-interactive")
$SVN info $HOME/versions/trunk \
> $RSYNC_DIR/$subdir/masses/svninfo.tmp \
< /dev/null || continue
exit # assume success at this point
done
echo "FAILED to extract to rsync dir" 1>&2
exit 2