Notes for debmake-doc - reproducible builds result

Version annotated: 1.0-1
Identified issues:
Identifier: fonts_in_pdf_files
Description The internally used names/identifiers of fonts embedded into PDF files varies.
The order of embedded fonts can also be different.
.
The order is only different if the date differs (set by TZ environment
variable for example). If the date is the same, then the font name
is reproducible. Difference in hour/minute/second resolution seems
to be irrelevant.
.
The font name occurs in the /BaseFont field and in the /Fontname field.
The name is of the form XXXXXX+YYY where the XXXXXX part is the one that
varies and is called the subset_tag. It is generated in
texk/web2c/pdftexdir/utils.c function make_subset_tag() from an MD5 sum
over the font glyphs.
Identifier: user_hostname_manually_added_requiring_further_investigation
Description Packages which intentionally capture the username or hostname into a custom format,
but aren't obviously using any tool or system which has this as a core issue.
Interesting because they could be fixed by fixing these things at build time.
Identifier: different_pot_creation_date_in_gettext_mo_files
URL https://bugs.debian.org/792687
Description Gettext .mo files in /usr/share/locale/*/LC_MESSAGES differ in their POT-Creation-Date.
When using dh, they will be normalized by strip-nondeterminism.
Identifier: different_due_to_umask
Description Files have varying permissions because of different umasks.
Identifier: records_build_flags
Description Records $CFLAGS, which vary intentionally due to the «-fdebug-prefix-map=${BUILDPATH}=.»,
«-ffile-prefix-map=${BUILDPATH}=.» or «-fmacro-prefix-map=${BUILDPATH}=.» flags.
.
We have a patch pending to GCC to fix this issue centrally:
.
https://gcc.gnu.org/ml/gcc-patches/2016-11/msg00182.html
.
Though the patch is currently unlikely to be merged. If/when this
is accepted, this issue should be fixed for all packages and you
should not need to fix it specifically in your package.
.
There is also a work-in-progress patch to dpkg that could address this issue:
.
https://bugs.debian.org/985553
.
For more background information see:
.
• https://alioth-lists.debian.net/pipermail/reproducible-builds/Week-of-Mon-20160822/006788.html
• https://alioth-lists.debian.net/pipermail/reproducible-builds/Week-of-Mon-20160905/006984.html
• https://alioth-lists.debian.net/pipermail/reproducible-builds/Week-of-Mon-20160912/007076.html
Comments: Dynamically includes generates directory listings with umask, etc.
 

Our notes about issues affecting packages are stored in notes.git and are targeted at packages in Debian in 'unstable/amd64' (unless they say otherwise).