[Debian-pan-maintainers] Bug#1011752: freesas: please make the build reproducible
Chris Lamb
lamby at debian.org
Thu May 26 11:23:36 BST 2022
Source: freesas
Version: 0.9.0-4
Severity: wishlist
Tags: patch
User: reproducible-builds at lists.alioth.debian.org
Usertags: randomness
X-Debbugs-Cc: reproducible-bugs at lists.alioth.debian.org
Hi,
Whilst working on the Reproducible Builds effort [0] we noticed that
freesas could not be built reproducibly.
This is because if HOME is not writable (or does not exist), then the
manpages generated by html2man in debian/rules contain a warning
message that reference a randomly-generated path name. For example:
Matplotlib created a temporary config/cache directory at
\fI\,/tmp/matplotlib\-89fw1_fi\/\fP because the default path
(/nonexistent/first\-build/.config/matplotlib) is not a writable
directory; it is highly recommended to set the MPLCONFIGDIR
environment variable to a writable directory, in particular to speed
up the import of Matplotlib and to better support multiprocessing
The "matplotlib\-89fw1_fi" is, of course, nondeterminstic.
Patch attached that sets HOME to a known-writable location.
[0] https://reproducible-builds.org/
Regards,
--
,''`.
: :' : Chris Lamb
`. `'` lamby at debian.org / chris-lamb.co.uk
`-
-------------- next part --------------
--- a/debian/rules 2022-05-26 09:59:19.476884338 +0100
--- b/debian/rules 2022-05-26 11:12:26.691867910 +0100
@@ -7,4 +7,4 @@
override_dh_auto_install:
dh_auto_install
for i in debian/python3-freesas/usr/bin/*.py ; do mv -v $$i $$(basename $$i .py) ; done
- for i in debian/python3-freesas/usr/bin/* ; do PYTHONPATH=$$(echo debian/python3-freesas/usr/lib/python*/dist-packages) PATH=_build/bin:$$PATH help2man --output=$$(basename $$i).1 --version-string=$$(dpkg-parsechangelog -S Version | sed s/-[^-]*$$//) --help-option --help --no-discard-stderr $$i ; done
+ for i in debian/python3-freesas/usr/bin/* ; do PYTHONPATH=$$(echo debian/python3-freesas/usr/lib/python*/dist-packages) HOME=$(CURDIR)/_build PATH=_build/bin:$$PATH help2man --output=$$(basename $$i).1 --version-string=$$(dpkg-parsechangelog -S Version | sed s/-[^-]*$$//) --help-option --help --no-discard-stderr $$i ; done
More information about the Debian-pan-maintainers
mailing list