Source: freesas Version: 0.9.0-4 Severity: wishlist Tags: patch User: reproducible-bui...@lists.alioth.debian.org Usertags: randomness X-Debbugs-Cc: reproducible-b...@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 `. `'` la...@debian.org / chris-lamb.co.uk `-
--- 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