blob: 5bdd8821358bf791b52a087bd1d0564fa34adc81 [file] [log] [blame]
#!/bin/bash
# revert-stable-update
# script to revert sa-update stable updates to an existing version
# for use in an emergency to revert rule updates after the release
# of a bad rule update
#
# note: this is just a wrapper to call mkupdate-with-scores with the
# proper parameters to do the reversion
# mkupdate-with-scores does the reversion because the update needs
# to be tested to work with each of the stable .x versions and each
# .x version's DNS needs to be updated accordingly
#
# USAGE:
#
# 1. Decide that there's a need to revert to a previous update that
# is generally known to be good.
#
# 2. Login to spamassassin.zones.apache.org
#
# 3. sudo su - updatesd
#
# 4. /home/updatesd/svn/mkupdates-with-scores/revert-stable-update 1234567
#
# The script will copy the supplied update version 1234567 to a new
# update version in order that it will superseed the current update.
# It will then test that it works with each stable .x version and
# then update DNS records accordingly. A cron job will be set to
# update DNS in 16 minutes after completion of testing to give the
# mirrors time to update.
. /etc/profile
PATH=/home/jm/sabuildtools/bin:$PATH
cd /home/updatesd/svn/mkupdates-with-scores
set -e
umask 022
UPDATEDIR=/var/www/buildbot.spamassassin.org/updatestage
if [ ! $1 ]; then
echo "Stable updates from the last 60 days"
find $UPDATEDIR -name '*.gz' -perm 0544 -mtime -60 -exec ls -l {} \;
echo "Additional older updates available:"
find $UPDATEDIR -name '*.gz' -perm 0544 -mtime +60 -exec ls -l {} \; | wc -l
echo ""
echo "Usage: ./revert-stable-update 1234567"
fi
if [ ! -f $UPDATEDIR/$1.tar.gz -a ! -f $UPDATEDIR/$1.tar.gz.asc -a ! -f $UPDATEDIR/$1.tar.gz.sha1 -a ! -f $UPDATEDIR/$1.tar.gz.sha256 -a ! -f $UPDATEDIR/$1.tar.gz.sha512 ]; then
echo "Could not find update files for update revision $1"
fi
if [ $2 ]; then
TWO=$2
else
TWO=0
fi
if [ $3 ]; then
THREE=$3
else
THREE=0
fi
if [ $4 ]; then
FOUR=$4
else
FOUR=0
fi
./mkupdate-with-scores $TWO $THREE $FOUR $1