Package: python-pysqlite2
Version: 2.6.3-3
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: timestamps

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that python-pysqlite2 could not be built reproducibly.

The attached patches removes extra timestamps from the build system.
Once applied, python-pysqlite2 can be built reproducibly in our current
experimental framework.

 [1]: https://wiki.debian.org/ReproducibleBuilds
diff -urNp python-pysqlite2-2.6.3.old/debian/rules python-pysqlite2-2.6.3/debian/rules
--- python-pysqlite2-2.6.3.old/debian/rules	2012-06-24 08:14:37.000000000 +0000
+++ python-pysqlite2-2.6.3/debian/rules	2015-06-26 02:12:28.077796703 +0000
@@ -8,6 +8,10 @@ include /usr/share/dpkg/buildflags.mk
 
 PYVERS = $(shell pyversions -r)
 
+LAST_CHANGE = $(shell dpkg-parsechangelog -S Date)
+BUILD_DATE  = $(shell LC_ALL=C date -u "+%B %d, %Y" -d "$(LAST_CHANGE)")
+SPHINXOPTS := -D html_last_updated_fmt=\"$(BUILD_DATE)\"
+
 build: build-arch build-indep
 build-arch: build-stamp
 build-indep: build-stamp
@@ -60,7 +64,7 @@ binary-indep:
 	dh_prep
 	dh_installdirs -i usr/share/doc/python-pysqlite2-doc/html
 
-	python setup.py build_docs
+	python setup.py build_docs --sphinxopts="$(SPHINXOPTS)"
 	dh_installdocs -i build/doc/*
 	cd debian/python-pysqlite2-doc/usr/share/doc/python-pysqlite2-doc && \
 		mv *.html *.js *.inv _static _sources html && \
Description: Modify DocBuilder command
 Modify DocBuilder command to use "sphinxopts" command line option for add
 parameters in the call to sphinx-build.
Author: Juan Picca <jumap...@gmail.com>
Last-Update: 2015-06-25
---
--- a/setup.py
+++ b/setup.py
@@ -65,10 +65,10 @@ else:
 
 class DocBuilder(Command):
     description = "Builds the documentation"
-    user_options = []
+    user_options = [("sphinxopts=", None, "sphinx options")]
 
     def initialize_options(self):
-        pass
+        self.sphinxopts = ""
 
     def finalize_options(self):
         pass
@@ -80,7 +80,7 @@ class DocBuilder(Command):
         except OSError:
             pass
         os.makedirs("build/doc")
-        rc = os.system("sphinx-build doc/sphinx build/doc")
+        rc = os.system("sphinx-build %s doc/sphinx build/doc" % self.sphinxopts)
         if rc != 0:
             print "Is sphinx installed? If not, try 'sudo easy_install sphinx'."
 
_______________________________________________
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Reply via email to