aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--Makefile.local23
-rw-r--r--RELEASING1
2 files changed, 20 insertions, 4 deletions
diff --git a/Makefile.local b/Makefile.local
index f497b6cb..854cf520 100644
--- a/Makefile.local
+++ b/Makefile.local
@@ -86,7 +86,7 @@ dist: $(TAR_FILE)
# are part of the release and need to take the version from the
# version file).
.PHONY: release
-release: verify-no-dirty-code
+release: verify-source-tree-and-version
$(MAKE) VERSION=$(VERSION) verify-newer
$(MAKE) VERSION=$(VERSION) test
$(MAKE) VERSION=$(VERSION) $(GPG_FILE)
@@ -130,8 +130,14 @@ release-message:
@echo ""
@echo "For more about notmuch, see http://notmuchmail.org"
+# This is a chain of dependencies rather than a simple list simply to
+# avoid the messages getting interleaved in the case of a parallel
+# make invocation.
+.PHONY: verify-source-tree-and-version
+verify-source-tree-and-version: verify-no-dirty-code
+
.PHONY: verify-no-dirty-code
-verify-no-dirty-code: verify-version
+verify-no-dirty-code: verify-version-debian
ifeq ($(IS_GIT),yes)
@printf "Checking that source tree is clean..."
ifneq ($(shell git ls-files -m),)
@@ -148,8 +154,17 @@ else
endif
endif
-.PHONY: verify-version
-verify-version:
+.PHONY: verify-version-debian
+verify-version-debian: verify-version-components
+ @echo -n "Checking that Debian package version is $(VERSION)..."
+ @if [ "$(VERSION)" != $$(dpkg-parsechangelog | grep ^Version | awk '{print $$2}') ] ; then \
+ (echo "No." && \
+ echo "Please edit version and debian/changelog 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..."
@if echo $(VERSION) | grep -q -v -x '[0-9.]*'; then \
(echo "No." && \
diff --git a/RELEASING b/RELEASING
index e438a1d0..70a2ec54 100644
--- a/RELEASING
+++ b/RELEASING
@@ -72,6 +72,7 @@ repository. From here, there are just a few steps to release:
5) Run "make release" which will perform the following steps:
* Ensure that the version consists only of digits and periods
+ * Ensure that version and debian/changelog have the same version
* Verify that the source tree is clean
* Compile the current notmuch code (aborting release if it fails)
* Run the notmuch test suite (aborting release if it fails)