Skip to content

Please support SOURCE_DATE_EPOCH specification for build time stamps #938

Closed
@brianmay

Description

@brianmay

Copied from http://bugs.debian.org/824266:

Hi,

mkdocs integrates build time stamps into the documentation it is
generating. This makes at least unburden-home-dir no more reproducibly
building because it now uses mkdocs to generate HTML documentation at
build time.

See https://tests.reproducible-builds.org/rb-pkg/unstable/amd64/unburden-home-dir.html and
https://tests.reproducible-builds.org/dbd/unstable/amd64/unburden-home-dir_0.4.diffoscope.html

Other cases of this issue are the source package djangorestframework (see
https://tests.reproducible-builds.org/rb-pkg/testing/i386/djangorestframework.html and
https://tests.reproducible-builds.org/dbd/testing/i386/djangorestframework_3.3.2-2.diffoscope.html)
and of course the source package python-mkdocs itself, see
https://tests.reproducible-builds.org/rb-pkg/unstable/amd64/python-mkdocs.html and
https://tests.reproducible-builds.org/dbd/unstable/amd64/python-mkdocs_0.15.3-3.diffoscope.html

At https://reproducible-builds.org/specs/source-date-epoch/ you can find
a bound to be widely adopted specification for how to solve such kind of
issues generally: If the environment variable SOURCE_DATE_EPOCH exists
use the Unix time stamp (seconds since 1st of January 1970, 00:00:00
UTC) it contains to preseed all build time stamps with that time stamp
instead of the current time.

See https://wiki.debian.org/ReproducibleBuilds/TimestampsProposal#Examples
for some examples on how to implement support for SOURCE_DATE_EPOCH,
including an example for Python.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions