1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
#!/bin/bash
if [ $# != 1 ]; then
echo "Usage: $0 <new version number>"
exit 1
fi
if [ ! -d ./src -a ! -f redhat.spec ]; then
echo "Cannot find the ./src directory or the ./redhat.spec file"
echo "Are you in the project root directory?"
exit 2
fi
NEW_VERSION=$1
OLD_VERSION=$(cd src;python -c "from setup_common import *; print get_version();")
rm -f src/setup_common.py[co]
# Prepare ChangeLog entry for the python-dmidecode.spec file
TSTAMP="$(date +%a\ %b\ %d\ %Y)"
FNAME="$(git config user.name)"
EMAIL="$(git config user.email)"
CHLOG="$TSTAMP $FNAME <$EMAIL> - ${NEW_VERSION}-1"
# Prepare regexp script to modify python-dmidecode.spec
{
cat <<EOF2
,s/^Version: .*/Version: ${NEW_VERSION}/
,s/^Release: .*/Release: 1%{?dist}/
,s/%changelog/%changelog\\
* ${CHLOG}\\
- Update to new release\\
/
w
EOF2
} > .chversion
# Get confirmation of version change
cat <<EOF
**
** Changing version number
**
Are you sure you want to change the version number?
From: ${OLD_VERSION}
To: ${NEW_VERSION}
EOF
echo -n " Please confirm: (yes/no) "
read conf
case $conf in
yes|YES)
echo
echo " ** Updating src/version.h"
printf ",s/^#define VERSION \".*\"/#define VERSION \"${NEW_VERSION}\"/\nw\n" | ed src/version.h 2>/dev/null
echo " ** Updating contrib/python-dmidecode.spec"
cat .chversion | ed contrib/python-dmidecode.spec 2> /dev/null
if [ $? = 0 ]; then
rm -f .chversion
fi
echo
echo " ** git add src/version.h contrib/python-dmidecode.spec"
git add src/version.h contrib/python-dmidecode.spec
echo "-----------------------------------------------------------------------------------"
git diff --cached
echo "-----------------------------------------------------------------------------------"
echo
echo " ** **"
echo " ** REMEMBER to COMMIT this change when you have validated the result **"
echo " ** **"
echo
;;
*)
echo
echo
echo " ** Not confirmed. Aborting."
echo
;;
esac
|