devel/release-checks.sh: check NOTMUCH_(MAJOR|MINOR|MICRO)_VERSION

New defines NOTMUCH_MAJOR_VERSION, NOTMUCH_MINOR_VERSION and
NOTMUCH_MICRO_VERSION were added to lib/notmuch.h.
Check that these match the current value defined in ./version.
This commit is contained in:
Tomi Ollila 2013-11-08 19:30:56 +02:00 committed by David Bremner
parent 96c0ce28f8
commit 001d932816

View file

@ -13,6 +13,8 @@ fi
set -o posix
set -o pipefail # bash feature
readonly DEFAULT_IFS="$IFS" # Note: In this particular case quotes are needed.
# Avoid locale-specific differences in output of executed commands
LANG=C LC_ALL=C; export LANG LC_ALL
@ -20,8 +22,10 @@ readonly PV_FILE='bindings/python/notmuch/version.py'
# Using array here turned out to be unnecessarily complicated
emsgs=''
emsg_count=0
append_emsg ()
{
emsg_count=$((emsg_count + 1))
emsgs="${emsgs:+$emsgs\n} $1"
}
@ -73,6 +77,38 @@ case $VERSION in
*) verfail "'$VERSION' is a single number" ;;
esac
_set_version_components ()
{
VERSION_MAJOR=$1
VERSION_MINOR=$2
VERSION_MICRO=${3:-0} # set to 0 in case $3 is unset or "null" (string)
}
IFS=.
_set_version_components $VERSION
IFS=$DEFAULT_IFS
echo -n "Checking that libnotmuch version macros match $VERSION... "
NOTMUCH_MAJOR_VERSION=broken
NOTMUCH_MINOR_VERSION=broken
NOTMUCH_MICRO_VERSION=broken
eval `awk 'NF == 3 && $1 == "#define" && $2 ~ /^NOTMUCH_[A-Z]+_VERSION$/ \
&& $3 ~ /^[0-9]+$/ { print $2 "=" $3 }' lib/notmuch.h`
check_version_component ()
{
eval local v1=\$VERSION_$1
eval local v2=\$NOTMUCH_$1_VERSION
if [ $v1 != $v2 ]
then append_emsg "NOTMUCH_$1_VERSION is defined as '$v2' in lib/notmuch.h instead of '$v1'"
fi
}
old_emsg_count=$emsg_count
check_version_component MAJOR
check_version_component MINOR
check_version_component MICRO
[ $old_emsg_count = $emsg_count ] && echo Yes. || echo No.
echo -n "Checking that this is Debian package for notmuch... "
read deb_notmuch deb_version rest < debian/changelog