Doxygen uses timestamps in manpages produced. See ReproducibleBuilds/TimestampsInDocumentationGeneratedByDoxygen for Doxygen's html output.

Known affected packages

Detection

Example debbindiff output

Work-around

Timestamps can currently only be properly removed for HTML output.

Replace the timestamp (and strip the version while we are at it) in the man pages during package building with the timestamp of e.g. the debian/changelog entry. Example code from the brltty package in the build target:

# doxygen inserts the current time into all the man-pages it creates without
# a possibility to turn that off (AFAICT). So replacing the date with something
# more reasonable: the timestamp of the last Debian changelog entry.
sed --in-place -e \
                "s/\(.TH.* 3 \"\).*\(\" \"Version .*\)/\1$$(LC_ALL=C date --date='$(CL_DATE)' +'%a %b %d %Y')\2/" \

where CL_DATE is created first with:

CL_DATE=$(shell dpkg-parsechangelog --show-field=Date)

Solution

None yet.

Doxygen bug: https://bugs.debian.org/785624

Upstream bug:https://bugzilla.gnome.org/show_bug.cgi?id=750447