[libvirt] [PATCH v4 4/8] Qemu Monitor API entry point.

Daniel P. Berrange berrange at redhat.com
Tue Jul 20 10:56:52 UTC 2010


On Wed, Jul 07, 2010 at 05:33:29PM -0400, Chris Lalancette wrote:
> Add the library entry point for the new virDomainQemuMonitorCommand()
> entry point.  Because this is not part of the "normal" libvirt API,
> it gets its own header file, library file, and will eventually
> get its own over-the-wire protocol later in the series.
> 
> Changes since v1:
>  - Go back to using the virDriver table for qemuDomainMonitorCommand, due to
>    linking issues
>  - Added versioning information to the libvirt-qemu.so
> 
> Changes since v2:
>  - None
> 
> Changes since v3:
>  - Add LGPL header to libvirt-qemu.c
>  - Make virLibConnError and virLibDomainError macros instead of function calls
> 
> Signed-off-by: Chris Lalancette <clalance at redhat.com>
> ---
>  include/libvirt/Makefile.am    |    1 +
>  include/libvirt/libvirt-qemu.h |   30 +++++++++++++++
>  src/Makefile.am                |    8 +++-
>  src/driver.h                   |    6 +++
>  src/esx/esx_driver.c           |    1 +
>  src/libvirt-qemu.c             |   81 ++++++++++++++++++++++++++++++++++++++++
>  src/libvirt_private.syms       |    1 +
>  src/libvirt_public.syms        |    6 +++

> diff --git a/src/Makefile.am b/src/Makefile.am
> index ece18a6..9cf9d67 100644
> --- a/src/Makefile.am
> +++ b/src/Makefile.am
> @@ -32,7 +32,7 @@ if WITH_NETWORK
>  UUID=$(shell uuidgen 2>/dev/null)
>  endif
>  
> -lib_LTLIBRARIES = libvirt.la
> +lib_LTLIBRARIES = libvirt.la libvirt-qemu.la
>  
>  moddir = $(libdir)/libvirt/drivers
>  mod_LTLIBRARIES =
> @@ -1028,6 +1028,12 @@ libvirt_test_la_LIBADD = $(libvirt_la_LIBADD)
>  libvirt_test_la_LDFLAGS = $(test_LDFLAGS)
>  libvirt_test_la_CFLAGS = $(COVERAGE_CFLAGS)
>  
> +libvirt_qemu_la_SOURCES = libvirt-qemu.c
> +libvirt_qemu_la_LDFLAGS = $(VERSION_SCRIPT_FLAGS)$(LIBVIRT_SYMBOL_FILE) \

Just spotted this bug - it is using the wrong version script file
for exporting symbols.
> +                          -version-info $(LIBVIRT_VERSION_INFO) \
> +                          $(CYGWIN_EXTRA_LDFLAGS) $(MINGW_EXTRA_LDFLAGS)
> +libvirt_qemu_la_CFLAGS = $(COVERAGE_CFLAGS)
> +libvirt_qemu_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)
>  
>  libexec_PROGRAMS =
>  

> diff --git a/src/libvirt_public.syms b/src/libvirt_public.syms
> index 849c163..302b012 100644
> --- a/src/libvirt_public.syms
> +++ b/src/libvirt_public.syms
> @@ -405,4 +405,10 @@ LIBVIRT_0.8.2 {
>          virDomainCreateWithFlags;
>  } LIBVIRT_0.8.1;
>  
> +
> +LIBVIRT_0.8.3 {
> +    global:
> +        virDomainQemuMonitorCommand;
> +} LIBVIRT_0.8.2;

This needs to be a in a separate libvirt_qemu_public.syms since
this symbol is in a separate library. Also make sure to give
it a different version name, eg  LIBVIRT_QEMU_0.8.3


Daniel
-- 
|: Red Hat, Engineering, London    -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org -o- http://virt-manager.org -o- http://deltacloud.org :|
|: http://autobuild.org        -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|




More information about the libvir-list mailing list