libreccm-legacy/tools-legacy/tools/make-release.sh

84 lines
2.1 KiB
Bash
Executable File

#!/bin/sh
TAGNAME=RELEASE
VERSION=`grep VERSION= configure.in | sed -e 's/VERSION=//'`
RELEASE=`grep RELEASE= configure.in | sed -e 's/RELEASE=//'`
OLD_VERSION=$VERSION
OLD_RELEASE=$RELEASE
MAJOR=`echo $OLD_VERSION | awk -F . '{print $1}'`
MINOR=`echo $OLD_VERSION | awk -F . '{print $2}'`
REVISION=`echo $OLD_VERSION | awk -F . '{print $3}'`
NEXT_MAJOR=`expr $MAJOR + 1`
NEXT_MINOR=`expr $MINOR + 1`
NEXT_REVISION=`expr $REVISION + 1`
NEXT_RELEASE=`expr $RELEASE + 1`
NEW_MAJOR="${NEXT_MAJOR}.0.0"
NEW_MINOR="${MAJOR}.${NEXT_MINOR}.0"
NEW_REVISION="${MAJOR}.${MINOR}.${NEXT_REVISION}"
CONFIRM=x
while test "$CONFIRM" != 'y' -a "$CONFIRM" != 'Y'
do
echo
echo "Current release is $MAJOR.$MINOR.$REVISION-$RELEASE"
echo
echo "Select release increment:"
echo
echo " 1) Package -> $VERSION-$NEXT_RELEASE (for RPM changes)"
echo " 2) Revision -> $NEW_REVISION-1 (for bug fixes)"
echo " 3) Minor -> $NEW_MINOR-1 (for new functionality)"
echo " 4) Major -> $NEW_MAJOR-1 (for large rewrites)"
echo
echo -n "> "
ANSWER=x
while test "$ANSWER" != 1 -a "$ANSWER" != 2 -a "$ANSWER" != 3 -a "$ANSWER" != 4
do
read ANSWER
if test "x$ANSWER" = "x" ; then ANSWER=x ; fi
case $ANSWER in
1) NEW_VERSION=$VERSION
NEW_RELEASE=$NEXT_RELEASE;;
2) NEW_VERSION=$NEW_REVISION
NEW_RELEASE=1;;
3) NEW_VERSION=$NEW_MINOR
NEW_RELEASE=1;;
4) NEW_VERSION=$NEW_MAJOR
NEW_RELEASE=1;;
*) echo -n "> ";;
esac
done
echo "New version will be $NEW_VERSION-$NEW_RELEASE"
echo "Confirm y/N"
echo -n "> "
read CONFIRM
if test "x$CONFIRM" = "x" ; then CONFIRM=x ; fi
done
echo "Setting version to $NEW_VERSION-$NEW_RELEASE"
perl -i -p -e "s/VERSION=$OLD_VERSION/VERSION=$NEW_VERSION/" configure.in
perl -i -p -e "s/RELEASE=$OLD_RELEASE/RELEASE=$NEW_RELEASE/" configure.in
TAG_VERSION=`echo $NEW_VERSION | sed -e 's/\./_/g'`
TAG_RELEASE=$NEW_RELEASE
cvs commit -m "Release $NEW_VERSION-$NEW_RELEASE" configure.in
cvs tag ${TAGNAME}-${TAG_VERSION}-${TAG_RELEASE}
echo "Release tagged as $TAGNAME-$TAG_VERSION-$TAG_RELEASE"
exit 0