#!/bin/sh

# Create signed release tarballs and signature files from current svn.
# Since you don't have my gpg key, this doesn't do you much good,
# but if I get hit by a bus the next maintainer might find this useful.
# Run this in an empty directory.  The VERSION= line can get confused
# otherwise.

#svn co svn://busybox.net/trunk/busybox
cd busybox || { echo "cd busybox failed"; exit 1; }
make release || { echo "make release failed"; exit 1; }
cd ..

VERSION=`ls busybox-*.tar.gz | sed 's/busybox-\(.*\)\.tar\.gz/\1/'`

zcat busybox-$VERSION.tar.gz | bzip2 > busybox-$VERSION.tar.bz2

test -f busybox-$VERSION.tar.gz || { echo "no busybox-$VERSION.tar.gz"; exit 1; }
test -f busybox-$VERSION.tar.bz2 || { echo "no busybox-$VERSION.tar.bz2"; exit 1; }

signit()
{
echo "$1 released `date -r $1 -R`

MD5:  `md5sum $1`
SHA1: `sha1sum $1`

To verify this signature, you can obtain my public key
from http://busybox.net/~vda/vda_pubkey.gpg
" | gpg --clearsign > "$1.sign"
}

signit busybox-$VERSION.tar.gz
signit busybox-$VERSION.tar.bz2
