This is a quick doc I wrote up and used for 3.1 updates, it's possible to not be complete. - tvd
- make a tar file that you're happy with (#.tar.gz) make sure that you only include files! ie:
tar cf #.tar *
and not
tar cf #.tar .
- if you want, double check files-only with:
tar tvvf #.tar
- compress the tar file with
gzip -9
- log into the zones machine
sudo -u updatesd -s
- copy the tar file into /var/www/buildbot.spamassassin.org/updatestage
- generate the sha1 and gpg files appropriately:
/local/gnupg-1.4.2/bin/gpg --batch --homedir /home/updatesd/key -bas #.tar.gz /local/perl586/bin/perl /home/updatesd/svn/spamassassin/build/sha1sum.pl #.tar.gz > #.tar.gz.sha1
- make sure the file permissions for #.tar.gz.* are set to 0444:
chmod 0444 #.tar.gz.*
- update /var/named/updates.spamassassin.org.d/3.1.0 with #
- run /home/updatesd/svn/spamassassin/build/mkupdates/tick_zone_serial
As Commands
tvd – here's the script I run as updatesd on the zones machine that does all of this stuff for you. Note: I lint check before running this script, ...
Run a lint:
cd ~/b31 perl Makefile.PL; make ./spamassassin -C ./rules-3.1 -p /nonexistent --siteconfigpath=/nonexistent --lint
Quit here if that lint check fails.
#!/bin/bash if [ "$USER" != "updatesd" ]; then echo "Need to be updatesd!" >&2 exit 2 fi DIR=/tmp/upd-$$ rm -rf $DIR || exit 1 svn -q co http://svn.apache.org/repos/asf/spamassassin/rules/branches/3.1 $DIR || exit 1 V=`svnversion $DIR` cd $DIR tar cf /tmp/$V.tar * cd /tmp rm -rf $DIR gzip -9 $V.tar cd /var/www/buildbot.spamassassin.org/updatestage rm -f $V.tar.gz* mv /tmp/$V.tar.gz . /local/gnupg-1.4.2/bin/gpg --batch --homedir /home/updatesd/key -bas $V.tar.gz /local/perl586/bin/perl /home/updatesd/svn/spamassassin/build/sha1sum.pl $V.tar.gz > $V.tar.gz.sha1 chmod 0444 $V.tar.* echo '0.1.3 A 127.0.0.1' > /var/named/updates.spamassassin.org.d/3.1.0 echo '*.1.3 TXT "'$V'"' >> /var/named/updates.spamassassin.org.d/3.1.0 /home/updatesd/svn/spamassassin/build/mkupdates/tick_zone_serial