[Reproducible-builds] Bug#794795: debiandoc-sgml-doc: please make the build reproducible

Osamu Aoki osamu at debian.org
Fri Aug 7 13:39:56 UTC 2015


Control: tags -1 - patch

Hi,

I see this reproducible build effort is an respectable effort but ...

On Thu, Aug 06, 2015 at 07:19:13PM +0200, Dhole wrote:
> Source: debiandoc-sgml-doc
> Version: 1.1.23
> Severity: wishlist
> Tags: patch
> User: reproducible-builds at lists.alioth.debian.org
> Usertags: timestamps
> X-Debbugs-Cc: reproducible-builds at lists.alioth.debian.org
> 
> Hi,
> 
> While working on the "reproducible builds" effort [1], we have noticed
> that debiandoc-sgml-doc could not be built reproducibly.

Because it includes the build date.  This is intentional choice for this
document.  There are too many OUTDATED documents on the web.  For most
users, the date on the web page is the main source to see the age of
the information.

> The attached patch removes timestamps from the documentation (I didn't
> find a way to pass an external variable/date to the debiandoc tools to
> replace the <date> tag). Once applied, debiandoc-sgml-doc can be built
> reproducibly in our current experimental framework.

I noticed many people are fixing this issue in this way.  That may fix
some itch for small group of highly technically minded people but does
disservice to many end-users.

We should better as DD than the one proposed.
> -  <version><date></version>

That's very rough approach.

Let's promote to use the last changelog entry date for this kind of
BUILD_DATE for reproducible build.

I think something like the following to set it:

# short date of this Debian package (debian/changelog)
BUILD_DATE ?= $(shell { date +'%Y-%m-%d' -d"`dpkg-parsechangelog -SDate`" || date +'(No changelog) %Y-%m-%d' ; })

Patch should be more like

> -  <version><date></version>
> +  <version>&builddate;</version>

Then set the date via entity.

Osamu



More information about the Reproducible-builds mailing list