diff --git a/.gitignore b/.gitignore index 6462152..bc12f65 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ -ocaml-libvirt-0.6.1.0.tar.gz -/ocaml-libvirt-0.6.1.1.tar.gz -/ocaml-libvirt-0.6.1.2.tar.gz +/.build*.log +/clog +/ocaml-libvirt-*.tar.gz diff --git a/0001-remove-parameter-nr_pcpus-of-Libvirt.Domain.get_cpu_.patch b/0001-remove-parameter-nr_pcpus-of-Libvirt.Domain.get_cpu_.patch new file mode 100644 index 0000000..3352a6f --- /dev/null +++ b/0001-remove-parameter-nr_pcpus-of-Libvirt.Domain.get_cpu_.patch @@ -0,0 +1,116 @@ +From 252568550f9bf28b07f4e6d116485205e58afe4a Mon Sep 17 00:00:00 2001 +From: Hu Tao +Date: Wed, 9 May 2012 16:48:30 +0800 +Subject: [PATCH 1/2] remove parameter nr_pcpus of + Libvirt.Domain.get_cpu_stats + +remove the value because we can get it from the libvirt API +--- + examples/.depend | 4 ++-- + examples/get_cpu_stats.ml | 2 +- + libvirt/.depend | 6 +++--- + libvirt/libvirt.ml | 2 +- + libvirt/libvirt.mli | 4 ++-- + libvirt/libvirt_c_oneoffs.c | 10 +++++++--- + 6 files changed, 16 insertions(+), 12 deletions(-) + +diff --git a/examples/.depend b/examples/.depend +index 831adf6..f58db3d 100644 +--- a/examples/.depend ++++ b/examples/.depend +@@ -1,6 +1,6 @@ +-node_info.cmo: ../libvirt/libvirt.cmi +-node_info.cmx: ../libvirt/libvirt.cmx + get_cpu_stats.cmo: ../libvirt/libvirt.cmi + get_cpu_stats.cmx: ../libvirt/libvirt.cmx + list_domains.cmo: ../libvirt/libvirt.cmi + list_domains.cmx: ../libvirt/libvirt.cmx ++node_info.cmo: ../libvirt/libvirt.cmi ++node_info.cmx: ../libvirt/libvirt.cmx +diff --git a/examples/get_cpu_stats.ml b/examples/get_cpu_stats.ml +index 79d5c3c..d7a8d0c 100644 +--- a/examples/get_cpu_stats.ml ++++ b/examples/get_cpu_stats.ml +@@ -25,7 +25,7 @@ let () = + + let stats = + let dom = D.lookup_by_name conn domname in +- D.get_cpu_stats dom nr_pcpus in ++ D.get_cpu_stats dom in + + Array.iteri ( + fun n params -> +diff --git a/libvirt/.depend b/libvirt/.depend +index 43a2367..3f2297e 100644 +--- a/libvirt/.depend ++++ b/libvirt/.depend +@@ -1,6 +1,6 @@ +-libvirt_version.cmi: + libvirt.cmi: +-libvirt_version.cmo: libvirt_version.cmi +-libvirt_version.cmx: libvirt_version.cmi ++libvirt_version.cmi: + libvirt.cmo: libvirt.cmi + libvirt.cmx: libvirt.cmi ++libvirt_version.cmo: libvirt_version.cmi ++libvirt_version.cmx: libvirt_version.cmi +diff --git a/libvirt/libvirt.ml b/libvirt/libvirt.ml +index 53c5bb4..07542a9 100644 +--- a/libvirt/libvirt.ml ++++ b/libvirt/libvirt.ml +@@ -417,7 +417,7 @@ struct + external set_vcpus : [>`W] t -> int -> unit = "ocaml_libvirt_domain_set_vcpus" + external pin_vcpu : [>`W] t -> int -> string -> unit = "ocaml_libvirt_domain_pin_vcpu" + external get_vcpus : [>`R] t -> int -> int -> int * vcpu_info array * string = "ocaml_libvirt_domain_get_vcpus" +- external get_cpu_stats : [>`R] t -> int -> typed_param list array = "ocaml_libvirt_domain_get_cpu_stats" ++ external get_cpu_stats : [>`R] t -> typed_param list array = "ocaml_libvirt_domain_get_cpu_stats" + external get_max_vcpus : [>`R] t -> int = "ocaml_libvirt_domain_get_max_vcpus" + external attach_device : [>`W] t -> xml -> unit = "ocaml_libvirt_domain_attach_device" + external detach_device : [>`W] t -> xml -> unit = "ocaml_libvirt_domain_detach_device" +diff --git a/libvirt/libvirt.mli b/libvirt/libvirt.mli +index 0913a63..5a288c0 100644 +--- a/libvirt/libvirt.mli ++++ b/libvirt/libvirt.mli +@@ -559,8 +559,8 @@ sig + for a domain. See the libvirt documentation for details + of the array and bitmap returned from this function. + *) +- val get_cpu_stats : [>`R] t -> int -> typed_param list array +- (** [get_pcpu_stats dom nr_pcpu] returns the physical CPU stats ++ val get_cpu_stats : [>`R] t -> typed_param list array ++ (** [get_pcpu_stats dom] returns the physical CPU stats + for a domain. See the libvirt documentation for details. + *) + val get_max_vcpus : [>`R] t -> int +diff --git a/libvirt/libvirt_c_oneoffs.c b/libvirt/libvirt_c_oneoffs.c +index 3d42b73..70cf96f 100644 +--- a/libvirt/libvirt_c_oneoffs.c ++++ b/libvirt/libvirt_c_oneoffs.c +@@ -532,17 +532,21 @@ extern int virDomainGetCPUStats (virDomainPtr domain, + #endif + + CAMLprim value +-ocaml_libvirt_domain_get_cpu_stats (value domv, value nr_pcpusv) ++ocaml_libvirt_domain_get_cpu_stats (value domv) + { + #ifdef HAVE_VIRDOMAINGETCPUSTATS +- CAMLparam2 (domv, nr_pcpusv); ++ CAMLparam1 (domv); + CAMLlocal5 (cpustats, param_head, param_node, typed_param, typed_param_value); + CAMLlocal1 (v); + virDomainPtr dom = Domain_val (domv); + virConnectPtr conn = Connect_domv (domv); +- int nr_pcpus = Int_val (nr_pcpusv); + virTypedParameterPtr params; + int r, cpu, ncpus, nparams, i, j, pos; ++ int nr_pcpus; ++ ++ /* get number of pcpus */ ++ NONBLOCKING (nr_pcpus = virDomainGetCPUStats(dom, NULL, 0, 0, 0, 0)); ++ CHECK_ERROR (nr_pcpus < 0, conn, "virDomainGetCPUStats"); + + /* get percpu information */ + NONBLOCKING (nparams = virDomainGetCPUStats(dom, NULL, 0, 0, 1, 0)); +-- +1.7.11.4 + diff --git a/ocaml-libvirt.spec b/ocaml-libvirt.spec index 835dfdd..ab76c62 100644 --- a/ocaml-libvirt.spec +++ b/ocaml-libvirt.spec @@ -3,14 +3,13 @@ Name: ocaml-libvirt Version: 0.6.1.2 -Release: 3%{?dist} +Release: 5%{?dist} Summary: OCaml binding for libvirt Group: Development/Libraries License: LGPLv2+ URL: http://libvirt.org/ocaml/ Source0: http://libvirt.org/sources/ocaml/%{name}-%{version}.tar.gz -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) ExcludeArch: sparc64 s390 s390x BuildRequires: ocaml >= 3.10.0 @@ -21,6 +20,8 @@ BuildRequires: libvirt-devel >= 0.2.1 BuildRequires: perl BuildRequires: gawk +Patch1: 0001-remove-parameter-nr_pcpus-of-Libvirt.Domain.get_cpu_.patch + %description OCaml binding for libvirt. @@ -39,6 +40,7 @@ developing applications that use %{name}. %prep %setup -q +%patch1 -p1 %build @@ -52,7 +54,6 @@ strip libvirt/dllmllibvirt.so %install # These rules work if the library uses 'ocamlfind install' to install itself. -rm -rf $RPM_BUILD_ROOT export DESTDIR=$RPM_BUILD_ROOT export OCAMLFIND_DESTDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml mkdir -p $OCAMLFIND_DESTDIR $OCAMLFIND_DESTDIR/stublibs @@ -64,12 +65,7 @@ make install-byte %endif -%clean -rm -rf $RPM_BUILD_ROOT - - %files -%defattr(-,root,root,-) %doc COPYING.LIB README ChangeLog %{_libdir}/ocaml/libvirt %if %opt @@ -83,7 +79,6 @@ rm -rf $RPM_BUILD_ROOT %files devel -%defattr(-,root,root,-) %doc COPYING.LIB README TODO.libvirt ChangeLog html/* %if %opt %{_libdir}/ocaml/libvirt/*.a @@ -94,6 +89,11 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Fri Oct 12 2012 Richard W.M. Jones - 0.6.1.2-5 +- Modernise the spec file. +- Add upstream patch to remove unnecessary get_cpu_stats second parameter + (thanks Hu Tao). + * Fri Jul 20 2012 Fedora Release Engineering - 0.6.1.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild