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

Reply via email to