2011/7/13 Eric Blake <eblake(a)redhat.com>:
On 07/13/2011 01:01 PM, Matthias Bolte wrote:
> ---
> configure.ac | 38 ++++++++++++++++++++++++++++++++++++++
> 1 files changed, 38 insertions(+), 0 deletions(-)
I'd like to see the libvirt.spec.in changes from patch 2/5 squashed back
into this patch - that is, both introduce the new ./configure option,
and control whether the new option gets used in an rpm, all in the same
patch (even if the option is otherwise a no-op until the rest of patch
2). So I'll review those changes here:
> diff --git a/libvirt.spec.in b/libvirt.spec.in
> index 230237e..c971681 100644
> --- a/libvirt.spec.in
> +++ b/libvirt.spec.in
> @@ -50,6 +50,7 @@
> # Then the hypervisor drivers that talk a native remote protocol
> %define with_phyp 0%{!?_without_phyp:1}
> %define with_esx 0%{!?_without_esx:1}
> +%define with_hyperv 0%{!?_without_hyperv:1}
> %define with_xenapi 0%{!?_without_xenapi:1}
>
> # Then the secondary host drivers
> @@ -437,6 +438,9 @@ BuildRequires: libcurl-devel
> BuildRequires: curl-devel
> %endif
> %endif
> +%if %{with_hyperv}
> +BuildRequires: openwsman-devel >= 2.2.6
> +%endif
On Fedora, the package is named libwsman-devel (with counterparts
openwsman-server, libwsman1, and openwsman-client). So this line needs
to be fixed.
> diff --git a/configure.ac b/configure.ac
> index e9d5be4..d7ebe79 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -66,6 +66,7 @@ XMLRPC_REQUIRED=1.14.0
> HAL_REQUIRED=0.5.0
> DEVMAPPER_REQUIRED=1.0.0
> LIBCURL_REQUIRED="7.18.0"
> +OPENWSMAN_REQUIRED="2.2.6"
Fedora 14 is only at 2.2.3 (the libwsman-devel package), Fedora 15 at
2.2.4, and rawhide at 2.2.5, which will slightly hamper my ability to
test remaining patches (I can inspect them, but can't compile-test them,
without installing an out-of-distro build). Are we sure we can't
support anything earlier than 2.2.6? Which distros already have 2.2.6
available?
But that's not necessarily a show-stopper for this patch.
Actually, I'd like to depend on a not yet existing future version that
includes the patches I've posted upstream for it ..
Memory leaks in wsmc_action_enum_and_pull and wsmc_release
http://sf.net/tracker/?func=detail&aid=3317862&group_id=151841&am...
ws_serializer_free_mem doesn't work
http://sf.net/tracker/?func=detail&aid=3317870&group_id=151841&am...
TRACE_EXIT can be skipped in some functions
http://sf.net/tracker/?func=detail&aid=3317873&group_id=151841&am...
optarg and optind in u/os.h conflict with system headers
http://sf.net/tracker/?func=detail&aid=3323325&group_id=151841&am...
wsman-xml-serializer.h misses SER_NS_INT* macros
http://sf.net/tracker/?func=detail&aid=3325111&group_id=151841&am...
.. just to reference them. Most important are the patches for
ws_serializer_free_mem. This problem could be worked around in libvirt
code, but would require duplicating several 100 lines of OpenWSMAN
code.
In the future we'll need to detect the actual version and enable some
currently disabled code sections in the driver to improve the memory
usage footprint. We'll need to get this info from pkg-config as
OpenWSMAN doesn't provide a way to get it's version at compile time.
Anyway, I checked and tested the history of OpenWSMAN and it seems
that this requirement can be relaxed to 2.2.3 without problems.
> +
> +if test "$with_hyperv" = "yes" || test "$with_hyperv"
= "check"; then
> + PKG_CHECK_MODULES(OPENWSMAN, openwsman >= $OPENWSMAN_REQUIRED, [
Autoconf suggests using this quoting:
PKG_CHECK_MODULES([OPENWSMAN], [openwsman >= $OPENWSMAN_REQUIRED], [
ACK with the spec file changes pulled in and nits fixed.
I'd like to delay pushing this series until it's completely ACK'ed. In
the meantime here's a v2 of this patch to simplify compile testing the
whole series.
--
Matthias Bolte
http://photron.blogspot.com