build system: Check that python bindings have consistent version when releasing
authorDavid Bremner <bremner@debian.org>
Mon, 5 Sep 2011 11:45:28 +0000 (08:45 -0300)
committerDavid Bremner <bremner@debian.org>
Mon, 5 Sep 2011 11:47:48 +0000 (08:47 -0300)
Thanks to Sebastian Spaeth breaking out version.py, this can be done
without loading notmuch.py, or using sed. version.py is not (yet)
autogenerated because it seems more important to minimize the
differences between the tagged version and the tarball.

Makefile.local

index e3d4d031deca420ced715335679b54473e7af1a4..38f6c1742b92f80d2930dcbdd70b9ddf867d9fe5 100644 (file)
@@ -34,6 +34,8 @@ DEB_TAR_FILE=$(PACKAGE)_$(VERSION).orig.tar.gz
 SHA1_FILE=$(TAR_FILE).sha1
 GPG_FILE=$(SHA1_FILE).asc
 
+PV_FILE=bindings/python/notmuch/version.py
+
 # Smash together user's values with our extra values
 FINAL_CFLAGS = -DNOTMUCH_VERSION=$(VERSION) $(CFLAGS) $(WARN_CFLAGS) $(CONFIGURE_CFLAGS) $(extra_cflags)
 FINAL_CXXFLAGS = $(CXXFLAGS) $(WARN_CXXFLAGS) $(CONFIGURE_CXXFLAGS) $(extra_cflags) $(extra_cxxflags)
@@ -166,7 +168,7 @@ release-message:
 verify-source-tree-and-version: verify-no-dirty-code
 
 .PHONY: verify-no-dirty-code
-verify-no-dirty-code: verify-version-debian
+verify-no-dirty-code: verify-version-debian verify-version-python
 ifeq ($(IS_GIT),yes)
        @printf "Checking that source tree is clean..."
 ifneq ($(shell git ls-files -m),)
@@ -192,6 +194,15 @@ verify-version-debian: verify-version-components
         fi
        @echo "Good."
 
+.PHONY: verify-version-python
+verify-version-python: verify-version-components
+       @echo -n "Checking that python bindings version is $(VERSION)..."
+       @if [ "$(VERSION)" != $$(python -c "execfile('$(PV_FILE)'); print __VERSION__") ] ; then \
+               (echo "No." && \
+                echo "Please edit version and $(PV_FILE) to have consistent versions." && false) \
+        fi
+       @echo "Good."
+
 .PHONY: verify-version-components
 verify-version-components:
        @echo -n "Checking that $(VERSION) consists only of digits and periods..."