[libvirt] [PATCH v4 4/8] Qemu Monitor API entry point.
Chris Lalancette
clalance at redhat.com
Fri Jul 23 15:42:29 UTC 2010
On 07/20/10 - 11:56:52AM, Daniel P. Berrange wrote:
> 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
Here's a "diff-diff", which shows the changes I've done to address this
concern. Assuming you are OK with this, I'll push this series (minus the
virsh patch) today.
--
Chris Lalancette
-------------- next part --------------
--- /tmp/04.patch 2010-07-23 10:53:00.535977382 -0400
+++ 0004-Qemu-Monitor-API-entry-point.patch 2010-07-23 10:55:45.501976791 -0400
@@ -96,10 +45,31 @@ Signed-off-by: Chris Lalancette <clalanc
src/vbox/vbox_tmpl.c | 1 +
src/xen/xen_driver.c | 1 +
src/xenapi/xenapi_driver.c | 1 +
- 19 files changed, 144 insertions(+), 1 deletions(-)
+ 20 files changed, 156 insertions(+), 1 deletions(-)
create mode 100644 include/libvirt/libvirt-qemu.h
create mode 100644 src/libvirt-qemu.c
+ create mode 100644 src/libvirt_qemu.syms
+diff --git a/configure.ac b/configure.ac
+index eece723..08b7eb6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1833,6 +1833,7 @@ CYGWIN_EXTRA_PYTHON_LIBADD=
+ MINGW_EXTRA_LDFLAGS=
+ WIN32_EXTRA_CFLAGS=
+ LIBVIRT_SYMBOL_FILE=libvirt.syms
++LIBVIRT_QEMU_SYMBOL_FILE=libvirt_qemu.syms
+ case "$host" in
+ *-*-cygwin*)
+ CYGWIN_EXTRA_LDFLAGS="-no-undefined"
+@@ -1872,6 +1873,7 @@ AC_SUBST([CYGWIN_EXTRA_PYTHON_LIBADD])
+ AC_SUBST([MINGW_EXTRA_LDFLAGS])
+ AC_SUBST([WIN32_EXTRA_CFLAGS])
+ AC_SUBST([LIBVIRT_SYMBOL_FILE])
++AC_SUBST([LIBVIRT_QEMU_SYMBOL_FILE])
+ AC_SUBST([VERSION_SCRIPT_FLAGS])
+
+
diff --git a/include/libvirt/Makefile.am b/include/libvirt/Makefile.am
index 8589dc5..b2c2b76 100644
--- a/include/libvirt/Makefile.am
@@ -166,7 +136,7 @@ index ece18a6..9cf9d67 100644
libvirt_test_la_CFLAGS = $(COVERAGE_CFLAGS)
+libvirt_qemu_la_SOURCES = libvirt-qemu.c
-+libvirt_qemu_la_LDFLAGS = $(VERSION_SCRIPT_FLAGS)$(LIBVIRT_SYMBOL_FILE) \
++libvirt_qemu_la_LDFLAGS = $(VERSION_SCRIPT_FLAGS)$(LIBVIRT_QEMU_SYMBOL_FILE) \
+ -version-info $(LIBVIRT_VERSION_INFO) \
+ $(CYGWIN_EXTRA_LDFLAGS) $(MINGW_EXTRA_LDFLAGS)
+libvirt_qemu_la_CFLAGS = $(COVERAGE_CFLAGS)
@@ -309,21 +279,28 @@ index 778ceb1..fe8f4c9 100644
# xml.h
-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 {
+diff --git a/src/libvirt_qemu.syms b/src/libvirt_qemu.syms
+new file mode 100644
+index 0000000..5702d36
+--- /dev/null
++++ b/src/libvirt_qemu.syms
+@@ -0,0 +1,16 @@
++#
++# Officially exported symbols, for which header
++# file definitions are installed in /usr/include/libvirt
++# from libvirt-qemu.h
++#
++# Versions here are *fixed* to match the libvirt version
++# at which the symbol was introduced. This ensures that
++# a new client app requiring symbol foo() can't accidentally
++# run with old libvirt-qemu.so not providing foo() - the global
++# soname version info can't enforce this since we never
++# change the soname
++#
++LIBVIRT_QEMU_0.8.3 {
+ global:
+ virDomainQemuMonitorCommand;
-+} LIBVIRT_0.8.2;
-+
- # .... define new API here using predicted next version number ....
++};
diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c
index 462bc9c..4fc1ecd 100644
--- a/src/lxc/lxc_driver.c
More information about the libvir-list
mailing list