Fix build issue with libxml2 2.12.1

This commit is contained in:
Richard W.M. Jones 2023-11-27 14:17:56 +00:00
parent 4e8b6c0e45
commit 3b9599d9b0
4 changed files with 87 additions and 5 deletions

View File

@ -1,7 +1,7 @@
From 4b15ee2440b0e70e3c1eb5e164ded493e2d8f0c8 Mon Sep 17 00:00:00 2001
From: Yuya Higashi <higashi.yuya@fujitsu.com>
Date: Tue, 15 Nov 2022 13:56:21 +0900
Subject: [PATCH] virt-top: fix to explicitly disconnect from libvirtd
Subject: [PATCH 1/3] virt-top: fix to explicitly disconnect from libvirtd
To prevent libvirtd from printing virNetSocketReadWire I/O errors when
the virt-top command exits, explicitly disconnect from libvirtd.
@ -35,5 +35,5 @@ index 75fbcb9..cbe655a 100644
and get_key_press setup delay =
(* Read the next key, waiting up to 'delay' milliseconds. *)
--
2.31.1
2.42.0

View File

@ -0,0 +1,38 @@
From 1d04fdfce6edea685596fbb18920799c70f1d7fa Mon Sep 17 00:00:00 2001
From: Yuya Higashi <higashi.yuya@fujitsu.com>
Date: Mon, 26 Dec 2022 09:18:15 +0900
Subject: [PATCH 2/3] virt-top: fix to parse init-file correctly
This fixes the following runtime error when parsing init-file.
$ virt-top --init-file <(echo "sort id")
Error: Invalid_argument("String.sub / Bytes.sub")
Raised at Stdlib.invalid_arg in file "stdlib.ml", line 30, characters 20-45
Called from Stdlib__String.sub in file "string.ml" (inlined), line 50, characters 2-23
Called from Utils.split in file "utils.ml", line 82, characters 24-68
Called from Utils.read_config_file.(fun) in file "utils.ml", line 114, characters 23-37
Called from Stdlib__List.map in file "list.ml", line 92, characters 20-23
Called from Top.start_up.try_to_read_init_file in file "top.ml", line 153, characters 17-42
Called from Main.script_mode in file "main.ml", line 37, characters 6-17
Signed-off-by: Yuya Higashi <higashi.yuya@fujitsu.com>
---
src/utils.ml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/utils.ml b/src/utils.ml
index 1f00803..8dfb255 100644
--- a/src/utils.ml
+++ b/src/utils.ml
@@ -79,7 +79,7 @@ let trim ?(test = isspace) str =
let split str sep =
try
let i = String.index str sep in
- String.sub str 0 i, String.sub str (i+1) (String.length str - 1)
+ String.sub str 0 i, String.sub str (i+1) (String.length str - i - 1)
with
Not_found -> str, ""
--
2.42.0

View File

@ -0,0 +1,33 @@
From dd205eeae9fb06ac113884e4c9e9f3a90eef7554 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 27 Nov 2023 14:09:04 +0000
Subject: [PATCH 3/3] src: Include <libxml/parser.h>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
libxml2 2.12.1 failed with this error:
xml-c.c:92:9: warning: implicit declaration of function xmlReadMemory; did you mean xmlInitMemory? [-Wimplicit-function-declaration]
92 | doc = xmlReadMemory (String_val (xmlv), caml_string_length (xmlv),
| ^~~~~~~~~~~~~
| xmlInitMemory
---
src/xml-c.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/xml-c.c b/src/xml-c.c
index 72042bf..6c546b9 100644
--- a/src/xml-c.c
+++ b/src/xml-c.c
@@ -28,6 +28,7 @@
#include <caml/memory.h>
#include <caml/mlvalues.h>
+#include <libxml/parser.h>
#include <libxml/xpath.h>
#include <libxml/xpathInternals.h>
--
2.42.0

View File

@ -3,7 +3,7 @@ ExcludeArch: %{ix86}
Name: virt-top
Version: 1.1.1
Release: 14%{?dist}
Release: 15%{?dist}
Summary: Utility like top(1) for displaying virtualization stats
License: GPL-2.0-or-later
@ -30,8 +30,14 @@ Patch1: virt-top-1.0.9-processcsv-documentation.patch
# Fix "Input/output error" in journal (RHBZ#2148798)
Patch2: 0001-virt-top-fix-to-explicitly-disconnect-from-libvirtd.patch
# Fix problem parsing init-file.
Patch3: 0002-virt-top-fix-to-parse-init-file-correctly.patch
# Fix libxml2 2.12.1 build problems.
Patch4: 0003-src-Include-libxml-parser.h.patch
# Fix linking problems on bytecode-only architectures
Patch3: virt-top-1.1.1-ocaml-bytecode.patch
Patch5: virt-top-1.1.1-ocaml-bytecode.patch
BuildRequires: gcc
BuildRequires: make
@ -73,8 +79,10 @@ different virtualization systems.
%patch -P1 -p1
%endif
%patch -P2 -p1
%ifnarch %{ocaml_native_compiler}
%patch -P3 -p1
%patch -P4 -p1
%ifnarch %{ocaml_native_compiler}
%patch -P5 -p1
%endif
# "ocamlfind byte" has been removed as an alias
@ -128,6 +136,9 @@ install -m 0644 processcsv.py.1 $RPM_BUILD_ROOT%{_mandir}/man1/
%changelog
* Mon Nov 27 2023 Richard W.M. Jones <rjones@redhat.com> - 1.1.1-15
- Fix build issue with libxml2 2.12.1
* Thu Oct 05 2023 Richard W.M. Jones <rjones@redhat.com> - 1.1.1-14
- OCaml 5.1 rebuild for Fedora 40