build system: Check that python bindings have consistent version when releasing
[notmuch] / 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..."