Source: python-kinterbasdb Version: 3.3.0-3 Severity: wishlist Tags: patch User: reproducible-bui...@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-bui...@lists.alioth.debian.org
Hi, Whilst working on the "reproducible builds" effort [0], we noticed that python-kinterbasdb could not be built reproducibly. Patch attached. [0] https://wiki.debian.org/ReproducibleBuilds Regards, -- ,''`. : :' : Chris Lamb `. `'` la...@debian.org / chris-lamb.co.uk `-
--- a/debian/patches/03_reproducible_build.patch 1970-01-01 02:00:00.000000000 +0200 --- b/debian/patches/03_reproducible_build.patch 2016-07-14 09:45:51.028259634 +0200 @@ -0,0 +1,23 @@ +Author: Chris Lamb <la...@debian.org> +Last-Update: 2016-07-14 + +--- python-kinterbasdb-3.3.0.orig/setup.py ++++ python-kinterbasdb-3.3.0/setup.py +@@ -1,7 +1,7 @@ + # This horrible tangle of code will soon be blown away and replaced with + # something more respectable. Yep, RSN. + +-import re, struct, sys, time ++import re, struct, sys, time, os, datetime + from StringIO import StringIO + + # Exclude old versions of Python: +@@ -129,7 +129,7 @@ if not shouldSkipBuild: + + reTimestamp = re.compile(r"^(__timestamp__\s+=\s+')(.*?)(')$", re.MULTILINE) + initModuleCode = reTimestamp.sub( +- r'\g<1>%s\g<3>' % time.strftime('%Y.%m.%d.%H.%M.%S.UTC', time.gmtime()), ++ r'\g<1>%s\g<3>' % datetime.datetime.utcfromtimestamp(int(os.environ.get('SOURCE_DATE_EPOCH', time.time()))).strftime('%Y.%m.%d.%H.%M.%S.UTC'), + initModuleCode + ) + --- a/debian/patches/series 2016-07-14 09:34:41.760405146 +0200 --- b/debian/patches/series 2016-07-14 09:45:40.540139851 +0200 @@ -1 +1,2 @@ 02_drop_removed_fb_defines.patch +03_reproducible_build.patch