From 310fb4326d5318993a4be6be0edd94f0578b64b0 Mon Sep 17 00:00:00 2001
From: Andrew Ferrier <andrewferrier@example.com>
Date: Wed, 1 Jul 2015 20:43:28 -0500
Subject: [PATCH] Support auto-calculation of Version string - closes #39.

---
 Dockerfile                                  |  2 +-
 Makefile                                    | 12 +++++++++---
 debian/DEBIAN/.gitignore                    |  1 +
 debian/DEBIAN/{control => control_template} |  2 +-
 4 files changed, 12 insertions(+), 5 deletions(-)
 create mode 100644 debian/DEBIAN/.gitignore
 rename debian/DEBIAN/{control => control_template} (92%)

diff --git a/Dockerfile b/Dockerfile
index ff9c701..c2cb33c 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -32,5 +32,5 @@ RUN wget -O /etc/vim/vimrc.local https://raw.githubusercontent.com/tpope/vim-sen
 COPY . /tmp/email2pdf/
 COPY docker/email2pdf/getmail /etc/cron.d/
 WORKDIR /tmp/email2pdf
-RUN make builddeb && sh -c 'ls -1 /tmp/email2pdf/*.deb | xargs -L 1 gdebi -n' && cp /tmp/email2pdf/*.deb /tmp
+RUN make builddeb_real && sh -c 'ls -1 /tmp/email2pdf/*.deb | xargs -L 1 gdebi -n' && cp /tmp/email2pdf/*.deb /tmp
 RUN apt-get clean && rm -rf /var/lib/apt/lists/* /var/tmp/*
diff --git a/Makefile b/Makefile
index 9f17b0f..b393abc 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,13 @@
 TEMPDIR := $(shell mktemp -t tmp.XXXXXX -d)
 FLAKE8 := $(shell which flake8)
 
-builddeb:
+determineversion:
+	$(eval GITDESCRIBE := $(shell git describe --dirty))
+	sed 's/Version: .*/Version: $(GITDESCRIBE)/' debian/DEBIAN/control_template > debian/DEBIAN/control
+
+builddeb: determineversion builddeb_real
+
+builddeb_real:
 	sudo apt-get install build-essential
 	cp -R debian/DEBIAN/ $(TEMPDIR)
 	mkdir -p $(TEMPDIR)/usr/bin
@@ -14,10 +20,10 @@ builddeb:
 	fakeroot chmod -R u+x $(TEMPDIR)/usr/bin
 	fakeroot dpkg-deb --build $(TEMPDIR) .
 
-builddocker:
+builddocker: determineversion
 	docker build -t andrewferrier/email2pdf .
 
-builddocker_nocache:
+builddocker_nocache: determineversion
 	docker build --no-cache -t andrewferrier/email2pdf .
 
 rundocker_interactive: builddocker
diff --git a/debian/DEBIAN/.gitignore b/debian/DEBIAN/.gitignore
new file mode 100644
index 0000000..4db28ac
--- /dev/null
+++ b/debian/DEBIAN/.gitignore
@@ -0,0 +1 @@
+control
diff --git a/debian/DEBIAN/control b/debian/DEBIAN/control_template
similarity index 92%
rename from debian/DEBIAN/control
rename to debian/DEBIAN/control_template
index 115078c..34c685a 100755
--- a/debian/DEBIAN/control
+++ b/debian/DEBIAN/control_template
@@ -1,5 +1,5 @@
 Package: email2pdf
-Version: 0.7.13
+Version: <version_goes_here>
 Section: base
 Priority: optional
 Architecture: all