Package: dh-python
Version: 4.20191017
Severity: normal

libarcus and libsavitar from the 3dprinting team have the problem
that the cmake jobs called from dh_auto_install use the wrong python
version, note that 3.8 is used in the 3.7 install pass:

https://salsa.debian.org/3dprinting-team/libsavitar/-/jobs/515849#L935

olasd tracked the problem down to find_package(Python3) not working:

I: pybuild base:217: dh_auto_configure --buildsystem=cmake 
--builddirectory="/builds/3dprinting-team/libsavitar/debian/output/libsavitar-4.4.1/.pybuild/cpython3_3.7/build"
 -- -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3.7 
-DPYTHON_LIBRARY:FILEPATH=/usr/lib/python3.7/config-3.7m-x86_64-linux-gnu/libpython3.7m.so
 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.7m
...
-- Found Python3: /usr/bin/python3.8 (found suitable version "3.8.1", minimum 
required is "3.4") found components:  Interpreter Development

It looks like dh-python should include Python_EXECUTABLE:

https://gitlab.kitware.com/cmake/cmake/commit/06d9e67fbd2b2dfc9cba12327866b2f73eab8a18

cmake variables are case-sensitive, afaict.

(cmake maintainers are in Cc if they want to add something.)

IRC log for reference:

20 12:07 <olasd> Myon: looks like pybuild's dh_auto_configure override for 
cmake passes old variables for cmake's python stuff 
(-DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3.7 
-DPYTHON_LIBRARY:FILEPATH=/usr/lib/python3.7/config-3.7m-x86_64-linux-gnu/libpython3.7m.so
 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.7m), but not the new ones (that 
are only supported since cmake 3.12)
[...]
20 12:11 <olasd> pybuild defers to debhelper's cmake buildsystem
20 12:11 <olasd> maybe that calls make install
20 12:11 <olasd> (but the actual issue is at the configure step, the py3.7 
build detects python3.8)
20 12:13 <Myon> it's still doing the 3.8 things in the 3.7 pass
20 12:13 <olasd> https://gitlab.kitware.com/cmake/cmake/issues/19492
20 12:13 <olasd> looks like what dh-python is trying to do is not possible 
anymore
20 12:13 <Myon> ah, good catch
20 12:13 <Myon> -- Found PythonInterp: /usr/bin/python3.7 (found suitable 
version "3.7.6", minimum required is "3.4")
20 12:13 <Myon> -- Found PythonLibs: 
/usr/lib/python3.7/config-3.7m-x86_64-linux-gnu/libpython3.7m.so (found 
suitable version "3.7.6", minimum required is "3.4")
20 12:13 <Myon> -- Found Python3: /usr/bin/python3.8 (found suitable version 
"3.8.1", minimum required is "3.4") found components:  Interpreter Development
20 12:14 <olasd> or...
20 12:15 <olasd> ah, yes. dh-python/pybuild should set the new cmake 
Python_EXECUTABLE variable 
(https://gitlab.kitware.com/cmake/cmake/commit/06d9e67fbd2b2dfc9cba12327866b2f73eab8a18)

Thanks,
Christoph

Reply via email to