Browse Source

Build debian's micro-revision into the binary

If we have a debian/micro-revision.i, replace the one in src/or
with our copy so that this will be the revision that ends up in
the binary.  This is an informational only version string, but
it'd be kinda nice if it was (more) accurate nonetheless.

Of course this won't help if people manually patch around but
it's still preferable to claiming we are exactly upstream's source.

If we are building directly out of a git tree, update
debian/micro-revision.i in the clean target.
Peter Palfrader 14 years ago
parent
commit
6332c51f73
3 changed files with 20 additions and 2 deletions
  1. 1 0
      .gitignore
  2. 12 2
      debian/changelog
  3. 7 0
      debian/rules

+ 1 - 0
.gitignore

@@ -80,6 +80,7 @@
 
 # /debian/
 /debian/files
+/debian/micro-revision.i
 /debian/patched
 /debian/tor
 /debian/tor.postinst.debhelper

+ 12 - 2
debian/changelog

@@ -7,8 +7,18 @@ tor (0.2.2.2-alpha-1) experimental; urgency=low
     in the debian diff.gz after building a second time in the same
     directory.  So, remove those files in clean to get both a cleaner
     diff.gz and idempotent builds.
-
- -- Peter Palfrader <weasel@debian.org>  Mon, 21 Sep 2009 13:37:30 +0200
+  * If we have a debian/micro-revision.i, replace the one in src/or
+    with our copy so that this will be the revision that ends up in
+    the binary.  This is an informational only version string, but
+    it'd be kinda nice if it was (more) accurate nonetheless.
+    .
+    Of course this won't help if people manually patch around but
+    it's still preferable to claiming we are exactly upstream's source.
+    .
+    If we are building directly out of a git tree, update
+    debian/micro-revision.i in the clean target.
+
+ -- Peter Palfrader <weasel@debian.org>  Mon, 21 Sep 2009 14:51:20 +0200
 
 tor (0.2.2.1-alpha-1) experimental; urgency=low
 

+ 7 - 0
debian/rules

@@ -82,6 +82,7 @@ build: build-stamp
 
 build-stamp:  config.status
 	dh_testdir
+	! [ debian/micro-revision.i ] || cp debian/micro-revision.i src/or/micro-revision.i
 
 	$(MAKE)
 	@echo
@@ -130,9 +131,15 @@ clean: unpatch
 	dh_testroot
 	rm -f build-stamp
 	rm -f src/common/common_sha1.i src/or/or_sha1.i
+	rm -f src/or/micro-revision.i
 
 	[ ! -f Makefile ] || $(MAKE) distclean
 
+	# Normally the .deb wouldn't ship with a ../.git
+	if [ -d .git ] && which git >/dev/null; then \
+		echo "\"`git rev-parse --short=16 HEAD`\"" > "debian/micro-revision.i" ; \
+	fi
+
 	dh_clean
 
 install: build