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
--- /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
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list