CLI/git: change defaults for repo and prefix The previous defaults were not suitable for personal (i.e. not bugtracking for notmuch development) use. Provide two ways for the user to select nmbug compatible defaults; command line argument and checking the name of the script.
nmbug: promote to user tool "notmuch-git" Initially just a rename, and drop the --version argument that clashes with the global notmuch --version argument.
release: automate upload of pre-release tarballs The tarballs were requested by some distro-packagers, and this automation will hopefully reduce the number of errors from the current manual process.
release: save more release files to releases/ The main change is to move the signatures to releases/ when invoking the pre-release target; also stash the debian symlink for the release target.
removed use of 'echo -n' (and echo -n -e ...) In most cases used printf %s ... instead. echo -n > file lines to create empty / truncate files were changed to : > file lines, like done in in test-lib-emacs.sh And one echo -n " " replaced with use of sed "s/^/ /" in next line.
python-cffi: fix out-of-tree build The main idea is to replace the hack of copying version.txt into the bindings source with a generated _notmuch_config.py file. This will mean that the bindings only build after configuring and building notmuch itself. Given those constraints, "pip install ." should work.
CLI: centralize initialization in notmuch_client_init Initially make sure gmime_filter_reply initialization is thread-safe (assuming notmuch_client_init is only called once). For tidyness, also put talloc initialization in the new function.
debian: don't tag debian tag at release is made. This reflects a change in the debian workflow to use dgit, which does the tagging for us. It also leaves room for debian specific fixups.
release: explicitely build sphinx-html This is to force it to happen after the "make clean".
build: change one more occurrence of 'version' to 'version.txt'. This one disguised via tar and sed trickery.
build: fix update-versions rule This was missed in the rename of the 'version' file to version.txt
Rename version to version.txt Building Notmuch on macOS is known to cause problems because the Notmuch distribution archive contains two files named "version". These names clash with the <version> header as defined in C++20. Therefore, the existing naming will likely become a problem on other platforms as well, once compilers adopt the new standard. Signed-off-by: Ralph Seichter <github@seichter.de> Amended-by: db s/keyword/header/ in commit message.
build: clean up sphinx.config Follow the existing practice and remove it under "distclean", same as sh.config and Makefile.config
emacs: Use makefile-gmake-mode in Makefile*s Use `makefile-gmake-mode' instead of `makefile-mode' because the former also highlights ifdef et al. while the latter does not. "./Makefile.global" and one "Makefile.local" failed to specify any major mode at all but doing so is necessary because Emacs does not automatically figure out that these are Makefiles (of any flavor).
build: upload html docs as part of release process Use a URL https://notmuchmail.org/doc/latest to leave room for a future more ambitious scheme deploying multiple versions. This also forces the html docs to built as part of the release process. In the future this should be updated to tolerate generating a release without sphinx installed. This needs a new target analogous to build-info and build-man that does nothing if sphinx is not installed.
build: produce signatures for release candidate tarballs. Today Defalos on #notmuch asked for a signed tarball for 0.30~rc2. This is a minimal change to support this in the future. The question of automagically uploading will need more thought; currently I like the fact that tags from pre-releases are only pushed manually.
bindings/python-cffi: copy version file into bindings dir Attempt to avoid breaking "pip install ." As far as I can tell, we need to have a copy (not just a relative symlink) of the version file.
debian: return an error if debian snapshot build fails Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
build: optionally build python-cffi bindings Put the build product (and tests) in a well known location so that we can find them e.g. from the tests.
release: use xz compression This produces tarballs that are roughly 30% smaller.