]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
cmake,debian: install pure python module to deb_system path
authorKefu Chai <tchaikov@gmail.com>
Thu, 4 Aug 2022 13:52:43 +0000 (21:52 +0800)
committerKefu Chai <tchaikov@gmail.com>
Wed, 31 Aug 2022 12:36:53 +0000 (20:36 +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>
(cherry picked from commit 04967404ed682835f81c1a5e51f94d09805d38b3)
Conflicts:
    apply the same change to debian/python3-cephfs.install, which
    was remove in main branch, but we need to preserve it in pacific.

debian/python3-ceph-argparse.install
debian/python3-cephfs.install [changed mode: 0644->0755]
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/
old mode 100644 (file)
new mode 100755 (executable)
index 6eb8836..ac88db2
@@ -1,3 +1,5 @@
-usr/lib/python3*/dist-packages/ceph_volume_client.py
+#! /usr/bin/dh-exec
+
+usr/lib/python3*/*-packages/ceph_volume_client.py /usr/lib/python3/dist-packages/
 usr/lib/python3*/dist-packages/cephfs-*.egg-info
 usr/lib/python3*/dist-packages/cephfs.cpython*.so
index 942af6e4966c2d4b91c491605c9552c2923ccdc6..8b4cbf12cb67ae40cca6f992c57cb245ea6da7c2 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}',\