Source: tpm2-pytss Version: 1.2.0-2 Severity: wishlist Tags: patch User: reproducible-bui...@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-b...@lists.alioth.debian.org
Hi, Whilst working on the Reproducible Builds effort [0] we noticed that tpm2-pytss could not be built reproducibly. This is because it embedded the current "build" year by calling out to datetime.datetime.utcnow() when building the documentation. Patch attached that seeds this value from SOURCE_DATE_EPOCH if it exists in the surrounding environment. [0] https://reproducible-builds.org/ Regards, -- ,''`. : :' : Chris Lamb `. `'` la...@debian.org / chris-lamb.co.uk `-
--- a/debian/patches/reproducible-build.patch 1969-12-31 16:00:00.000000000 -0800 --- b/debian/patches/reproducible-build.patch 2022-10-25 10:32:58.818873778 -0700 @@ -0,0 +1,26 @@ +Description: Make the build reproducible +Author: Chris Lamb <la...@debian.org> +Last-Update: 2022-10-25 + +--- tpm2-pytss-1.2.0.orig/docs/conf.py ++++ tpm2-pytss-1.2.0/docs/conf.py +@@ -12,6 +12,7 @@ + # + import os + import sys ++import time + import datetime + import subprocess + +@@ -57,7 +58,10 @@ import tpm2_pytss + + project = "tpm2-pytss" + author = "tpm2-software" +-copyright = f"2019 - {datetime.datetime.today().year}, {author}" ++build_date = datetime.datetime.utcfromtimestamp( ++ int(os.environ.get('SOURCE_DATE_EPOCH', time.time())) ++) ++copyright = f"2019 - {build_date.year}, {author}" + + # The short X.Y version + version = get_version(root="..", relative_to=__file__) --- a/debian/patches/series 2022-10-25 10:25:20.122542133 -0700 --- b/debian/patches/series 2022-10-25 10:32:57.862874412 -0700 @@ -1 +1,2 @@ debian-hacks/docs-Use-internal-ressources-for-intersphinx.patch +reproducible-build.patch