]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
tools/ceph-dencoder: register dencoders in "lib" in dev env
authorKefu Chai <tchaikov@gmail.com>
Thu, 28 Jul 2022 15:11:08 +0000 (23:11 +0800)
committerKefu Chai <tchaikov@gmail.com>
Thu, 1 Sep 2022 17:08:25 +0000 (01:08 +0800)
if "CMakeCache.txt" is found in current directory, try to load
dencoder shared libraries  from ./lib. this heuristics is used by
`ceph.in` also for relaunching itself to get access to python
bindings.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
(cherry picked from commit 3dec0345e72f2491b12486f69d3b9d21cece493f)

src/tools/ceph-dencoder/ceph_dencoder.cc

index 9ade1a4d7b8910661f66552c220000146aa298bc..c8993398b693a6e5ed7ea7af059ad6e8d4de633a 100644 (file)
@@ -68,6 +68,8 @@ vector<DencoderPlugin> load_plugins()
   fs::path mod_dir{CEPH_DENC_MOD_DIR};
   if (auto ceph_lib = getenv("CEPH_LIB"); ceph_lib) {
     mod_dir = ceph_lib;
+  } else if (fs::is_regular_file("CMakeCache.txt")) {
+    mod_dir = std::filesystem::canonical("lib");
   }
   vector<DencoderPlugin> dencoder_plugins;
   for (auto& entry : fs::directory_iterator(mod_dir)) {