diff options
author | Carl Worth <cworth@cworth.org> | 2010-04-16 13:00:35 -0700 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2010-04-16 13:00:35 -0700 |
commit | 80240877f836214e556f1ff75a058465a69f2dea (patch) | |
tree | 83a690b38392b5f8659e8465010a49b252995b77 /Makefile.local | |
parent | 9b065ff3b2d38b72accc98e283db0d81bf1047ed (diff) |
make release: Add a check that version and debian/changelog are consistent
Eventually I'd like to automate this so that one or the other of these
files is canonical and the other is generated from it. Until then, add
this check to the release process to avoid a skewed release being
shipped.
Diffstat (limited to 'Makefile.local')
-rw-r--r-- | Makefile.local | 23 |
1 files changed, 19 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." && \ |