www.nico.schottelius.org/software/cinit/browse_source/cinit-0.3pre10/scripts/internal/cinit.release

75 lines
1.9 KiB
Text
Raw Normal View History

#!/bin/sh
# Nico Schottelius
# Build release tar
# Date: Sat Oct 15 21:38:29 CEST 2005
# Last Changed: ls -l
# only release if I tell it to release
[ "$1" = "now" ] || exit 23
#if [ $# -ne 2 ]; then
# echo "This is a maintainer-only script to release cinit"
# echo $(basename $0): source-dir version
# exit 1
#fi
set -x
# paths
DIR="$(cd $(dirname $0)/../../; pwd -P)"
DDIR="$(cd $(dirname $0)/../../../; pwd -P)"
RDIR=$(basename "$DIR")
# version
VERSION="$(cd "$DIR"; pwd -P | sed 's;.*/cinit-;;')"
VERSION_CONF="$(head -n1 $(dirname $0)/../../conf/version | sed 's/^"\(.*\)"$/\1/')"
VERSION_CHANGES="$(head -n1 "$(dirname $0)/../../CHANGES" | sed 's/cinit-\(.*\):$/\1/')"
OUT_NAME="cinit-${VERSION}.tar.bz2"
# remote
D_HOST=home.schottelius.org
D_BASE=www/org/schottelius/unix/www/cinit
D_DIR=${D_BASE}/archives/
D_SOURCE=${D_BASE}/browse_source/
LINK=current
echo "=> Version directory: $VERSION"
echo "=> Version conf/version: $VERSION_CONF"
echo "=> Version CHANGES: $VERSION_CHANGES"
if [ "$VERSION" = "$VERSION_CONF" -a "$VERSION" = "$VERSION_CHANGES" ]; then
echo "=> Version confirmed."
else
echo "*** VERSION MISMATCH ***"
exit 42
fi
echo -n "=> Continue? "
read yes
if [ ! -d "$DIR" ]; then
echo "$DIR is not a directory"
exit 1
fi
# do the work!
( cd "$DIR" && make dist ) || exit 1
echo "Creating bzip2 compressed tar"
cd $DDIR
tar cj -X $DIR/.exclude -f "$OUT_NAME" "$RDIR"
chmod 0644 "$OUT_NAME"
echo "Transfering to $D_HOST"
scp "$OUT_NAME" "$D_HOST:$D_DIR"
echo "Extracting to $D_SOURCE"
ssh "$D_HOST" "tar xfj $D_DIR/$OUT_NAME -C $D_SOURCE"
echo "Correcting paranoid permissions"
ssh "$D_HOST" "find \"$D_SOURCE/$RDIR\" -type f -exec chmod 0644 {} \\;"
ssh "$D_HOST" "find \"$D_SOURCE/$RDIR\" -type d -exec chmod 0755 {} \\;"
ssh "$D_HOST" "cd \"$D_SOURCE\" && rm -f \"$LINK\" && ln -s \"$RDIR\" \"$LINK\""
echo "Please do not forget to update the website..."