]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
cmake,debian: install pure python module to deb_system path 47459/head
authorKefu Chai <tchaikov@gmail.com>
Thu, 4 Aug 2022 13:52:43 +0000 (21:52 +0800)
committerKefu Chai <tchaikov@gmail.com>
Fri, 5 Aug 2022 01:10:04 +0000 (09:10 +0800)
in ubuntu 22.04 and debian unstable, the layout (scheme) for system
python module is named "deb_system", the default one is 'posix_local'.
and 'posix_local' installs python modules into paths like
usr/local/lib/python3.10/dist-packages/. hence dh_install fails
when it tries to find the files to be packaged under directory of
usr/lib/python3*/site-packages/.

in this change, the "deb_system" scheme is used if it is available,
and fall back to "posix_prefix" to be backward compatible with older
debian (derivative) distros.

also, update the source directories of pure python's installation
from `site-packages` to `*-packages`, to be compatible with ubuntu focal
and ubuntu jammy. as we are now using the specified scheme instead of
the default one.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
debian/python3-ceph-argparse.install
src/pybind/CMakeLists.txt

index d3339be76909b1450855c9cbc78743b87e84d5e3..52479f93535ec810af8bfcaf5b9fce910ca5546a 100755 (executable)
@@ -1,4 +1,4 @@
 #! /usr/bin/dh-exec
 
-usr/lib/python3*/site-packages/ceph_argparse.py /usr/lib/python3/dist-packages/
-usr/lib/python3*/site-packages/ceph_daemon.py /usr/lib/python3/dist-packages/
+usr/lib/python3*/*-packages/ceph_argparse.py /usr/lib/python3/dist-packages/
+usr/lib/python3*/*-packages/ceph_daemon.py /usr/lib/python3/dist-packages/
index 3808d68199844e6957c1f015f3244eb739add154..b01c49b6215a55385ceeabbe6cc942d5e487c50e 100644 (file)
@@ -36,6 +36,7 @@ execute_process(
     "import sysconfig;\
      print(\
      sysconfig.get_path(\
+     scheme='deb_system' in sysconfig.get_scheme_names() and 'deb_system' or 'posix_prefix',\
      name='purelib',\
      vars=\
      {'base': '${PYTHON_INSTALL_TEMPLATE}',\