84 lines
2.1 KiB
Bash
Executable File
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
|