Bug#946233: Non-deterministic build depending on presence of cmake

Joachim Reichel joachim.reichel at posteo.de
Sun Jan 19 15:38:43 GMT 2020


Hi Drew,

I just saw your reply by accident. It seems you did not copy me. Note that the
submitter does not receive mails to nnn at bugs.debian.org. Either use
nnn-submitter at b.d.o. or add me directly.

> I checked with Nico upstream, cmake is not intended for building
> pygalmesh for python module deployment.

Ok, fine. I didn't want to suggest that the cmake build is better -- it is
mainly about the discrepancy.

After some debugging I found out why this happens:

If you add "print (tmp_plugin, tmp_certainty)" in line 105 of
/usr/bin/pybuild, you'll see that there is a tie between distutils and cmake
and the first one tried wins. The order in which the plugins are tried is the
file order in the directory /usr/share/dh-python/dhpython/build. In one chroot
where I can reproduce the problem I see cmake first:

$ ls -U1 /usr/share/dh-python/dhpython/build
plugin_cmake.py
plugin_custom.py
base.py
__init__.py
plugin_distutils.py
__pycache__

In another chroot where I can not reproduce the problem I see distutils first:

$ ls -U1 /usr/share/dh-python/dhpython/build
__init__.py
plugin_distutils.py
__pycache__
plugin_custom.py
base.py
plugin_cmake.py

I guess the latter is also the case for the environment you used.

I'll file a separate bug on dh-python. But since this is probably rather an
implementation detail on their side, and for the being, I think a
Build-Conflicts: cmake is in order for pygalmesh.

Best regards,
   Joachim



More information about the debian-science-maintainers mailing list