[Debian-pan-maintainers] Bug#1078268: Bug#1078268: pyfai: please make the package build reproducible

PICCA Frederic-Emmanuel frederic-emmanuel.picca at synchrotron-soleil.fr
Fri Aug 9 12:42:21 BST 2024


If you are part of the Debian science just push to the repository.

It is easyer for me to revert  from git, than to  remember to check for MR :)

thanks a lot for these investigation.

it is very appreciable

Frederic


----- Le 9 Aoû 24, à 13:18, James Addison via Debian-pan-maintainers debian-pan-maintainers at alioth-lists.debian.net a écrit :

> Source: pyfai
> Severity: wishlist
> X-Debbugs-Cc: reproducible-bugs at lists.alioth.debian.org
> User: reproducible-builds at lists.alioth.debian.org
> Usertags: buildpath cpu
> 
> Dear Maintainer,
> 
> I'm an occasional volunteer contributor to the Reproducible Builds[1] project,
> and noticed that the pyFAI package failed a recent automated build
> reproducibility test[2], as also reported in recent Salsa CI reprotest
> results[3].
> 
> I'm aware of two causes of non-determinism in the build so far:
> 
> 
> The first cause of non-determinism is the use of temporary directory paths by
> the meson-python build process; the resulting paths are embedded in some of the
> extension modules (for example, this[4] CRC32 module) produced in the output
> binary package.
> 
> The meson-python build generates and uses a temporary, randomized build
> directory path only when no build-dir setting is already configured.  So we may
> be able to resolve this problem by choosing an appropriate static build-dir.
> 
> It appears that the Debian numpy package encountered a similar problem and
> applied[5] that same style of fix.
> 
> 
> The second non-deterministic output appears to be due to dynamic-evaluation of
> a 'threadpoolsize' default argument value for a Python initializer[6], which
> is set to the current host's CPU count.  This would generally only be relevant
> at runtime, except for the fact that the documentation package, built using
> the Sphinx 'autodoc' extension, renders the evaluated value in the output HTML
> docs.  That behaviour can be disabled using the 'autodoc_preserve_defaults'[7]
> configuration setting.
> 
> 
> I'll prepare patches and corresponding merge requests on Salsa to configure a
> fixed build-dir for the meson-python build process, and to configure Sphinx
> autodoc to preserve argument default signatures as they appear (unevaluated)
> in the source code.
> 
> Regards,
> James
> 
> [1] - https://reproducible-builds.org/
> 
> [2] -
> https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/pyfai.html
> 
> [3] - https://salsa.debian.org/science-team/pyfai/-/jobs/6077934
> 
> [4] -
> https://sources.debian.org/src/pyfai/2024.05-3/src/pyFAI/ext/meson.build/#L106-L107
> 
> [5] -
> https://salsa.debian.org/python-team/packages/numpy/-/commit/ece4cae7ceb221783be5ab56b46b1daf196dbc1f
> 
> [6] -
> https://sources.debian.org/src/pyfai/2024.05-3/src/pyFAI/multi_geometry.py/?hl=62#L59-L62
> 
> [7] -
> https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html#confval-autodoc_preserve_defaults
> 
> --
> Debian-pan-maintainers mailing list
> Debian-pan-maintainers at alioth-lists.debian.net
> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/debian-pan-maintainers



More information about the Debian-pan-maintainers mailing list