[rb-general] patch and groff
Bernhard M. Wiedemann
bernhardout at lsmod.de
Tue May 23 14:42:17 CEST 2017
On 2017-05-23 03:15, Holger Levsen wrote:
> Hi Bernhard,
> On Thu, May 11, 2017 at 10:33:57AM +0200, Bernhard M. Wiedemann wrote:
>> 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.
> from a quick look at issues.yml in notes.git I dont think we're tracking
> this in Debian yet. Do you have a list of affected packages?
do you mean by the groff package's behaviour or of this class of issue
("using source-timestamp in output")
for the latter there are at least
groff .man => .[1-9]
python .py => .pyc
freepascal .pas => .ppu? (seen in our lazarus package)
and in our .spec files I can find 123 occurrences of
touch -r or touch --reference
which is used to set the timestamp of one file to that of another,
likely to preserve timestamps that matter
Probably not all for RB, but maybe also to not re-run automake etc.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 181 bytes
Desc: OpenPGP digital signature
More information about the rb-general