Source: openpyxl
Version: 3.1.2+dfsg-4
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
openpyxl could not be built reproducibly.

This is because the documentation embedded the current build year in
its documentation.

However, a patch is attached that seeds this date from SOURCE_DATE_EPOCH
if available.

 [0] https://reproducible-builds.org/


Best wishes,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      la...@debian.org / chris-lamb.co.uk
       `-
--- a/debian/patches/reproducibility_docs.patch 1970-01-01 01:00:00.000000000 
+0100
--- b/debian/patches/reproducibility_docs.patch 2023-12-07 14:25:29.745194613 
+0000
@@ -0,0 +1,23 @@
+Description: Make the docs reproducible
+Author: Chris Lamb <la...@debian.org>
+Last-Update: 2023-12-07
+
+--- openpyxl-3.1.2+dfsg.orig/doc/conf.py
++++ openpyxl-3.1.2+dfsg/doc/conf.py
+@@ -68,9 +68,14 @@ master_doc = 'index'
+ 
+ # General information about the project.
+ project = u'openpyxl'
+-from datetime import date
++import os
++import time
++import datetime
++build_date = datetime.datetime.utcfromtimestamp(
++    int(os.environ.get('SOURCE_DATE_EPOCH', time.time()))
++)
+ 
+-copyright = u'2010 - {0}, {1}'.format(date.today().year, openpyxl.__author__)
++copyright = u'2010 - {0}, {1}'.format(build_date.year, openpyxl.__author__)
+ 
+ # The version info for the project you're documenting, acts as replacement for
+ # |version| and |release|, also used in various other places throughout the
--- a/debian/patches/series     2023-12-07 14:07:11.622651360 +0000
--- b/debian/patches/series     2023-12-07 14:24:37.929086483 +0000
@@ -2,3 +2,4 @@
 python3p12_compat.patch
 privacy.patch
 reproducibility.patch
+reproducibility_docs.patch

Reply via email to