[libvirt] [PATCH 07/10] Override default driver dir when running from GIT

Eric Blake eblake at redhat.com
Tue May 22 03:53:48 UTC 2012


On 05/21/2012 01:59 PM, Daniel P. Berrange wrote:
> From: "Daniel P. Berrange" <berrange at 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 at 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 1e91a45..943fef4 100644
> --- a/daemon/libvirtd.c
> +++ b/daemon/libvirtd.c
> @@ -958,6 +958,12 @@ int main(int argc, char **argv) {
>      /* initialize early logging */
>      virLogSetFromEnv();
>  
> +#ifdef WITH_DRIVER_MODULES
> +    if (strstr(argv[0], "lt-libvirtd") &&

This is not portable to cygwin.  Then again, I haven't yet got libvirtd
to compile on cygwin, so I don't know if it really matters.  Supposedly,
libtool has features to make it easier to run in-tree builds, but I'd
have to research if any of those were any easier than what you've just
hard-coded in.

> +        (access("./.git", R_OK) >= 0 || access("../.git", R_OK) >= 0))
> +        virDriverModuleInitialize("./src/.libs");

This is hard-coded to a very limited set of build setups (that is, it
won't work with all possible VPATH builds).  Can we somehow get at
$srcdir from Makefile and turn it into a #define or an environment
variable, so that we are making only a single probe of the correct
directory regardless of what VPATH build we used?  Is this something
where we need to write a wrapper script around the libtool wrapper that
adds an extra command line argument to libvirtd?

-- 
Eric Blake   eblake at redhat.com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 620 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20120521/8eeefdd8/attachment-0001.sig>


More information about the libvir-list mailing list