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