Notes for pike8.0 - reproducible builds result

Version annotated: 8.0.1738-1
Identified issues:
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
Bugs noted: 1033954+: "pike8.0: reproducible builds: timestamp embedded in .html documentation"
1033955+: "pike8.0: reproducible builds: kernel version affects buildid"
1033957+: "pike8.0: reproducible-builds: machine.h includes non-deterministic value for FB_CPU_TIME_IS_THREAD_LOCAL"
Comments: Timestamp embedded in documentation
.
Kernel version captured when PIKE_BUILD_OS is not set
https://sources.debian.org/src/pike8.0/8.0.1738-1/Makefile/#L20
.
/usr/include/pike8.0/pike/propagated_variables includes compiler
flags and several variables which embed the full build path.
.
cpu timing captured in /usr/include/pike8.0/pike/machine.h from
https://sources.debian.org/src/pike8.0/8.0.388-2/src/configure.in/#L7431-L7439
-#define FB_CPU_TIME_IS_THREAD_LOCAL PIKE_UNKNOWN
vs.
+#define FB_CPU_TIME_IS_THREAD_LOCAL PIKE_NO
Worked around by passing --without-threads to configure.
 

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).