On 04/02/2012 01:57 PM, Daniel P. Berrange wrote:
From: "Daniel P. Berrange" <berrange(a)redhat.com>
* daemon/libvirtd.c: Set custom driver module dir if the current
binary name is 'lt-libvirtd' (indicating execution directly
from GIT checkout)
* src/driver.c, src/driver.h, src/libvirt_driver_modules.syms: Add
virDriverModuleInitialize to allow driver module location to
be changed
Signed-off-by: Daniel P. Berrange <berrange(a)redhat.com>
---
daemon/libvirtd.c | 6 ++++++
src/driver.c | 18 ++++++++++++++++--
src/driver.h | 1 +
src/libvirt_driver_modules.syms | 1 +
4 files changed, 24 insertions(+), 2 deletions(-)
diff --git a/daemon/libvirtd.c b/daemon/libvirtd.c
index dfab810..ead160e 100644
--- a/daemon/libvirtd.c
+++ b/daemon/libvirtd.c
@@ -1341,6 +1341,12 @@ int main(int argc, char **argv) {
/* initialize early logging */
virLogSetFromEnv();
+#ifdef WITH_DRIVER_MODULES
+ if (strstr(argv[0], "lt-libvirtd") &&
+ (access("./.git", R_OK) >= 0 || access("../.git", R_OK)
>= 0))
This won't work for builds in deep VPATH (mkdir -p deep/build) or
sibling VPATH (mkdir ../build) locations. Can we come up with a
solution that doesn't limit us to just in-tree and one-deep directory
builds?
--
Eric Blake eblake(a)redhat.com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org