Source: jenkins-job-builder Version: 6.4.2-3 Severity: wishlist Tags: patch User: [email protected] Usertags: timestamps X-Debbugs-Cc: [email protected]
Hi, Whilst working on the Reproducible Builds effort [0], we noticed that jenkins-job-builder could not be built reproducibly. This was because the documentation embedded the current date. For example: ├── ./usr/share/doc/jenkins-job-builder-doc/html/builders.html │ @@ -4260,12 +4260,12 @@ │ </div> │ <div class="footer" role="contentinfo"> │ - © Copyright 2012 - 2026, Jenkins Job Builder Maintainers. │ + © Copyright 2012 - 2025, Jenkins Job Builder Maintainers. │ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 8 Patch attached that sources this value from SOURCE_DATE_EPOCH. [0] https://reproducible-builds.org/ Regards, -- ,''`. : :' : Chris Lamb `. `'` [email protected] / chris-lamb.co.uk `-
--- a/debian/patches/reproducible-build.patch 1970-01-01 01:00:00.000000000 +0100 --- b/debian/patches/reproducible-build.patch 2025-03-31 11:01:08.393654866 +0100 @@ -0,0 +1,28 @@ +Description: Make the build reproducible +Author: Chris Lamb <[email protected]> +Last-Update: 2025-03-31 + +--- jenkins-job-builder-6.4.2.orig/doc/source/conf.py ++++ jenkins-job-builder-6.4.2/doc/source/conf.py +@@ -13,6 +13,7 @@ + + import os + import sys ++import time + import datetime + from jenkins_jobs.version import version_info as jenkins_jobs_version + +@@ -52,8 +53,12 @@ master_doc = "index" + + # General information about the project. + project = "Jenkins Job Builder" ++build_date = datetime.datetime.fromtimestamp( ++ int(os.environ.get('SOURCE_DATE_EPOCH', time.time())), ++ tz=datetime.timezone.utc, ++) + copyright = "2012 - {}, Jenkins Job Builder Maintainers".format( +- datetime.datetime.now().year ++ build_date.year + ) + + # The version info for the project you're documenting, acts as replacement for --- a/debian/patches/series 2025-03-31 10:47:39.413590873 +0100 --- b/debian/patches/series 2025-03-31 11:01:07.109648386 +0100 @@ -1 +1,2 @@ do-not-depends-on-pkg-resources.patch +reproducible-build.patch

