You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by jm...@apache.org on 2010/03/16 15:29:05 UTC
svn commit: r923753 - /spamassassin/trunk/build/repackage_latest_update_rules
Author: jm
Date: Tue Mar 16 14:29:05 2010
New Revision: 923753
URL: http://svn.apache.org/viewvc?rev=923753&view=rev
Log:
attempt at a repackaging script which automates taking the latest update and republishing it as the release rules tgz
Added:
spamassassin/trunk/build/repackage_latest_update_rules (with props)
Added: spamassassin/trunk/build/repackage_latest_update_rules
URL: http://svn.apache.org/viewvc/spamassassin/trunk/build/repackage_latest_update_rules?rev=923753&view=auto
==============================================================================
--- spamassassin/trunk/build/repackage_latest_update_rules (added)
+++ spamassassin/trunk/build/repackage_latest_update_rules Tue Mar 16 14:29:05 2010
@@ -0,0 +1,88 @@
+#!/bin/sh
+
+umask 002
+
+srcdir=`pwd`
+tmpdir=$srcdir/tmp/rulesdir.$$
+rm -rf $tmpdir; mkdir -p $tmpdir || exit $?
+
+
+PERL=${PERL:-perl}
+
+RELDIR=$HOME/public_html/devel
+mkdir -p $RELDIR
+
+DISTNAME=Mail-SpamAssassin-rules
+make || perl Makefile.PL < /dev/null || exit $?
+make || exit $?
+make version.env || exit $?
+. ./version.env
+
+# "3.1.0-pre2-r202405" should appear as "3.1.0-pre2" after this
+VERSION=`echo $FULL_VERSION | perl -pe 's/-(r\d+)$//'`
+SVNVER=`svn info | perl -ne '/Revision: (\d+)/ and print $1'`
+DISTVNAME=$DISTNAME-$VERSION.r$SVNVER
+DISTVBASE=$DISTNAME-$VERSION
+
+set -e
+
+./sa-update.raw --updatedir $tmpdir --debug > $tmpdir/o 2>&1 || true
+tgzbase=`perl -ne '/parsed as (\d{5,})$/ and print $1' < $tmpdir/o`
+
+if [ "$tgzbase" = "" ] ; then
+ echo "cannot find 'parsed as' line in $tmpdir/o"
+ exit 1
+fi
+
+MIRROR=http://buildbot.spamassassin.org/updatestage/
+
+wget -O $tmpdir/rules.tgz $MIRROR/$tgzbase.tar.gz
+wget -O $tmpdir/rules.tgz.sha1 $MIRROR/$tgzbase.tar.gz.sha1
+wget -O $tmpdir/rules.tgz.asc $MIRROR/$tgzbase.tar.gz.asc
+
+# ensure non-empty
+[ -s $tmpdir/rules.tgz ] || exit 3
+
+linttmp=$tmpdir/lintdir
+rm -rf $linttmp
+mkdir $linttmp
+(
+ cd $linttmp
+ # check validity of tarball; also extract
+ gunzip -cd < $tmpdir/rules.tgz | tar xf - || exit $?
+)
+
+sitetmp=$tmpdir/sitetmp
+rm -rf $sitetmp
+mkdir $sitetmp
+cp rules/*.pre $sitetmp
+
+# now, ensure the ruleset (entirely as distributed) lints, also.
+# use "-p /dev/null" so any user_prefs data is ignored.
+./spamassassin -x --configpath=$linttmp --siteconfigpath=$sitetmp \
+ -p /dev/null --lint \
+ || exit $?
+
+mv $tmpdir/rules.tgz.sha1 $tmpdir/rules.tgz.sha1.orig
+
+(
+ cd $tmpdir
+ ln rules.tgz $DISTVNAME.tgz
+ $PERL $srcdir/build/md5sum.pl $DISTVNAME.tgz > rules.tgz.md5 || exit $?
+ # rebuild the SHA1 sum
+ $PERL $srcdir/build/sha1sum.pl $DISTVNAME.tgz > rules.tgz.sha1 || exit $?
+)
+
+cmp $tmpdir/rules.tgz.sha1 $tmpdir/rules.tgz.sha1.orig || exit $?
+
+for ext in tgz tgz.md5 tgz.sha1 tgz.asc ; do
+ rm -f $RELDIR/$DISTVBASE.*.$ext
+ if [ -f $tmpdir/rules.$ext ] ; then
+ mv $tmpdir/rules.$ext $RELDIR/$DISTVNAME.$ext
+ ls -l $RELDIR/$DISTVNAME.$ext
+ fi
+done
+
+chgrp -R spamassassin $RELDIR
+rm -rf $tmpdir
+
Propchange: spamassassin/trunk/build/repackage_latest_update_rules
------------------------------------------------------------------------------
svn:executable = *