Source: mkdocs
Version: 0.15.3-3
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: toolchain
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi,

Whilst working on the "reproducible builds" effort [0], we noticed that mkdocs 
generates output with non-reproducible contents due to the timestamps.

Patch attached.


 [0] https://wiki.debian.org/ReproducibleBuilds


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      la...@debian.org / chris-lamb.co.uk
       `-
diff --git a/mkdocs/commands/build.py b/mkdocs/commands/build.py
index 614173d..6dc1015 100644
--- a/mkdocs/commands/build.py
+++ b/mkdocs/commands/build.py
@@ -55,6 +55,11 @@ def get_global_context(nav, config):
 
     extra_css = utils.create_media_urls(nav, config['extra_css'])
 
+    try:
+        build_date_utc = 
datetime.utcfromtimestamp(int(os.environ['SOURCE_DATE_EPOCH']))
+    except (KeyError, ValueError):
+        build_date_utc = datetime.utcnow()
+
     return {
         'site_name': site_name,
         'site_author': config['site_author'],
@@ -83,7 +88,7 @@ def get_global_context(nav, config):
         'google_analytics': config['google_analytics'],
 
         'mkdocs_version': mkdocs.__version__,
-        'build_date_utc': datetime.utcnow(),
+        'build_date_utc': build_date_utc,
 
         'config': config
     }
_______________________________________________
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