Modernise the spec file.

Add upstream patch to remove unnecessary get_cpu_stats second parameter
(thanks Hu Tao).
This commit is contained in:
Richard W.M. Jones 2012-10-12 11:28:28 +01:00
parent a2291e7637
commit 43bc76b3c6
3 changed files with 128 additions and 12 deletions

6
.gitignore vendored
View File

@ -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

View File

@ -0,0 +1,116 @@
From 252568550f9bf28b07f4e6d116485205e58afe4a Mon Sep 17 00:00:00 2001
From: Hu Tao <hutao@cn.fujitsu.com>
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

View File

@ -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 <rjones@redhat.com> - 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 <rel-eng@lists.fedoraproject.org> - 0.6.1.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild