X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=Makefile.local;h=c94402b18d04e858fa89bd2e0a9b666fc14efeb5;hp=10e6668f8786b053e3603b38e8a1f428c19b1bf0;hb=e92b438f46a3ad7103299b1c62747f36d9de06bf;hpb=6a9711b1fbf418a873c2d2a8fcefd83f556f50b7 diff --git a/Makefile.local b/Makefile.local index 10e6668f..c94402b1 100644 --- a/Makefile.local +++ b/Makefile.local @@ -12,8 +12,14 @@ PACKAGE=notmuch IS_GIT=$(shell if [ -d .git ] ; then echo yes ; else echo no; fi) +ifeq ($(IS_GIT),yes) +DATE:=$(shell git log --date=short -1 --pretty=format:%cd) +else +DATE:=$(shell date +%F) +endif + VERSION:=$(shell cat ${srcdir}/version) -ifeq ($filter release release-message pre-release,$(MAKECMDGOALS),) +ifeq ($(filter release release-message pre-release update-versions,$(MAKECMDGOALS)),) ifeq ($(IS_GIT),yes) VERSION:=$(shell git describe --match '[0-9.]*'|sed -e s/_/~/ -e s/-/+/ -e s/-/~/) endif @@ -87,6 +93,12 @@ $(GPG_FILE): $(SHA1_FILE) .PHONY: dist dist: $(TAR_FILE) +.PHONY: update-versions + +update-versions: + sed -i "s/^.TH NOTMUCH 1.*$$/.TH NOTMUCH 1 ${DATE} \"Notmuch ${VERSION}\"/" notmuch.1 + sed -i "s/^__VERSION__[[:blank:]]*=.*$$/__VERSION__ = \'${VERSION}\'/" $(PV_FILE) + # We invoke make recursively only to force ordering of our phony # targets in the case of parallel invocation of make (-j). # @@ -175,7 +187,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-version-python +verify-no-dirty-code: verify-version-debian verify-version-python verify-version-manpage ifeq ($(IS_GIT),yes) @printf "Checking that source tree is clean..." ifneq ($(shell git ls-files -m),) @@ -195,28 +207,33 @@ endif .PHONY: verify-version-debian verify-version-debian: verify-version-components @echo -n "Checking that Debian package version is $(VERSION)-1..." - @if [ "$(VERSION)-1" != $$(dpkg-parsechangelog | grep ^Version | awk '{print $$2}') ] ; then \ + @[ "$(VERSION)-1" = $$(sed '1{ s/).*//; s/.*(//; q; }' debian/changelog) ] || \ (echo "No." && \ - echo "Please edit version and debian/changelog to have consistent versions." && false) \ - fi + echo "Please edit version and debian/changelog to have consistent versions." && false) @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 \ + @[ "$(VERSION)" = $$(python -c "execfile('$(PV_FILE)'); print __VERSION__") ] || \ + (echo "No." && \ + echo "Please edit version and $(PV_FILE) to have consistent versions." && false) + @echo "Good." + +.PHONY: verify-version-manpage +verify-version-manpage: verify-version-components + @echo -n "Checking that manual page version is $(VERSION)..." + @[ "$(VERSION)" = $$(sed -n '/^[.]TH NOTMUCH 1/{s/.*"Notmuch //;s/".*//p;}' notmuch.1) ] || \ (echo "No." && \ - echo "Please edit version and $(PV_FILE) to have consistent versions." && false) \ - fi + echo "Please edit version and notmuch.1 to have consistent versions." && false) @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 $(VERSION) | grep -q -x '^[0-9.]*$$' || \ (echo "No." && \ - echo "Please follow the instructions in RELEASING to choose a version" && false) \ - else :; fi + echo "Please follow the instructions in RELEASING to choose a version" && false) @echo "Good." .PHONY: verify-newer