gnupg/scripts/mksnapshot

80 lines
1.5 KiB
Bash
Executable File

#!/bin/sh
# Make a snapshot of the CVS head revision
exec >>/home/koch/mksnapshot.log 2>&1
echo "Started at `date`."
set -e
ftp_dir=$1
cd $HOME/pub
PATH="$HOME/bin:$PATH"
fix_version () {
version=$(cat $1/VERSION)
echo "$version-snap$(date +%Y-%m-%d)" >$1/VERSION
cat <<EOF >$1/SNAPSHOT
WARNING!
This is a snapshot of the current CVS head branch!
It may not compile or not work. Please don't report
bugs about this snapshot release it is just for your
convenience and to reduce the load of out CVS server.
Thanks,
Werner
EOF
}
build_dist () {
set +e
nice scripts/autogen.sh && nice ./configure && nice make dist
if ! awk '
/^diff gnupg-snapshot\/VERSION/ { getline; getline; getline; getline; next }
/^Common subdirectories:/ { next }
/~$/ { next }
{ exit 1 }
' ; then
# Okay, we have some changes and it is not only the version number
rm $ftp_dir/gnupg-*snap*-*-*.tar.gz
mv gnupg-*.tar.gz $ftp_dir/
fi
make distclean
set -e
}
do_export () {
pgm=$1
mod=$2
rm -rf $pgm.new || true
rm -rf $pgm.old || true
cvs -Q export -r HEAD -d $pgm.new $mod
fix_version $pgm.new
if [ -n "$ftp_dir" ]; then
here=$(pwd)
cd $pgm.new
build_dist
cd $here
fi
[ -d $pgm ] && mv $pgm $pgm.old
if ! mv $pgm.new $pgm ; then
echo "rename failed - restoring" >&2
mv $pgm.old $pgm
exit 1
fi
rm -rf $pgm.old || true
}
do_export gnupg-snapshot gnupg
echo "Ended at `date`."
exit 0