From e6d20b7b8f47bcd5da14639c31a4943e188c070d Mon Sep 17 00:00:00 2001
From: Carl Worth <cworth@cworth.org>
Date: Fri, 16 Apr 2010 13:13:12 -0700
Subject: [PATCH] make release: Add Debian package building and upload

Finally, a single button to push to do all the uploading.
---
 .gitignore     |  1 -
 Makefile.local |  6 ++++++
 RELEASING      | 14 +++++++++++---
 3 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/.gitignore b/.gitignore
index e00355ca..217440d5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,4 +13,3 @@ libnotmuch.so*
 .*.swp
 *.elc
 releases
-debian-build
diff --git a/Makefile.local b/Makefile.local
index 854cf520..5bb570b1 100644
--- a/Makefile.local
+++ b/Makefile.local
@@ -89,11 +89,17 @@ dist: $(TAR_FILE)
 release: verify-source-tree-and-version
 	$(MAKE) VERSION=$(VERSION) verify-newer
 	$(MAKE) VERSION=$(VERSION) test
+	rm -rf ./debian-build
+	git-buildpackage
+	cp debian-build/notmuch_$(VERSION).tar.gz notmuch-$(VERSION).tar.gz
 	$(MAKE) VERSION=$(VERSION) $(GPG_FILE)
 	scp $(TAR_FILE) $(SHA1_FILE) $(GPG_FILE) $(RELEASE_HOST):$(RELEASE_DIR)
 	ssh $(RELEASE_HOST) "rm -f $(RELEASE_DIR)/LATEST-$(PACKAGE)-[0-9]* && ln -s $(TAR_FILE) $(RELEASE_DIR)/LATEST-$(PACKAGE)-$(VERSION)"
 	mkdir -p releases
 	mv $(TAR_FILE) $(SHA1_FILE) $(GPG_FILE) releases
+	(cd debian-build; dput *.changes)
+	mv debian-build/* releases
+	rmdir debian-build
 	git tag -s -m "$(PACKAGE) $(VERSION) release" $(VERSION)
 	git push origin $(VERSION)
 	$(MAKE) VERSION=$(VERSION) release-message > $(PACKAGE)-$(VERSION).announce
diff --git a/RELEASING b/RELEASING
index 70a2ec54..d314a6c6 100644
--- a/RELEASING
+++ b/RELEASING
@@ -69,20 +69,28 @@ repository. From here, there are just a few steps to release:
 	release, (taking entries from NEWS and the version from the
 	version file, and creating a new commit, etc.)
 
-5) Run "make release" which will perform the following steps:
+5) Run "make release" which will perform the following steps.
+
+   Note: If any problem occurs during the process, (such as a lintian
+   warning that you decide should be fixed), you can abort at the
+   prompt for your GPG passphrase and nothing will have been uploaded
+   yet.
 
 	* 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)
-	* Generate the final tar file
+	* Compile a Debian package
+	* Copy the tar file from what was made for Debian package
 	* Generate a .sha1 sum file for the tar file
 	* Sign the sha1sum using your GPG setup (asks for your GPG password)
 	* Check that no release exists with the current version
 	* scp the three files to appear on http://notmuchmail.org/releases
 	* Create a LATEST-notmuch-version file (after deleting any old one)
-	* Place local copies of the three files in the releases directory
+	* Place local copies of the tar, sha1, and gpg files into releases
+	* Upload the Debian package
+	* Place a local copy of the Debian package files in releases
 	* Tag the entire source tree with a tag of the form X.Y.Z, and sign
 	  the tag with your GPG key (asks for your GPG password, and you
 	  may need to set GIT_COMMITTER_NAME and GIT_COMMITTER_EMAIL to match
-- 
2.45.2