[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