[rb-general] patch and groff

Bernhard M. Wiedemann bernhardout at lsmod.de
Thu May 11 10:33:57 CEST 2017


I noticed some reproducibility issues arriving from software like groff
using the mtime of its input files (e.g. groff.man) to add text to its
output file (e.g. groff.1(.gz)) - in this case via its mtime.sh

That is perfectly reproducible as long as you only use the upstream
tarball, but then we apply a patch that modifies the input file
and thus gets the current build time inserted into the output.

One (ugly) way to avoid that here is
find -name \*.man | xargs touch -d at ...

We could also patch mtime.sh to clamp output values to SOURCE_DATE_EPOCH

Or we call patch --set-utc --force
but unfortunately many patches do not contain timestamps.

or we patch patch itself to keep mtime of modified files - but that
might confuse make in some places.

I was wondering how others were solving such issues.

Bernhard M.

More information about the rb-general mailing list