Notes for ghc - reproducible builds result

Version annotated: 7.10.3-9
Identified issues:
Identifier: blacklisted_on_jenkins_armhf_only
Description Some packages have been blacklisted only on armhf in our test infrastructure
because their builds take too long on the tiny armhf boards we're using.
The mitigation against this is to add more architectures or to wait until
we test against the debian archive, when it will become sensible to raise
the 18h timeout for a single build.
Until his happens, please rely on the amd64, i386 and arm64 tests.
Identifier: captures_build_path
Description Captures build path, e.g., /build/1st/foo-42.0 v. /build/foo-42.0/2nd
Currently we vary the build path only when testing packages from unstable
and experimental, for stretch we recommend that rebuilds are done in the
same path as the original build.
.
This issue is only for miscellaneous issues which need individual fixes,
please create new issues for specific issues, e.g. gcc_captures_build_path.
.
Here follows some general tips for packages using the standard GNU toolchain:
.
If using autoconf, make sure you call ./configure via a relative and not absolute path.
.
If your issue is related to using the `__FILE__` macro, or the recording of
--debug-prefix-map flags in non-GCC non-debugging output, this is what is
fixed by our patch mentioned above; you should not need to fix it
specifically in your package.
.
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: Appears to be a readdir() dependency: find(1) finds a file under two different
names, ghc/ghc.txt and ghc-$(VERSION)/ghc.txt, due to a symlink:
.
https://sources.debian.net/src/ghc/7.10.3-9/debian/rules/#L172
https://sources.debian.net/src/ghc/7.10.3-9/debian/rules/#L209-L210
.
(The blacklist tag is from 7.10.3-7.)
.
Untested patch:
.
diff --git a/debian/rules b/debian/rules
index 779d315..5561e13 100755
--- a/debian/rules
+++ b/debian/rules
@@ -206,8 +206,11 @@ endif
ifeq (YES,$(BUILD_HADDOCK_DOCS))
mkdir -p debian/tmp/$(DEB_HOOGLE_TXT_DIR)
cat debian/ghc-doc.links.in > debian/ghc-doc.links
+ # ignore libraries/ghc/ since it is a symlink to ghc-$(ProjectVersion)
find debian/tmp/usr/share/doc/ghc-doc/html/libraries/*/ -name "*.txt" \
- -printf "%p $(DEB_HOOGLE_TXT_DIR)/%f\n" >> debian/ghc-doc.links
+ -printf "%p $(DEB_HOOGLE_TXT_DIR)/%f\n" \
+ grep -v debian/tmp/usr/share/doc/ghc-doc/html/libraries/ghc/ \
+ >> debian/ghc-doc.links
find debian/tmp/usr/share/doc/ghc-doc $(FILES) > debian/ghc-doc.install
find debian/tmp/usr/lib/ghc-doc $(FILES) >> debian/ghc-doc.install
endif
 

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