Update to libguestfs 1.50.2

resolves: RHEL-46775
This commit is contained in:
Richard W.M. Jones 2024-07-09 14:51:13 +01:00
parent 5400e4953a
commit 6b578e0d34
54 changed files with 91 additions and 1200 deletions

View File

@ -1,4 +1,4 @@
From e58cd8df467e342463d08e3d761c2e322287b13e Mon Sep 17 00:00:00 2001 From d2e6dce96a9f197b688758f90481407e75ae11d2 Mon Sep 17 00:00:00 2001
From: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com> From: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com>
Date: Wed, 26 Apr 2023 15:59:44 +0300 Date: Wed, 26 Apr 2023 15:59:44 +0300
Subject: [PATCH] daemon/selinux-relabel: don't exclude "/selinux" if it's Subject: [PATCH] daemon/selinux-relabel: don't exclude "/selinux" if it's

View File

@ -1,138 +0,0 @@
From 5c672d1541e7d769e73e6858944d33f66be12f30 Mon Sep 17 00:00:00 2001
From: Laszlo Ersek <lersek@redhat.com>
Date: Tue, 14 Mar 2023 14:15:05 +0100
Subject: [PATCH] update common submodule
Andrey Drobyshev (2):
inject_virtio_win: add Virtio_SCSI to block_type
inject_virtio_win: write the proper block controller PCI ID to Win registry
Richard W.M. Jones (2):
mlcustomize: Fix overlong comment
mlcustomize: Add accessors for block driver priority list
Roman Kagan (1):
inject_virtio_win: match only vendor/device/revision
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
(cherry picked from commit 7414ac40c7df0a8938a05ba50907312b0093d107)
---
common | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Submodule common 90e0077e..360e037d:
diff --git a/common/mlcustomize/inject_virtio_win.ml b/common/mlcustomize/inject_virtio_win.ml
index 5f4aab72..2a30b200 100644
--- a/common/mlcustomize/inject_virtio_win.ml
+++ b/common/mlcustomize/inject_virtio_win.ml
@@ -49,9 +49,12 @@ type t = {
of libosinfo. Although this behaviour is documented, IMHO it has
always been a bad idea. We should change this in future to allow
the user to select where they want to get drivers from. XXX *)
+
+ mutable block_driver_priority : string list
+ (** List of block drivers *)
}
-type block_type = Virtio_blk | IDE
+type block_type = Virtio_blk | Virtio_SCSI | IDE
and net_type = Virtio_net | E1000 | RTL8139
and machine_type = I440FX | Q35 | Virt
@@ -107,13 +110,17 @@ and get_inspection g root =
{ g; root;
i_arch; i_major_version; i_minor_version; i_osinfo;
i_product_variant; i_windows_current_control_set; i_windows_systemroot;
- virtio_win = ""; was_set = false }
+ virtio_win = ""; was_set = false;
+ block_driver_priority = ["virtio_blk"; "vrtioblk"; "viostor"] }
+
+let get_block_driver_priority t = t.block_driver_priority
+let set_block_driver_priority t v = t.block_driver_priority <- v
let scsi_class_guid = "{4D36E97B-E325-11CE-BFC1-08002BE10318}"
-let viostor_legacy_pciid = "VEN_1AF4&DEV_1001&SUBSYS_00021AF4&REV_00"
-let viostor_modern_pciid = "VEN_1AF4&DEV_1042&SUBSYS_11001AF4&REV_01"
-let vioscsi_legacy_pciid = "VEN_1AF4&DEV_1004&SUBSYS_00081AF4&REV_00"
-let vioscsi_modern_pciid = "VEN_1AF4&DEV_1048&SUBSYS_11001AF4&REV_01"
+let viostor_legacy_pciid = "VEN_1AF4&DEV_1001&REV_00"
+let viostor_modern_pciid = "VEN_1AF4&DEV_1042&REV_01"
+let vioscsi_legacy_pciid = "VEN_1AF4&DEV_1004&REV_00"
+let vioscsi_modern_pciid = "VEN_1AF4&DEV_1048&REV_01"
let rec inject_virtio_win_drivers ({ g } as t) reg =
(* Copy the virtio drivers to the guest. *)
@@ -176,14 +183,13 @@ let rec inject_virtio_win_drivers ({ g } as t) reg =
else (
(* Can we install the block driver? *)
let block : block_type =
- let filenames = ["virtio_blk"; "vrtioblk"; "viostor"] in
let viostor_driver = try (
Some (
List.find (
fun driver_file ->
let source = driverdir // driver_file ^ ".sys" in
g#exists source
- ) filenames
+ ) t.block_driver_priority
)
) with Not_found -> None in
match viostor_driver with
@@ -194,16 +200,22 @@ let rec inject_virtio_win_drivers ({ g } as t) reg =
IDE
| Some driver_name ->
- (* Block driver needs tweaks to allow booting; the rest is set up by PnP
- * manager *)
+ (* Block driver needs tweaks to allow booting;
+ * the rest is set up by PnP manager.
+ *)
let source = driverdir // (driver_name ^ ".sys") in
let target = sprintf "%s/system32/drivers/%s.sys"
t.i_windows_systemroot driver_name in
let target = g#case_sensitive_path target in
+ let installed_block_type, legacy_pciid, modern_pciid =
+ match driver_name with
+ | "vioscsi" -> Virtio_SCSI, vioscsi_legacy_pciid, vioscsi_modern_pciid
+ | _ -> Virtio_blk, viostor_legacy_pciid, viostor_modern_pciid
+ in
g#cp source target;
- add_guestor_to_registry t reg driver_name viostor_legacy_pciid;
- add_guestor_to_registry t reg driver_name viostor_modern_pciid;
- Virtio_blk in
+ add_guestor_to_registry t reg driver_name legacy_pciid;
+ add_guestor_to_registry t reg driver_name modern_pciid;
+ installed_block_type in
(* Can we install the virtio-net driver? *)
let net : net_type =
diff --git a/common/mlcustomize/inject_virtio_win.mli b/common/mlcustomize/inject_virtio_win.mli
index 0ced02e8..d14f0497 100644
--- a/common/mlcustomize/inject_virtio_win.mli
+++ b/common/mlcustomize/inject_virtio_win.mli
@@ -20,7 +20,7 @@
type t (** Handle *)
-type block_type = Virtio_blk | IDE
+type block_type = Virtio_blk | Virtio_SCSI | IDE
and net_type = Virtio_net | E1000 | RTL8139
and machine_type = I440FX | Q35 | Virt
@@ -64,6 +64,16 @@ val from_environment : Guestfs.guestfs -> string -> string -> t
This should only be used by [virt-v2v] and is considered a legacy method. *)
+val get_block_driver_priority : t -> string list
+val set_block_driver_priority : t -> string list -> unit
+(** Get or set the current block driver priority list. This is
+ a list of virtio-win block driver names (eg. ["viostor"]) that
+ we search until we come to the first [name ^ ".sys"] that
+ we find, and that is the block driver which gets installed.
+
+ This module contains a default priority list which should
+ be suitable for most use cases. *)
+
val inject_virtio_win_drivers : t -> Registry.t -> virtio_win_installed
(** [inject_virtio_win_drivers t reg]
installs virtio drivers from the driver directory or driver

View File

@ -1,4 +1,4 @@
From c1829048c598e11950c9d355fdd5c177a99e046f Mon Sep 17 00:00:00 2001 From 917455b15894c6c82bd657e918ceb09cd825c9c4 Mon Sep 17 00:00:00 2001
From: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com> From: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com>
Date: Wed, 26 Apr 2023 15:59:45 +0300 Date: Wed, 26 Apr 2023 15:59:45 +0300
Subject: [PATCH] daemon/selinux-relabel: search for "invalid option" in Subject: [PATCH] daemon/selinux-relabel: search for "invalid option" in

View File

@ -1,88 +0,0 @@
From 89b6c8b458dcb00de83b543c47a6acb049f63f18 Mon Sep 17 00:00:00 2001
From: Laszlo Ersek <lersek@redhat.com>
Date: Tue, 21 Mar 2023 16:55:15 +0100
Subject: [PATCH] update common submodule
HATAYAMA Daisuke (1):
progress: fix segmentation fault when TERM variable is "dumb"
Laszlo Ersek (2):
detect_kernels: tighten "try" scope
detect_kernels: deal with RHEL's kernel-core / kernel-modules-core split
rwmjones (1):
Merge pull request #5 from d-hatayama/fix_segfault_progress_bar
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2175703
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
(cherry picked from commit be11d25b3e2770d86699e94c5087e6625477d5ec)
---
common | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Submodule common 360e037d..70c10a07:
diff --git a/common/mldrivers/linux_kernels.ml b/common/mldrivers/linux_kernels.ml
index a46146a1..23ff76a5 100644
--- a/common/mldrivers/linux_kernels.ml
+++ b/common/mldrivers/linux_kernels.ml
@@ -125,9 +125,9 @@ let detect_kernels (g : G.guestfs) root bootloader apps =
*)
let modpath, version =
let prefix = "/lib/modules/" in
+ let prefix_len = String.length prefix in
try
- let prefix_len = String.length prefix in
- List.find_map (
+ let modpath, version = List.find_map (
fun filename ->
let filename_len = String.length filename in
if filename_len > prefix_len &&
@@ -137,17 +137,29 @@ let detect_kernels (g : G.guestfs) root bootloader apps =
Some (filename, version)
) else
None
- ) files
+ ) files in
+ (* Fall back to the version in the vmlinuz file name not only if
+ * a candidate pathname couldn't be found under /lib/modules/,
+ * but also in case the candidate pathname doesn't reference a
+ * directory. See RHBZ#2175703.
+ *
+ * Note that this "is_dir" check is deliberately kept outside of
+ * the "find_map"'s mapper function above: we want the first
+ * candidate *to be* a directory, and not the first candidate
+ * *that is* a directory.
+ *)
+ if not (g#is_dir ~followsymlinks:true modpath) then
+ raise Not_found;
+ modpath, version
with Not_found ->
let version =
String.sub vmlinuz 14 (String.length vmlinuz - 14) in
let modpath = prefix ^ version in
+ (* Check that the modpath exists. *)
+ if not (g#is_dir ~followsymlinks:true modpath) then
+ raise Not_found;
modpath, version in
- (* Check that the modpath exists. *)
- if not (g#is_dir ~followsymlinks:true modpath) then
- raise Not_found;
-
(* Find the initramfs which corresponds to the kernel.
* Since the initramfs is built at runtime, and doesn't have
* to be covered by the RPM file list, this is basically
diff --git a/common/progress/progress.c b/common/progress/progress.c
index 4d52b97e..e4b30663 100644
--- a/common/progress/progress.c
+++ b/common/progress/progress.c
@@ -318,7 +318,8 @@ progress_bar_set (struct progress_bar *bar,
* (b) it's just not possible to use tputs in a sane way here.
*/
/*tputs (UP, 2, putchar);*/
- fprintf (fp, "%s", UP);
+ if (UP)
+ fprintf (fp, "%s", UP);
}
bar->count++;

View File

@ -1,4 +1,4 @@
From 3046af080baad9935627ebb671950448cfd0fa7b Mon Sep 17 00:00:00 2001 From d2f8308813da27f422607e5aa21fc95d113a17f0 Mon Sep 17 00:00:00 2001
From: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com> From: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com>
Date: Wed, 26 Apr 2023 15:59:46 +0300 Date: Wed, 26 Apr 2023 15:59:46 +0300
Subject: [PATCH] daemon/selinux-relabel: run setfiles with "-T 0", if Subject: [PATCH] daemon/selinux-relabel: run setfiles with "-T 0", if

View File

@ -1,4 +1,4 @@
From ab7e68dbeefe464734bd63a862a36f612f76d396 Mon Sep 17 00:00:00 2001 From 66b9338e3d786db28fbd853d397741c3ceb19352 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 29 Jul 2013 14:47:56 +0100 Date: Mon, 29 Jul 2013 14:47:56 +0100
Subject: [PATCH] RHEL: Disable unsupported remote drive protocols Subject: [PATCH] RHEL: Disable unsupported remote drive protocols
@ -220,7 +220,7 @@ index 21d42498..ddabeb63 100755
rm test-add-uri.out rm test-add-uri.out
rm test-add-uri.img rm test-add-uri.img
diff --git a/generator/actions_core.ml b/generator/actions_core.ml diff --git a/generator/actions_core.ml b/generator/actions_core.ml
index c8d9949b..26c576c7 100644 index bfb43a19..314bb0ae 100644
--- a/generator/actions_core.ml --- a/generator/actions_core.ml
+++ b/generator/actions_core.ml +++ b/generator/actions_core.ml
@@ -350,29 +350,6 @@ F<filename> is interpreted as a local file or device. @@ -350,29 +350,6 @@ F<filename> is interpreted as a local file or device.

View File

@ -1,4 +1,4 @@
From b74c6c8520773c2ef4a4d69b08b70e5ceeb06964 Mon Sep 17 00:00:00 2001 From b875668bfa9f596aba2e84999c7c9921f8dcb55e Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 7 Jul 2015 09:28:03 -0400 Date: Tue, 7 Jul 2015 09:28:03 -0400
Subject: [PATCH] RHEL: Reject use of libguestfs-winsupport features except for Subject: [PATCH] RHEL: Reject use of libguestfs-winsupport features except for

View File

@ -1,4 +1,4 @@
From e916ad54c31a725cbf08fb186756d9e968ff20b2 Mon Sep 17 00:00:00 2001 From d4be44928a40e7ca1ef6255fb04d28f2fa7fc6b6 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 7 Feb 2023 13:20:36 +0000 Date: Tue, 7 Feb 2023 13:20:36 +0000
Subject: [PATCH] Remove virt-dib Subject: [PATCH] Remove virt-dib

View File

@ -1,4 +1,4 @@
From e712c4b81cbd2cf0e990d01cb4d1f54734e62de6 Mon Sep 17 00:00:00 2001 From d9ba056079f797483ea99394b265c9bf39769687 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 9 Feb 2023 13:38:50 +0000 Date: Thu, 9 Feb 2023 13:38:50 +0000
Subject: [PATCH] lib: Choose q35 machine type for x86-64 Subject: [PATCH] lib: Choose q35 machine type for x86-64

View File

@ -1,4 +1,4 @@
From 1cbe833c756d4e8bf4507319f086e7acbc5c15cb Mon Sep 17 00:00:00 2001 From 826cf6d68e4369de3d160e91b7dad6a894469797 Mon Sep 17 00:00:00 2001
From: Laszlo Ersek <lersek@redhat.com> From: Laszlo Ersek <lersek@redhat.com>
Date: Fri, 19 May 2023 16:08:48 +0200 Date: Fri, 19 May 2023 16:08:48 +0200
Subject: [PATCH] LUKS-on-LVM inspection test: rename VGs and LVs Subject: [PATCH] LUKS-on-LVM inspection test: rename VGs and LVs
@ -17,7 +17,7 @@ Reviewed-by: Richard W.M. Jones <rjones@redhat.com>
2 files changed, 25 insertions(+), 21 deletions(-) 2 files changed, 25 insertions(+), 21 deletions(-)
diff --git a/test-data/phony-guests/make-fedora-img.pl b/test-data/phony-guests/make-fedora-img.pl diff --git a/test-data/phony-guests/make-fedora-img.pl b/test-data/phony-guests/make-fedora-img.pl
index c0cb5d0b..6362e225 100755 index 4c8e1499..b7dc902e 100755
--- a/test-data/phony-guests/make-fedora-img.pl --- a/test-data/phony-guests/make-fedora-img.pl
+++ b/test-data/phony-guests/make-fedora-img.pl +++ b/test-data/phony-guests/make-fedora-img.pl
@@ -224,23 +224,27 @@ EOF @@ -224,23 +224,27 @@ EOF

View File

@ -1,4 +1,4 @@
From 03151a1e315e8e7a52a330254bd1486776fb5add Mon Sep 17 00:00:00 2001 From 56d7564eaa308ef7de44c8b2b5dfc7997140142e Mon Sep 17 00:00:00 2001
From: Laszlo Ersek <lersek@redhat.com> From: Laszlo Ersek <lersek@redhat.com>
Date: Fri, 19 May 2023 16:08:49 +0200 Date: Fri, 19 May 2023 16:08:49 +0200
Subject: [PATCH] LUKS-on-LVM inspection test: test /dev/mapper/VG-LV Subject: [PATCH] LUKS-on-LVM inspection test: test /dev/mapper/VG-LV

View File

@ -1,4 +1,4 @@
From 51d6b17cdd054b96fc83c09541620ffb2f20919e Mon Sep 17 00:00:00 2001 From 744a257083ccc30e6b7bae40acc04eb45a59a971 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 22 May 2023 17:15:39 +0100 Date: Mon, 22 May 2023 17:15:39 +0100
Subject: [PATCH] fuse: Don't call fclose(NULL) on error paths Subject: [PATCH] fuse: Don't call fclose(NULL) on error paths

View File

@ -1,203 +0,0 @@
From 9094eba0abb614e962157ff3399fe6f203676bc7 Mon Sep 17 00:00:00 2001
From: Laszlo Ersek <lersek@redhat.com>
Date: Fri, 19 May 2023 16:08:47 +0200
Subject: [PATCH] update common submodule
Laszlo Ersek (2):
options/keys: key_store_import_key(): un-constify "key" parameter
options/keys: introduce unescape_device_mapper_lvm()
Richard W.M. Jones (1):
mlcustomize/SELinux_relabel.ml: Use Array.mem
Roman Kagan (1):
mlcustomize: skip SELinux relabeling if it's disabled
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2168506
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Message-Id: <20230519140849.310774-2-lersek@redhat.com>
Reviewed-by: Richard W.M. Jones <rjones@redhat.com>
(cherry picked from commit 83afd6d3d2c82ee3a8f22079ba12ef7eac38ac34)
---
common | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Submodule common 70c10a07..b636c3f2:
diff --git a/common/mlcustomize/SELinux_relabel.ml b/common/mlcustomize/SELinux_relabel.ml
index 5ecf7bd7..2f3a09bf 100644
--- a/common/mlcustomize/SELinux_relabel.ml
+++ b/common/mlcustomize/SELinux_relabel.ml
@@ -24,10 +24,6 @@ open Printf
module G = Guestfs
-(* Simple reimplementation of Array.mem, available only with OCaml >= 4.03. *)
-let array_find a l =
- List.mem a (Array.to_list l)
-
let rec relabel (g : G.guestfs) =
(* Is the guest using SELinux? (Otherwise this is a no-op). *)
if is_selinux_guest g then (
@@ -59,14 +55,24 @@ and use_setfiles g =
g#aug_load ();
debug_augeas_errors g;
+ let config_path = "/files/etc/selinux/config" in
+ let config_keys = g#aug_ls config_path in
+ (* SELinux may be disabled via a setting in config file *)
+ let selinux_disabled =
+ let selinuxmode_path = config_path ^ "/SELINUX" in
+ if Array.mem selinuxmode_path config_keys then
+ g#aug_get selinuxmode_path = "disabled"
+ else
+ false in
+ if selinux_disabled then
+ failwith "selinux disabled";
+
(* Get the SELinux policy name, eg. "targeted", "minimum".
* Use "targeted" if not specified, just like libselinux does.
*)
let policy =
- let config_path = "/files/etc/selinux/config" in
let selinuxtype_path = config_path ^ "/SELINUXTYPE" in
- let keys = g#aug_ls config_path in
- if array_find selinuxtype_path keys then
+ if Array.mem selinuxtype_path config_keys then
g#aug_get selinuxtype_path
else
"targeted" in
diff --git a/common/options/keys.c b/common/options/keys.c
index 48f1bc7c..52b27369 100644
--- a/common/options/keys.c
+++ b/common/options/keys.c
@@ -260,8 +260,107 @@ key_store_add_from_selector (struct key_store *ks, const char *selector)
return key_store_import_key (ks, &key);
}
+/* Turn /dev/mapper/VG-LV into /dev/VG/LV, in-place. */
+static void
+unescape_device_mapper_lvm (char *id)
+{
+ static const char dev[] = "/dev/", dev_mapper[] = "/dev/mapper/";
+ const char *input_start;
+ char *output;
+ enum { M_SCAN, M_FILL, M_DONE } mode;
+
+ if (!STRPREFIX (id, dev_mapper))
+ return;
+
+ /* Start parsing "VG-LV" from "id" after "/dev/mapper/". */
+ input_start = id + (sizeof dev_mapper - 1);
+
+ /* Start writing the unescaped "VG/LV" output after "/dev/". */
+ output = id + (sizeof dev - 1);
+
+ for (mode = M_SCAN; mode < M_DONE; ++mode) {
+ char c;
+ const char *input = input_start;
+ const char *hyphen_buffered = NULL;
+ bool single_hyphen_seen = false;
+
+ do {
+ c = *input;
+
+ switch (c) {
+ case '-':
+ if (hyphen_buffered == NULL)
+ /* This hyphen may start an escaped hyphen, or it could be the
+ * separator in VG-LV.
+ */
+ hyphen_buffered = input;
+ else {
+ /* This hyphen completes an escaped hyphen; unescape it. */
+ if (mode == M_FILL)
+ *output++ = '-';
+ hyphen_buffered = NULL;
+ }
+ break;
+
+ case '/':
+ /* Slash characters are forbidden in VG-LV anywhere. If there's any,
+ * we'll find it in the first (i.e., scanning) phase, before we output
+ * anything back to "id".
+ */
+ assert (mode == M_SCAN);
+ return;
+
+ default:
+ /* Encountered a non-slash, non-hyphen character -- which also may be
+ * the terminating NUL.
+ */
+ if (hyphen_buffered != NULL) {
+ /* The non-hyphen character comes after a buffered hyphen, so the
+ * buffered hyphen is supposed to be the single hyphen that separates
+ * VG from LV in VG-LV. There are three requirements for this
+ * separator: (a) it must be unique (we must not have seen another
+ * such separator earlier), (b) it must not be at the start of VG-LV
+ * (because VG would be empty that way), (c) it must not be at the end
+ * of VG-LV (because LV would be empty that way). Should any of these
+ * be violated, we'll catch that during the first (i.e., scanning)
+ * phase, before modifying "id".
+ */
+ if (single_hyphen_seen || hyphen_buffered == input_start ||
+ c == '\0') {
+ assert (mode == M_SCAN);
+ return;
+ }
+
+ /* Translate the separator hyphen to a slash character. */
+ if (mode == M_FILL)
+ *output++ = '/';
+ hyphen_buffered = NULL;
+ single_hyphen_seen = true;
+ }
+
+ /* Output the non-hyphen character (including the terminating NUL)
+ * regardless of whether there was a buffered hyphen separator (which,
+ * by now, we'll have attempted to translate and flush).
+ */
+ if (mode == M_FILL)
+ *output++ = c;
+ }
+
+ ++input;
+ } while (c != '\0');
+
+ /* We must have seen the VG-LV separator. If that's not the case, we'll
+ * catch it before modifying "id".
+ */
+ if (!single_hyphen_seen) {
+ assert (mode == M_SCAN);
+ return;
+ }
+ }
+}
+
struct key_store *
-key_store_import_key (struct key_store *ks, const struct key_store_key *key)
+key_store_import_key (struct key_store *ks, struct key_store_key *key)
{
struct key_store_key *new_keys;
@@ -278,6 +377,7 @@ key_store_import_key (struct key_store *ks, const struct key_store_key *key)
error (EXIT_FAILURE, errno, "realloc");
ks->keys = new_keys;
+ unescape_device_mapper_lvm (key->id);
ks->keys[ks->nr_keys] = *key;
++ks->nr_keys;
diff --git a/common/options/options.h b/common/options/options.h
index 94573ee0..94e8b9ee 100644
--- a/common/options/options.h
+++ b/common/options/options.h
@@ -169,7 +169,8 @@ extern struct matching_key *get_keys (struct key_store *ks, const char *device,
const char *uuid, size_t *nr_matches);
extern void free_keys (struct matching_key *keys, size_t nr_matches);
extern struct key_store *key_store_add_from_selector (struct key_store *ks, const char *selector);
-extern struct key_store *key_store_import_key (struct key_store *ks, const struct key_store_key *key);
+extern struct key_store *key_store_import_key (struct key_store *ks,
+ struct key_store_key *key);
extern bool key_store_requires_network (const struct key_store *ks);
extern void free_key_store (struct key_store *ks);

View File

@ -1,4 +1,4 @@
From dc076916ebaa4b70441d54a09d725dd3c349e740 Mon Sep 17 00:00:00 2001 From 8aafa0631b55ec92ba1fae34d94500dd1e027083 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BCrgen=20H=C3=B6tzel?= <juergen@archlinux.org> From: =?UTF-8?q?J=C3=BCrgen=20H=C3=B6tzel?= <juergen@archlinux.org>
Date: Sat, 27 May 2023 15:32:36 +0200 Date: Sat, 27 May 2023 15:32:36 +0200
Subject: [PATCH] ocaml/implicit_close test: collect all currently unreachable Subject: [PATCH] ocaml/implicit_close test: collect all currently unreachable

View File

@ -1,4 +1,4 @@
From 4a43ae5779424e8b175cfc8d0671378d68afbe9c Mon Sep 17 00:00:00 2001 From 25108090a1566bc49caab833fe1591a0c6f941be Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 27 Jun 2023 10:17:58 +0100 Date: Tue, 27 Jun 2023 10:17:58 +0100
Subject: [PATCH] ocaml: Replace old enter/leave_blocking_section calls Subject: [PATCH] ocaml: Replace old enter/leave_blocking_section calls

View File

@ -1,119 +0,0 @@
From 6db883aa6b9982964de19ab73f9f3baa1ec370f8 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 22 May 2023 16:40:21 +0100
Subject: [PATCH] Replace Pervasives.* with Stdlib.*
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Since OCaml 4.07 (released 2018-07-10) the always-loaded standard
library module has been called Stdlib. The old Pervasives module was
finally removed in OCaml 5.
$ perl -pi.bak -e 's/Pervasives\./Stdlib./g' -- `git ls-files`
OCaml >= 4.07 is now required.
Also update the common submodule with:
commit d61cd820b49e403848d15c5deaccbf8dd7045370
Author: Jürgen Hötzel
Date: Sat May 20 18:16:40 2023 +0200
Add support for OCaml 5.0
(cherry picked from commit 3cb094083e61203a8751bcf31dcb56a47dec6840)
---
common | 2 +-
daemon/chroot.ml | 2 +-
docs/guestfs-building.pod | 2 +-
generator/pr.ml | 4 ++--
m4/guestfs-ocaml.m4 | 6 +++---
5 files changed, 8 insertions(+), 8 deletions(-)
Submodule common b636c3f2..d61cd820:
diff --git a/common/mlstdutils/std_utils.ml b/common/mlstdutils/std_utils.ml
index 0d2fa22f..86b21a7c 100644
--- a/common/mlstdutils/std_utils.ml
+++ b/common/mlstdutils/std_utils.ml
@@ -341,12 +341,12 @@ module List = struct
| x::xs, y::ys, z::zs -> (x, y, z) :: combine3 xs ys zs
| _ -> invalid_arg "combine3"
- let rec assoc_lbl ?(cmp = Pervasives.compare) ~default x = function
+ let rec assoc_lbl ?(cmp = Stdlib.compare) ~default x = function
| [] -> default
| (y, y') :: _ when cmp x y = 0 -> y'
| _ :: ys -> assoc_lbl ~cmp ~default x ys
- let uniq ?(cmp = Pervasives.compare) xs =
+ let uniq ?(cmp = Stdlib.compare) xs =
let rec loop acc = function
| [] -> acc
| [x] -> x :: acc
diff --git a/daemon/chroot.ml b/daemon/chroot.ml
index 62f387ee..087b5031 100644
--- a/daemon/chroot.ml
+++ b/daemon/chroot.ml
@@ -51,7 +51,7 @@ let f t func arg =
try
let chan = out_channel_of_descr wfd in
output_value chan ret;
- Pervasives.flush chan;
+ Stdlib.flush chan;
Exit._exit 0
with
exn ->
diff --git a/docs/guestfs-building.pod b/docs/guestfs-building.pod
index 5a7fa40f..2c084521 100644
--- a/docs/guestfs-building.pod
+++ b/docs/guestfs-building.pod
@@ -119,7 +119,7 @@ virt tools which are still written in Perl.
I<Required>. Part of Perl core.
-=item OCaml E<ge> 4.04
+=item OCaml E<ge> 4.07
=item OCaml findlib
diff --git a/generator/pr.ml b/generator/pr.ml
index d7e6eba3..ed6e9372 100644
--- a/generator/pr.ml
+++ b/generator/pr.ml
@@ -25,7 +25,7 @@ open Std_utils
open Utils
(* Output channel, 'pr' prints to this. *)
-let chan = ref Pervasives.stdout
+let chan = ref Stdlib.stdout
(* Number of lines generated. *)
let lines = ref 0
@@ -53,7 +53,7 @@ let output_to ?(perm = 0o444) filename k =
chan := open_out filename_new;
k ();
close_out !chan;
- chan := Pervasives.stdout;
+ chan := Stdlib.stdout;
(* Is the new file different from the current file? *)
if Sys.file_exists filename && files_equal filename filename_new then
diff --git a/m4/guestfs-ocaml.m4 b/m4/guestfs-ocaml.m4
index 85020717..39a8346f 100644
--- a/m4/guestfs-ocaml.m4
+++ b/m4/guestfs-ocaml.m4
@@ -38,10 +38,10 @@ AC_ARG_ENABLE([ocaml],
[],
[enable_ocaml=yes])
-dnl OCaml >= 4.04 is required.
-ocaml_ver_str=4.04
+dnl OCaml >= 4.07 is required.
+ocaml_ver_str=4.07
ocaml_min_major=4
-ocaml_min_minor=4
+ocaml_min_minor=7
AC_MSG_CHECKING([if OCaml version >= $ocaml_ver_str])
ocaml_major="`echo $OCAMLVERSION | $AWK -F. '{print $1}'`"
ocaml_minor="`echo $OCAMLVERSION | $AWK -F. '{print $2}' | sed 's/^0//'`"

View File

@ -1,4 +1,4 @@
From 73045a40a9bc3b556eb3893872b4c39ec3161f99 Mon Sep 17 00:00:00 2001 From 166e4e90eef0d4c81a92940e5d61450d70f00662 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 27 Jun 2023 11:36:55 +0100 Date: Tue, 27 Jun 2023 11:36:55 +0100
Subject: [PATCH] ocaml: Release runtime lock around guestfs_close Subject: [PATCH] ocaml: Release runtime lock around guestfs_close

View File

@ -1,4 +1,4 @@
From 18b4d4bf5fed0af96a0924cc3e65d5434d4b4aaa Mon Sep 17 00:00:00 2001 From c13dd5b6d4ca94eebe32bc32993f5be0b5b373ad Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 27 Jun 2023 12:09:12 +0100 Date: Tue, 27 Jun 2023 12:09:12 +0100
Subject: [PATCH] ocaml: Conditionally acquire the lock in callbacks Subject: [PATCH] ocaml: Conditionally acquire the lock in callbacks

View File

@ -1,4 +1,4 @@
From 69c86200b3e8ea730be1d6ef81c0f0a07097f611 Mon Sep 17 00:00:00 2001 From b6c9d4624899f4d81cc8d64d47ecef60aad8dd94 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 27 Jun 2023 16:20:49 +0100 Date: Tue, 27 Jun 2023 16:20:49 +0100
Subject: [PATCH] ocaml: Fix guestfs_065_implicit_close.ml for OCaml 5 Subject: [PATCH] ocaml: Fix guestfs_065_implicit_close.ml for OCaml 5

View File

@ -1,4 +1,4 @@
From db11cccf232bce357a3b9699fb5d1111723cdc25 Mon Sep 17 00:00:00 2001 From ff62b8f758e16aab82960474c79a7fc10a0af3ed Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 27 Jun 2023 16:31:55 +0100 Date: Tue, 27 Jun 2023 16:31:55 +0100
Subject: [PATCH] ocaml: Use Caml_state_opt in preference to caml_state Subject: [PATCH] ocaml: Use Caml_state_opt in preference to caml_state

View File

@ -1,4 +1,4 @@
From b96428396bafb05adaaeae5e4da99ca257d56230 Mon Sep 17 00:00:00 2001 From 0be1035c710d95aeca68a10fe9a7b4b740ae7aff Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 29 Jun 2023 13:33:04 +0100 Date: Thu, 29 Jun 2023 13:33:04 +0100
Subject: [PATCH] generator: Add --chown option for virt-customize Subject: [PATCH] generator: Add --chown option for virt-customize

View File

@ -1,4 +1,4 @@
From 23e34435b2bc4cbb40ad383658e03a7ba78b50f2 Mon Sep 17 00:00:00 2001 From cda24a0207fda8659790376a79fdac3d1775da83 Mon Sep 17 00:00:00 2001
From: Laszlo Ersek <lersek@redhat.com> From: Laszlo Ersek <lersek@redhat.com>
Date: Tue, 11 Jul 2023 13:39:06 +0200 Date: Tue, 11 Jul 2023 13:39:06 +0200
Subject: [PATCH] lib: remove guestfs_int_cmd_clear_close_files() Subject: [PATCH] lib: remove guestfs_int_cmd_clear_close_files()

View File

@ -1,4 +1,4 @@
From cdc81e3491c93ab23884e072ef63803af1fb23da Mon Sep 17 00:00:00 2001 From 1eaf876ff2a3bfeaa8756b92e5fa74a91b74f45c Mon Sep 17 00:00:00 2001
From: Laszlo Ersek <lersek@redhat.com> From: Laszlo Ersek <lersek@redhat.com>
Date: Fri, 14 Jul 2023 15:22:09 +0200 Date: Fri, 14 Jul 2023 15:22:09 +0200
Subject: [PATCH] docs: fix broken link in the guestfs manual Subject: [PATCH] docs: fix broken link in the guestfs manual

View File

@ -1,4 +1,4 @@
From 8545c612beba2e3bc8b89664ef74c9ee9e22b8e6 Mon Sep 17 00:00:00 2001 From bb3b9ac1ec7021ac04bca03748f15761c6c97487 Mon Sep 17 00:00:00 2001
From: Laszlo Ersek <lersek@redhat.com> From: Laszlo Ersek <lersek@redhat.com>
Date: Fri, 14 Jul 2023 15:22:10 +0200 Date: Fri, 14 Jul 2023 15:22:10 +0200
Subject: [PATCH] docs: clarify sockdir's separation Subject: [PATCH] docs: clarify sockdir's separation

View File

@ -1,4 +1,4 @@
From bd8c3bd5262b3446f699731ef00dfa62b6fdd8df Mon Sep 17 00:00:00 2001 From 8ba3628594c354dafcc715a842199c75a5676b57 Mon Sep 17 00:00:00 2001
From: Laszlo Ersek <lersek@redhat.com> From: Laszlo Ersek <lersek@redhat.com>
Date: Fri, 14 Jul 2023 15:22:11 +0200 Date: Fri, 14 Jul 2023 15:22:11 +0200
Subject: [PATCH] lib: move guestfs_int_create_socketname() from "launch.c" to Subject: [PATCH] lib: move guestfs_int_create_socketname() from "launch.c" to

View File

@ -1,4 +1,4 @@
From ee2ed1cd009f02e44d137fc78e11bd553f62dcc5 Mon Sep 17 00:00:00 2001 From e7501a32cb096c1957aae0de934c0b563ff18a5f Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Sat, 15 Jul 2023 16:33:18 +0100 Date: Sat, 15 Jul 2023 16:33:18 +0100
Subject: [PATCH] generator: customize: Add new StringTriplet for use by Subject: [PATCH] generator: customize: Add new StringTriplet for use by

View File

@ -1,4 +1,4 @@
From 7052506cbfdb071c0d89c7ef6a14c1b17de9b208 Mon Sep 17 00:00:00 2001 From 981b48085a2d0e422578bc12d6c3b68e312bad44 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 20 Jul 2023 11:15:26 +0100 Date: Thu, 20 Jul 2023 11:15:26 +0100
Subject: [PATCH] daemon: lvm: Do reverse device name translation on pvs_full Subject: [PATCH] daemon: lvm: Do reverse device name translation on pvs_full

View File

@ -1,4 +1,4 @@
From e22e511b1f2e5010ef889171ea7ba57519f39a39 Mon Sep 17 00:00:00 2001 From 12873e21070ba3d0aca45b626f4df00adb14aad5 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 21 Sep 2023 15:16:51 +0100 Date: Thu, 21 Sep 2023 15:16:51 +0100
Subject: [PATCH] ruby: Replace MiniTest with Minitest Subject: [PATCH] ruby: Replace MiniTest with Minitest

View File

@ -1,4 +1,4 @@
From 6272924b7cf2320d5d89c6b5a0e1bd169a0caac2 Mon Sep 17 00:00:00 2001 From fbe7e96cee460e26a0ff6a9c293c155a78bfdfde Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 21 Sep 2023 15:20:55 +0100 Date: Thu, 21 Sep 2023 15:20:55 +0100
Subject: [PATCH] ruby: Get rid of old Test::Unit compatibility Subject: [PATCH] ruby: Get rid of old Test::Unit compatibility

View File

@ -1,4 +1,4 @@
From 57f2fa619d238778f1cd8e38b014b1b6a4e32058 Mon Sep 17 00:00:00 2001 From 7408a59c6b43253cc7323269258851fb6be287c4 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 26 Oct 2023 21:06:21 +0100 Date: Thu, 26 Oct 2023 21:06:21 +0100
Subject: [PATCH] generator: Sort virt-customize options into alphabetical Subject: [PATCH] generator: Sort virt-customize options into alphabetical

View File

@ -1,4 +1,4 @@
From 4be6e5f426270550ab24c612502dfe74217db51b Mon Sep 17 00:00:00 2001 From 3cf513cab7bc93a80c8d9f1dea221cba471cafb9 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 26 Oct 2023 19:44:03 +0100 Date: Thu, 26 Oct 2023 19:44:03 +0100
Subject: [PATCH] generator: Add new virt-customize --tar-in operation Subject: [PATCH] generator: Add new virt-customize --tar-in operation

View File

@ -1,4 +1,4 @@
From 0834340ed9995ce29f037a8a93fa17ea4721f5a7 Mon Sep 17 00:00:00 2001 From 8dc3b9fb23e4af1b6a5271a7d40d6c2706cf1f78 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 16 Nov 2023 10:38:59 +0000 Date: Thu, 16 Nov 2023 10:38:59 +0000
Subject: [PATCH] New mailing list email address Subject: [PATCH] New mailing list email address

View File

@ -1,4 +1,4 @@
From 0836003f9f7f9ccbd803388d1b716d0cdb70ae6d Mon Sep 17 00:00:00 2001 From 86408417cfe9d742b70104187e52b775e89e497e Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 16 Nov 2023 10:52:11 +0000 Date: Thu, 16 Nov 2023 10:52:11 +0000
Subject: [PATCH] New mailing list archives Subject: [PATCH] New mailing list archives
@ -43,7 +43,7 @@ index 40a7267e..b350edb5 100644
To find out how to build libguestfs from source, read: To find out how to build libguestfs from source, read:
diff --git a/configure.ac b/configure.ac diff --git a/configure.ac b/configure.ac
index 0db21297..74f6d20b 100644 index b72e99cf..92479e20 100644
--- a/configure.ac --- a/configure.ac
+++ b/configure.ac +++ b/configure.ac
@@ -321,7 +321,7 @@ echo "If any optional component is configured 'no' when you expected 'yes'" @@ -321,7 +321,7 @@ echo "If any optional component is configured 'no' when you expected 'yes'"

View File

@ -1,4 +1,4 @@
From 769a5fe0d135ec7181416475e89571b6d0a55d0e Mon Sep 17 00:00:00 2001 From f6f2f56535a54a90a5c02974eba09bb7a8f0709c Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 27 Nov 2023 14:04:33 +0000 Date: Mon, 27 Nov 2023 14:04:33 +0000
Subject: [PATCH] lib: Include <libxml/parser.h> for xmlReadMemory Subject: [PATCH] lib: Include <libxml/parser.h> for xmlReadMemory

View File

@ -1,4 +1,4 @@
From 2fc136404619b2d2161326d1ca1ce3715728f04f Mon Sep 17 00:00:00 2001 From 836b63ce6d6a47f0d8179ccd3c96ce152396ba77 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Wed, 13 Dec 2023 22:50:56 +0000 Date: Wed, 13 Dec 2023 22:50:56 +0000
Subject: [PATCH] ocaml: Use Gc.finalise instead of a C finalizer Subject: [PATCH] ocaml: Use Gc.finalise instead of a C finalizer

View File

@ -1,4 +1,4 @@
From e9ef90e37334453a8ce7cf28665fd7b2ea354b82 Mon Sep 17 00:00:00 2001 From a534de4f269ea3c2671b99172063e872204fb978 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 14 Dec 2023 08:33:10 +0000 Date: Thu, 14 Dec 2023 08:33:10 +0000
Subject: [PATCH] ocaml: Nullify custom block before releasing runtime lock Subject: [PATCH] ocaml: Nullify custom block before releasing runtime lock

View File

@ -1,4 +1,4 @@
From 52fb4507fee2a2e261515576d9b130c892e539d7 Mon Sep 17 00:00:00 2001 From 7073e06b2e45ad1544e715d308662a00a6aa20ae Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 14 Dec 2023 09:03:49 +0000 Date: Thu, 14 Dec 2023 09:03:49 +0000
Subject: [PATCH] Update common submodule Subject: [PATCH] Update common submodule

View File

@ -1,4 +1,4 @@
From 84da41bab6f93b2091f23602e276cc7fb62778e3 Mon Sep 17 00:00:00 2001 From 5de9915acd31ffe430adc0df497173032560311c Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 14 Dec 2023 09:15:08 +0000 Date: Thu, 14 Dec 2023 09:15:08 +0000
Subject: [PATCH] tests: Test guestfish --key all:... selector Subject: [PATCH] tests: Test guestfish --key all:... selector

View File

@ -1,4 +1,4 @@
From ad473ca6b681170da08c170c869fa6f61d5934e4 Mon Sep 17 00:00:00 2001 From 118b93a189be2d39d2dc20ef059c9b38c60fe8be Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Fri, 19 Jan 2024 13:18:00 +0000 Date: Fri, 19 Jan 2024 13:18:00 +0000
Subject: [PATCH] generator/customize.ml: Split --chown parameter on ':' Subject: [PATCH] generator/customize.ml: Split --chown parameter on ':'

View File

@ -1,4 +1,4 @@
From d3f1b35aadb15500985b401b15571f5406f2aedf Mon Sep 17 00:00:00 2001 From f1ced749d4b714e98c82a971ac60148f95312812 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Wed, 24 Apr 2024 12:23:34 +0100 Date: Wed, 24 Apr 2024 12:23:34 +0100
Subject: [PATCH] Update common submodule Subject: [PATCH] Update common submodule

View File

@ -1,4 +1,4 @@
From 7c322190a56cebdc70b3e6697020b18f19a8f3d0 Mon Sep 17 00:00:00 2001 From 04a45af93d21880e54a386386313100a04b91ca7 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 8 Jul 2024 14:37:22 +0100 Date: Mon, 8 Jul 2024 14:37:22 +0100
Subject: [PATCH] New APIs: findfs_partuuid and findfs_partlabel Subject: [PATCH] New APIs: findfs_partuuid and findfs_partlabel
@ -30,7 +30,7 @@ index cf2ba4a8..a94e0ce7 100644
and findfs tag str = and findfs tag str =
(* Kill the cache file, forcing blkid to reread values from the (* Kill the cache file, forcing blkid to reread values from the
diff --git a/generator/actions_core.ml b/generator/actions_core.ml diff --git a/generator/actions_core.ml b/generator/actions_core.ml
index 26c576c7..150cb185 100644 index 314bb0ae..c3afe810 100644
--- a/generator/actions_core.ml --- a/generator/actions_core.ml
+++ b/generator/actions_core.ml +++ b/generator/actions_core.ml
@@ -5688,6 +5688,30 @@ filesystem can be found. @@ -5688,6 +5688,30 @@ filesystem can be found.

View File

@ -1,4 +1,4 @@
From 16196e11cb791bcac8e6c8c2d8e63235f149cac7 Mon Sep 17 00:00:00 2001 From ebce03824a3ce75823037003ca2311d7b8d61565 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 8 Jul 2024 14:39:16 +0100 Date: Mon, 8 Jul 2024 14:39:16 +0100
Subject: [PATCH] inspection: Resolve PARTUUID= and PARTLABEL= in /etc/fstab Subject: [PATCH] inspection: Resolve PARTUUID= and PARTLABEL= in /etc/fstab

View File

@ -1,24 +0,0 @@
From fc34a457be847e8a36704c23b5119f2cfaa4d4ee Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 7 Mar 2024 14:17:45 +0000
Subject: [PATCH] daemon: parted: Print field we are extracting in error
message
(cherry picked from commit c8cefa6f0f11dc813e6f881799694da0916e1831)
---
daemon/parted.ml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/daemon/parted.ml b/daemon/parted.ml
index 8280ef32..e0ca7a60 100644
--- a/daemon/parted.ml
+++ b/daemon/parted.ml
@@ -173,7 +173,7 @@ let sgdisk_info_extract_field device partnum field extractor =
commandr ~fold_stdout_on_stderr:true
"sgdisk" [ device; "-i"; string_of_int partnum ] in
if r <> 0 then
- failwithf "sgdisk: %s" err;
+ failwithf "getting %S: sgdisk: %s" field err;
udev_settle ();

View File

@ -1,24 +0,0 @@
From 1438bf8a356303f8545f2beb89aa97b71f0b1ded Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 12 Mar 2024 14:08:03 +0000
Subject: [PATCH] python: Fix exception name in example
Fixes: https://github.com/libguestfs/libguestfs/issues/138
(cherry picked from commit 1d760b0d8ffc4229738e86cda9559a057439a161)
---
python/examples/guestfs-python.pod | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/python/examples/guestfs-python.pod b/python/examples/guestfs-python.pod
index 03ff2ba8..6bd420db 100644
--- a/python/examples/guestfs-python.pod
+++ b/python/examples/guestfs-python.pod
@@ -29,7 +29,7 @@ In a future version of libguestfs, this will become the default.
=head2 EXCEPTIONS
-Errors from libguestfs functions are mapped into C<RuntimeException>
+Errors from libguestfs functions are mapped into C<RuntimeError>
with a single string argument which is the error message.
=head2 MORE DOCUMENTATION

View File

@ -1,28 +0,0 @@
From c33f35c9d82d7e35de85544ec11696c47764c83c Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 4 Apr 2024 09:28:43 +0100
Subject: [PATCH] po-docs: Rename guestfs-release-notes-historical to
guestfs-release-notes
This was missed from earlier commit 25ddaefb03 ("docs: Recreate
guestfs-release-notes(1) page").
Fixes: commit 25ddaefb03f1a7364a71a71a2ba4a6a99e1bad48
(cherry picked from commit d8297785298cfe0b222f8f7d8c43c5405f1d861a)
---
po-docs/language.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/po-docs/language.mk b/po-docs/language.mk
index 2d5f0fef..4c2a5595 100644
--- a/po-docs/language.mk
+++ b/po-docs/language.mk
@@ -61,7 +61,7 @@ MANPAGES = \
guestfs-release-notes-1.8.1 \
guestfs-release-notes-1.6.1 \
guestfs-release-notes-1.4.1 \
- guestfs-release-notes-historical.1 \
+ guestfs-release-notes.1 \
guestfs-ruby.3 \
guestfs-security.1 \
guestfs-testing.1 \

View File

@ -1,40 +0,0 @@
From db04f9adc4e03ac32a303e9414acbdc215c521f2 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 4 Apr 2024 09:38:28 +0100
Subject: [PATCH] po-docs: Run po4a-translate and sed commands separately
I noticed that 1-byte translated POD files were being generated in the
output directory (po-docs/ja/). This seems to have happened because
po4a-translate was generating an error, but because we were
immediately pipeing the output into sed the error was suppressed.
By running them as two separate commands this cannot happen.
Fixes: commit bd896d68c06d7f66303bd77daa666367b0de5f3a
(cherry picked from commit d755070346c0498672517c844d7ced52e9263197)
---
po-docs/language.mk | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/po-docs/language.mk b/po-docs/language.mk
index 4c2a5595..9fdb4c2f 100644
--- a/po-docs/language.mk
+++ b/po-docs/language.mk
@@ -179,13 +179,16 @@ virt-p2v.1: virt-p2v.pod virt-p2v-kernel-config.pod
# Remove both.
# XXX Fix po4a so it doesn't do this.
%.pod: $(srcdir)/../$(LINGUA).po
+ rm -f $@ $@-t
$(guestfs_am_v_po4a_translate)$(PO4A_TRANSLATE) \
-f pod \
-M utf-8 -L utf-8 \
-k 0 \
-m $(top_srcdir)/$(shell grep '/$(notdir $@)$$' $(top_srcdir)/po-docs/podfiles) \
-p $< \
- | $(SED) '0,/^=encoding/d' > $@
+ -l $@-t
+ $(SED) '0,/^=encoding/d' < $@-t > $@
+ rm $@-t
# XXX Can automake do this properly?
install-data-hook:

View File

@ -1,38 +0,0 @@
From 406be1f7489326083f6d8bb532a0c65c667da825 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Wed, 24 Apr 2024 22:15:16 +0100
Subject: [PATCH] po-docs: Make sure guestmount.1 depends on includes
guestmount.1 depends on translated files blocksize-option.pod,
key-option.pod & keys-from-stdin-option.pod (via __INCLUDE__
directives). If these are not yet translated by the time we try to
generate guestmount.1 then it will fail with:
podwrapper.pl: key-option.pod: cannot find input file on path at /builddir/build/BUILD/libguestfs-1.50.1/podwrapper.pl line 672.
This happens especially in parallel builds. Fix this by writing the
guestmount.1 rule explicitly, with the correct dependencies.
(cherry picked from commit 87b4d19f851feee2ea5776421e216a8c541b4355)
---
po-docs/language.mk | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/po-docs/language.mk b/po-docs/language.mk
index 9fdb4c2f..62a148e0 100644
--- a/po-docs/language.mk
+++ b/po-docs/language.mk
@@ -110,6 +110,13 @@ guestfish.1: guestfish.pod guestfish-actions.pod guestfish-commands.pod guestfis
--license GPLv2+ \
$<
+guestmount.1: guestmount.pod blocksize-option.pod key-option.pod keys-from-stdin-option.pod
+ $(PODWRAPPER) \
+ --no-strict-checks \
+ --man $@ \
+ --license GPLv2+ \
+ $<
+
virt-builder.1: virt-builder.pod customize-synopsis.pod customize-options.pod
$(PODWRAPPER) \
--no-strict-checks \

View File

@ -1,198 +0,0 @@
From 69f567363a098654354e0be94adbf9c5f847a8e9 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 25 Apr 2024 12:56:48 +0100
Subject: [PATCH] test-data/binaries: Remove +x attribute
These binaries are not meant to be run, they are purely data files
used for testing. Remove the +x attribute to prevent accidentally
running them.
However to avoid breaking the phony guests, we need to chmod +x the
files when we upload them into those guests.
(cherry picked from commit 574a87f889c7b48b231fcabf0d45b88bd48b53f8)
---
test-data/binaries/bin-aarch64-dynamic | Bin
test-data/binaries/bin-armv7-dynamic | Bin
test-data/binaries/bin-i586-dynamic | Bin
test-data/binaries/bin-ia64-dynamic | Bin
test-data/binaries/bin-mipsel-dynamic | Bin
test-data/binaries/bin-ppc64-dynamic | Bin
test-data/binaries/bin-ppc64le-dynamic | Bin
test-data/binaries/bin-riscv64-dynamic | Bin
test-data/binaries/bin-s390x-dynamic | Bin
test-data/binaries/bin-sparc-dynamic | Bin
test-data/binaries/bin-win32.exe | Bin
test-data/binaries/bin-win64.exe | Bin
test-data/binaries/bin-x86_64-dynamic | Bin
test-data/binaries/lib-aarch64.so | Bin
test-data/binaries/lib-armv7.so | Bin
test-data/binaries/lib-i586.so | Bin
test-data/binaries/lib-ia64.so | Bin
test-data/binaries/lib-mipsel.so | Bin
test-data/binaries/lib-ppc64.so | Bin
test-data/binaries/lib-ppc64le.so | Bin
test-data/binaries/lib-riscv64.so | Bin
test-data/binaries/lib-s390x.so | Bin
test-data/binaries/lib-sparc.so | Bin
test-data/binaries/lib-win32.dll | Bin
test-data/binaries/lib-win64.dll | Bin
test-data/binaries/lib-x86_64.so | Bin
test-data/phony-guests/make-archlinux-img.sh | 1 +
test-data/phony-guests/make-debian-img.sh | 1 +
test-data/phony-guests/make-fedora-img.pl | 1 +
test-data/phony-guests/make-ubuntu-img.sh | 1 +
30 files changed, 4 insertions(+)
mode change 100755 => 100644 test-data/binaries/bin-aarch64-dynamic
mode change 100755 => 100644 test-data/binaries/bin-armv7-dynamic
mode change 100755 => 100644 test-data/binaries/bin-i586-dynamic
mode change 100755 => 100644 test-data/binaries/bin-ia64-dynamic
mode change 100755 => 100644 test-data/binaries/bin-mipsel-dynamic
mode change 100755 => 100644 test-data/binaries/bin-ppc64-dynamic
mode change 100755 => 100644 test-data/binaries/bin-ppc64le-dynamic
mode change 100755 => 100644 test-data/binaries/bin-riscv64-dynamic
mode change 100755 => 100644 test-data/binaries/bin-s390x-dynamic
mode change 100755 => 100644 test-data/binaries/bin-sparc-dynamic
mode change 100755 => 100644 test-data/binaries/bin-win32.exe
mode change 100755 => 100644 test-data/binaries/bin-win64.exe
mode change 100755 => 100644 test-data/binaries/bin-x86_64-dynamic
mode change 100755 => 100644 test-data/binaries/lib-aarch64.so
mode change 100755 => 100644 test-data/binaries/lib-armv7.so
mode change 100755 => 100644 test-data/binaries/lib-i586.so
mode change 100755 => 100644 test-data/binaries/lib-ia64.so
mode change 100755 => 100644 test-data/binaries/lib-mipsel.so
mode change 100755 => 100644 test-data/binaries/lib-ppc64.so
mode change 100755 => 100644 test-data/binaries/lib-ppc64le.so
mode change 100755 => 100644 test-data/binaries/lib-riscv64.so
mode change 100755 => 100644 test-data/binaries/lib-s390x.so
mode change 100755 => 100644 test-data/binaries/lib-sparc.so
mode change 100755 => 100644 test-data/binaries/lib-win32.dll
mode change 100755 => 100644 test-data/binaries/lib-win64.dll
mode change 100755 => 100644 test-data/binaries/lib-x86_64.so
diff --git a/test-data/binaries/bin-aarch64-dynamic b/test-data/binaries/bin-aarch64-dynamic
old mode 100755
new mode 100644
diff --git a/test-data/binaries/bin-armv7-dynamic b/test-data/binaries/bin-armv7-dynamic
old mode 100755
new mode 100644
diff --git a/test-data/binaries/bin-i586-dynamic b/test-data/binaries/bin-i586-dynamic
old mode 100755
new mode 100644
diff --git a/test-data/binaries/bin-ia64-dynamic b/test-data/binaries/bin-ia64-dynamic
old mode 100755
new mode 100644
diff --git a/test-data/binaries/bin-mipsel-dynamic b/test-data/binaries/bin-mipsel-dynamic
old mode 100755
new mode 100644
diff --git a/test-data/binaries/bin-ppc64-dynamic b/test-data/binaries/bin-ppc64-dynamic
old mode 100755
new mode 100644
diff --git a/test-data/binaries/bin-ppc64le-dynamic b/test-data/binaries/bin-ppc64le-dynamic
old mode 100755
new mode 100644
diff --git a/test-data/binaries/bin-riscv64-dynamic b/test-data/binaries/bin-riscv64-dynamic
old mode 100755
new mode 100644
diff --git a/test-data/binaries/bin-s390x-dynamic b/test-data/binaries/bin-s390x-dynamic
old mode 100755
new mode 100644
diff --git a/test-data/binaries/bin-sparc-dynamic b/test-data/binaries/bin-sparc-dynamic
old mode 100755
new mode 100644
diff --git a/test-data/binaries/bin-win32.exe b/test-data/binaries/bin-win32.exe
old mode 100755
new mode 100644
diff --git a/test-data/binaries/bin-win64.exe b/test-data/binaries/bin-win64.exe
old mode 100755
new mode 100644
diff --git a/test-data/binaries/bin-x86_64-dynamic b/test-data/binaries/bin-x86_64-dynamic
old mode 100755
new mode 100644
diff --git a/test-data/binaries/lib-aarch64.so b/test-data/binaries/lib-aarch64.so
old mode 100755
new mode 100644
diff --git a/test-data/binaries/lib-armv7.so b/test-data/binaries/lib-armv7.so
old mode 100755
new mode 100644
diff --git a/test-data/binaries/lib-i586.so b/test-data/binaries/lib-i586.so
old mode 100755
new mode 100644
diff --git a/test-data/binaries/lib-ia64.so b/test-data/binaries/lib-ia64.so
old mode 100755
new mode 100644
diff --git a/test-data/binaries/lib-mipsel.so b/test-data/binaries/lib-mipsel.so
old mode 100755
new mode 100644
diff --git a/test-data/binaries/lib-ppc64.so b/test-data/binaries/lib-ppc64.so
old mode 100755
new mode 100644
diff --git a/test-data/binaries/lib-ppc64le.so b/test-data/binaries/lib-ppc64le.so
old mode 100755
new mode 100644
diff --git a/test-data/binaries/lib-riscv64.so b/test-data/binaries/lib-riscv64.so
old mode 100755
new mode 100644
diff --git a/test-data/binaries/lib-s390x.so b/test-data/binaries/lib-s390x.so
old mode 100755
new mode 100644
diff --git a/test-data/binaries/lib-sparc.so b/test-data/binaries/lib-sparc.so
old mode 100755
new mode 100644
diff --git a/test-data/binaries/lib-win32.dll b/test-data/binaries/lib-win32.dll
old mode 100755
new mode 100644
diff --git a/test-data/binaries/lib-win64.dll b/test-data/binaries/lib-win64.dll
old mode 100755
new mode 100644
diff --git a/test-data/binaries/lib-x86_64.so b/test-data/binaries/lib-x86_64.so
old mode 100755
new mode 100644
diff --git a/test-data/phony-guests/make-archlinux-img.sh b/test-data/phony-guests/make-archlinux-img.sh
index 066df09d..e0e3d3de 100755
--- a/test-data/phony-guests/make-archlinux-img.sh
+++ b/test-data/phony-guests/make-archlinux-img.sh
@@ -50,6 +50,7 @@ write /etc/hostname "archlinux.test"
upload $SRCDIR/archlinux-package /var/lib/pacman/local/test-package-1:0.1-1/desc
upload $SRCDIR/../binaries/bin-x86_64-dynamic /bin/ls
+chmod 0755 /bin/ls
mkdir /boot/grub
touch /boot/grub/grub.conf
diff --git a/test-data/phony-guests/make-debian-img.sh b/test-data/phony-guests/make-debian-img.sh
index 637bd4bc..27c68e6e 100755
--- a/test-data/phony-guests/make-debian-img.sh
+++ b/test-data/phony-guests/make-debian-img.sh
@@ -85,6 +85,7 @@ write /etc/hostname "debian.invalid"
upload $SRCDIR/debian-packages /var/lib/dpkg/status
upload $SRCDIR/../binaries/bin-x86_64-dynamic /bin/ls
+chmod 0755 /bin/ls
upload $SRCDIR/debian-syslog /var/log/syslog
diff --git a/test-data/phony-guests/make-fedora-img.pl b/test-data/phony-guests/make-fedora-img.pl
index 6362e225..b7dc902e 100755
--- a/test-data/phony-guests/make-fedora-img.pl
+++ b/test-data/phony-guests/make-fedora-img.pl
@@ -331,6 +331,7 @@ $g->write ('/usr/lib/rpm/macros', <<EOF);
EOF
$g->upload ($ENV{SRCDIR}.'/../binaries/bin-x86_64-dynamic', '/bin/ls');
+$g->chmod (0755, '/bin/ls');
$g->tar_in ($ENV{SRCDIR}.'/fedora-journal.tar.xz', '/var/log/journal', compress => "xz");
diff --git a/test-data/phony-guests/make-ubuntu-img.sh b/test-data/phony-guests/make-ubuntu-img.sh
index a3aa6105..5e7a3a96 100755
--- a/test-data/phony-guests/make-ubuntu-img.sh
+++ b/test-data/phony-guests/make-ubuntu-img.sh
@@ -76,6 +76,7 @@ write /etc/hostname "ubuntu.invalid"
upload $SRCDIR/debian-packages /var/lib/dpkg/status
upload $SRCDIR/../binaries/bin-x86_64-dynamic /bin/ls
+chmod 0755 /bin/ls
mkdir /boot/grub
touch /boot/grub/grub.conf

View File

@ -1,20 +0,0 @@
From c1bae8cb76bd14b0bc02983e7e25be09ebc0a19d Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 25 Apr 2024 13:15:08 +0100
Subject: [PATCH] gobject: tests: Don't erase error messages
(cherry picked from commit e0ffe31e96d23b4ffce27fa6c3b1590e3641a910)
---
gobject/run-tests-retvalues | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gobject/run-tests-retvalues b/gobject/run-tests-retvalues
index 272b92e4..d594b464 100755
--- a/gobject/run-tests-retvalues
+++ b/gobject/run-tests-retvalues
@@ -22,4 +22,4 @@ $TEST_FUNCTIONS
skip_if_skipped
skip_unless_environment_variable_set GJS
-$GJS $srcdir/bindtests-retvalues.js 2>/dev/null
+$GJS $srcdir/bindtests-retvalues.js

View File

@ -1,125 +0,0 @@
From 27645254de11a50778161e1d864998323e28bb9e Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Fri, 10 May 2024 13:45:59 +0100
Subject: [PATCH] daemon/parted: Assume sfdisk --part-type exists
This "new" parameter was added in 2014:
commit 8eab3194ce1737a167812d5e84d83b0dfc253fac
Author: Karel Zak <kzak@redhat.com>
Date: Mon Sep 15 12:37:52 2014 +0200
sfdisk: add --parttype
The patch also makes --{id,change-id,print-id} deprecated in favour
of --parttype. The original --id is too generic option name and the
--print-id and --change-id are unnecessary and inconsistent with
another sfdisk options (e.g. we don't have --change-bootable)
Also remove an extraneous / incorrect comment about parted. As
history has played out, sfdisk proves to be the better tool and parted
is a PITA.
(cherry picked from commit 857615d6d258d5bb3badf4caebd4bc8e69f1a33a)
---
daemon/parted.c | 32 +++-----------------------------
daemon/parted.ml | 22 +---------------------
2 files changed, 4 insertions(+), 50 deletions(-)
diff --git a/daemon/parted.c b/daemon/parted.c
index 6d33e5a6..d0f2ce03 100644
--- a/daemon/parted.c
+++ b/daemon/parted.c
@@ -424,30 +424,6 @@ do_part_get_bootable (const char *device, int partnum)
return strstr (boot, "boot") != NULL;
}
-/* Test if sfdisk is recent enough to have --part-type, to be used instead
- * of --print-id and --change-id.
- */
-static int
-test_sfdisk_has_part_type (void)
-{
- static int tested = -1;
-
- if (tested != -1)
- return tested;
-
- int r;
- CLEANUP_FREE char *out = NULL, *err = NULL;
-
- r = command (&out, &err, "sfdisk", "--help", NULL);
- if (r == -1) {
- reply_with_error ("%s: %s", "sfdisk --help", err);
- return -1;
- }
-
- tested = strstr (out, "--part-type") != NULL;
- return tested;
-}
-
int
do_part_set_mbr_id (const char *device, int partnum, int idbyte)
{
@@ -456,8 +432,6 @@ do_part_set_mbr_id (const char *device, int partnum, int idbyte)
return -1;
}
- const char *param = test_sfdisk_has_part_type () ? "--part-type" : "--change-id";
-
char partnum_str[16];
snprintf (partnum_str, sizeof partnum_str, "%d", partnum);
@@ -470,10 +444,10 @@ do_part_set_mbr_id (const char *device, int partnum, int idbyte)
udev_settle ();
- r = command (NULL, &err, "sfdisk",
- param, device, partnum_str, idbyte_str, NULL);
+ r = command (NULL, &err, "sfdisk", "--part-type",
+ device, partnum_str, idbyte_str, NULL);
if (r == -1) {
- reply_with_error ("sfdisk %s: %s", param, err);
+ reply_with_error ("sfdisk --part-type: %s", err);
return -1;
}
diff --git a/daemon/parted.ml b/daemon/parted.ml
index e0ca7a60..c9e55890 100644
--- a/daemon/parted.ml
+++ b/daemon/parted.ml
@@ -25,33 +25,13 @@ open Utils
include Structs
-(* Test if [sfdisk] is recent enough to have [--part-type], to be used
- * instead of [--print-id] and [--change-id].
- *)
-let test_sfdisk_has_part_type = lazy (
- let out = command "sfdisk" ["--help"] in
- String.find out "--part-type" >= 0
-)
-
-(* Currently we use sfdisk for getting and setting the ID byte. In
- * future, extend parted to provide this functionality. As a result
- * of using sfdisk, this won't work for non-MBR-style partitions, but
- * that limitation is noted in the documentation and we can extend it
- * later without breaking the ABI.
- *)
let part_get_mbr_id device partnum =
if partnum <= 0 then
failwith "partition number must be >= 1";
- let param =
- if Lazy.force test_sfdisk_has_part_type then
- "--part-type"
- else
- "--print-id" in
-
udev_settle ();
let out =
- command "sfdisk" [param; device; string_of_int partnum] in
+ command "sfdisk" ["--part-type"; device; string_of_int partnum] in
udev_settle ();
(* It's printed in hex, possibly with a leading space. *)

View File

@ -1,31 +0,0 @@
From 7a6d56d653e7bd41e2e0f6b7ab56a0a2b874572e Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Fri, 28 Jun 2024 09:39:59 +0100
Subject: [PATCH] generator/daemon: Don't truncate 64 bit results from OCaml
functions
Commit d5b6f1df5f ("daemon: Allow parts of the daemon and APIs to be
written in OCaml.", 2017) contained a bug where in any OCaml function
that returns int64_t, the result was truncated to an int. This
particularly affected part_get_gpt_attributes as that returns large 64
bit numbers, but probably affects other functions too, undetected.
Fixes: commit d5b6f1df5ff2d387a5dfc89b8316c0dff67ce2c9
(cherry picked from commit 882ef4d93a2f8b150a66fa89f87ef1c4dd42de2f)
---
generator/daemon.ml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/generator/daemon.ml b/generator/daemon.ml
index a2c06f14..5dba2eee 100644
--- a/generator/daemon.ml
+++ b/generator/daemon.ml
@@ -835,7 +835,7 @@ let generate_daemon_caml_stubs () =
| RInt _ ->
pr " CAMLreturnT (int, Int_val (retv));\n"
| RInt64 _ ->
- pr " CAMLreturnT (int, Int64_val (retv));\n"
+ pr " CAMLreturnT (int64_t, Int64_val (retv));\n"
| RBool _ ->
pr " CAMLreturnT (int, Bool_val (retv));\n"
| RConstString _ -> assert false

View File

@ -1,23 +0,0 @@
From 2515d69e6c3f32827856014710ffd8af2c0260bb Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 8 Jul 2024 14:37:06 +0100
Subject: [PATCH] daemon/findfs.ml: Fix whitespace
(cherry picked from commit 4c5c0782af0903dff053e758977b49566f7ed096)
---
daemon/findfs.ml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/daemon/findfs.ml b/daemon/findfs.ml
index 09ac0388..cf2ba4a8 100644
--- a/daemon/findfs.ml
+++ b/daemon/findfs.ml
@@ -26,7 +26,7 @@ open Utils
let rec findfs_uuid uuid =
findfs "UUID" uuid
and findfs_label label =
- findfs "LABEL"label
+ findfs "LABEL" label
and findfs tag str =
(* Kill the cache file, forcing blkid to reread values from the

View File

@ -44,8 +44,8 @@
Summary: Access and modify virtual machine disk images Summary: Access and modify virtual machine disk images
Name: libguestfs Name: libguestfs
Epoch: 1 Epoch: 1
Version: 1.50.1 Version: 1.50.2
Release: 12%{?dist} Release: 1%{?dist}
License: LGPLv2+ License: LGPLv2+
# Build only for architectures that have a kernel # Build only for architectures that have a kernel
@ -79,70 +79,56 @@ Source7: libguestfs.keyring
# Maintainer script which helps with handling patches. # Maintainer script which helps with handling patches.
Source8: copy-patches.sh Source8: copy-patches.sh
# This is a copy of the common/ submodule from libguestfs @v1.50.1. # This is a copy of the common/ submodule from libguestfs @v1.50.2.
# We need it because the libguestfs tarball does not include common/ # We need it because the libguestfs tarball does not include common/
# directories that are not used by libguestfs (eg. common/mlcustomize). # directories that are not used by libguestfs (eg. common/mlcustomize).
# However the patches (below) patch files in those directories and so # However the patches (below) patch files in those directories and so
# do not apply properly to the libguestfs tarball. Therefore before # do not apply properly to the libguestfs tarball. Therefore before
# applying the patches we unpack this in the common/ subdirectory. # applying the patches we unpack this in the common/ subdirectory.
Source9: libguestfs-common-1.50.1.tar.gz Source9: libguestfs-common-1.50.2.tar.gz
# Patches are maintained in the following repository: # Patches are maintained in the following repository:
# https://github.com/libguestfs/libguestfs/commits/rhel-9.5 # https://github.com/libguestfs/libguestfs/commits/rhel-9.5
# Patches. # Patches.
Patch0001: 0001-update-common-submodule.patch Patch0001: 0001-daemon-selinux-relabel-don-t-exclude-selinux-if-it-s.patch
Patch0002: 0002-update-common-submodule.patch Patch0002: 0002-daemon-selinux-relabel-search-for-invalid-option-in-.patch
Patch0003: 0003-daemon-selinux-relabel-don-t-exclude-selinux-if-it-s.patch Patch0003: 0003-daemon-selinux-relabel-run-setfiles-with-T-0-if-supp.patch
Patch0004: 0004-daemon-selinux-relabel-search-for-invalid-option-in-.patch Patch0004: 0004-RHEL-Disable-unsupported-remote-drive-protocols-RHBZ.patch
Patch0005: 0005-daemon-selinux-relabel-run-setfiles-with-T-0-if-supp.patch Patch0005: 0005-RHEL-Reject-use-of-libguestfs-winsupport-features-ex.patch
Patch0006: 0006-RHEL-Disable-unsupported-remote-drive-protocols-RHBZ.patch Patch0006: 0006-Remove-virt-dib.patch
Patch0007: 0007-RHEL-Reject-use-of-libguestfs-winsupport-features-ex.patch Patch0007: 0007-lib-Choose-q35-machine-type-for-x86-64.patch
Patch0008: 0008-Remove-virt-dib.patch Patch0008: 0008-LUKS-on-LVM-inspection-test-rename-VGs-and-LVs.patch
Patch0009: 0009-lib-Choose-q35-machine-type-for-x86-64.patch Patch0009: 0009-LUKS-on-LVM-inspection-test-test-dev-mapper-VG-LV-tr.patch
Patch0010: 0010-update-common-submodule.patch Patch0010: 0010-fuse-Don-t-call-fclose-NULL-on-error-paths.patch
Patch0011: 0011-LUKS-on-LVM-inspection-test-rename-VGs-and-LVs.patch Patch0011: 0011-ocaml-implicit_close-test-collect-all-currently-unre.patch
Patch0012: 0012-LUKS-on-LVM-inspection-test-test-dev-mapper-VG-LV-tr.patch Patch0012: 0012-ocaml-Replace-old-enter-leave_blocking_section-calls.patch
Patch0013: 0013-Replace-Pervasives.-with-Stdlib.patch Patch0013: 0013-ocaml-Release-runtime-lock-around-guestfs_close.patch
Patch0014: 0014-fuse-Don-t-call-fclose-NULL-on-error-paths.patch Patch0014: 0014-ocaml-Conditionally-acquire-the-lock-in-callbacks.patch
Patch0015: 0015-ocaml-implicit_close-test-collect-all-currently-unre.patch Patch0015: 0015-ocaml-Fix-guestfs_065_implicit_close.ml-for-OCaml-5.patch
Patch0016: 0016-ocaml-Replace-old-enter-leave_blocking_section-calls.patch Patch0016: 0016-ocaml-Use-Caml_state_opt-in-preference-to-caml_state.patch
Patch0017: 0017-ocaml-Release-runtime-lock-around-guestfs_close.patch Patch0017: 0017-generator-Add-chown-option-for-virt-customize.patch
Patch0018: 0018-ocaml-Conditionally-acquire-the-lock-in-callbacks.patch Patch0018: 0018-lib-remove-guestfs_int_cmd_clear_close_files.patch
Patch0019: 0019-ocaml-Fix-guestfs_065_implicit_close.ml-for-OCaml-5.patch Patch0019: 0019-docs-fix-broken-link-in-the-guestfs-manual.patch
Patch0020: 0020-ocaml-Use-Caml_state_opt-in-preference-to-caml_state.patch Patch0020: 0020-docs-clarify-sockdir-s-separation.patch
Patch0021: 0021-generator-Add-chown-option-for-virt-customize.patch Patch0021: 0021-lib-move-guestfs_int_create_socketname-from-launch.c.patch
Patch0022: 0022-lib-remove-guestfs_int_cmd_clear_close_files.patch Patch0022: 0022-generator-customize-Add-new-StringTriplet-for-use-by.patch
Patch0023: 0023-docs-fix-broken-link-in-the-guestfs-manual.patch Patch0023: 0023-daemon-lvm-Do-reverse-device-name-translation-on-pvs.patch
Patch0024: 0024-docs-clarify-sockdir-s-separation.patch Patch0024: 0024-ruby-Replace-MiniTest-with-Minitest.patch
Patch0025: 0025-lib-move-guestfs_int_create_socketname-from-launch.c.patch Patch0025: 0025-ruby-Get-rid-of-old-Test-Unit-compatibility.patch
Patch0026: 0026-generator-customize-Add-new-StringTriplet-for-use-by.patch Patch0026: 0026-generator-Sort-virt-customize-options-into-alphabeti.patch
Patch0027: 0027-daemon-lvm-Do-reverse-device-name-translation-on-pvs.patch Patch0027: 0027-generator-Add-new-virt-customize-tar-in-operation.patch
Patch0028: 0028-ruby-Replace-MiniTest-with-Minitest.patch Patch0028: 0028-New-mailing-list-email-address.patch
Patch0029: 0029-ruby-Get-rid-of-old-Test-Unit-compatibility.patch Patch0029: 0029-New-mailing-list-archives.patch
Patch0030: 0030-generator-Sort-virt-customize-options-into-alphabeti.patch Patch0030: 0030-lib-Include-libxml-parser.h-for-xmlReadMemory.patch
Patch0031: 0031-generator-Add-new-virt-customize-tar-in-operation.patch Patch0031: 0031-ocaml-Use-Gc.finalise-instead-of-a-C-finalizer.patch
Patch0032: 0032-New-mailing-list-email-address.patch Patch0032: 0032-ocaml-Nullify-custom-block-before-releasing-runtime-.patch
Patch0033: 0033-New-mailing-list-archives.patch Patch0033: 0033-Update-common-submodule.patch
Patch0034: 0034-lib-Include-libxml-parser.h-for-xmlReadMemory.patch Patch0034: 0034-tests-Test-guestfish-key-all-.-selector.patch
Patch0035: 0035-ocaml-Use-Gc.finalise-instead-of-a-C-finalizer.patch Patch0035: 0035-generator-customize.ml-Split-chown-parameter-on-char.patch
Patch0036: 0036-ocaml-Nullify-custom-block-before-releasing-runtime-.patch Patch0036: 0036-Update-common-submodule.patch
Patch0037: 0037-Update-common-submodule.patch Patch0037: 0037-New-APIs-findfs_partuuid-and-findfs_partlabel.patch
Patch0038: 0038-tests-Test-guestfish-key-all-.-selector.patch Patch0038: 0038-inspection-Resolve-PARTUUID-and-PARTLABEL-in-etc-fst.patch
Patch0039: 0039-generator-customize.ml-Split-chown-parameter-on-char.patch
Patch0040: 0040-daemon-parted-Print-field-we-are-extracting-in-error.patch
Patch0041: 0041-python-Fix-exception-name-in-example.patch
Patch0042: 0042-po-docs-Rename-guestfs-release-notes-historical-to-g.patch
Patch0043: 0043-po-docs-Run-po4a-translate-and-sed-commands-separate.patch
Patch0044: 0044-Update-common-submodule.patch
Patch0045: 0045-po-docs-Make-sure-guestmount.1-depends-on-includes.patch
Patch0046: 0046-test-data-binaries-Remove-x-attribute.patch
Patch0047: 0047-gobject-tests-Don-t-erase-error-messages.patch
Patch0048: 0048-daemon-parted-Assume-sfdisk-part-type-exists.patch
Patch0049: 0049-generator-daemon-Don-t-truncate-64-bit-results-from-.patch
Patch0050: 0050-daemon-findfs.ml-Fix-whitespace.patch
Patch0051: 0051-New-APIs-findfs_partuuid-and-findfs_partlabel.patch
Patch0052: 0052-inspection-Resolve-PARTUUID-and-PARTLABEL-in-etc-fst.patch
%if 0%{patches_touch_autotools} %if 0%{patches_touch_autotools}
BuildRequires: autoconf, automake, libtool, gettext-devel BuildRequires: autoconf, automake, libtool, gettext-devel
@ -1155,6 +1141,10 @@ rm ocaml/html/.gitignore
%changelog %changelog
* Tue Jul 09 2024 Richard W.M. Jones <rjones@redhat.com> - 1:1.50.2-1
- Update to libguestfs 1.50.2
resolves: RHEL-46775
* Mon Jul 08 2024 Richard W.M. Jones <rjones@redhat.com> - 1:1.50.1-12 * Mon Jul 08 2024 Richard W.M. Jones <rjones@redhat.com> - 1:1.50.1-12
- inspection: Resolve PARTUUID= and PARTLABEL= in /etc/fstab - inspection: Resolve PARTUUID= and PARTLABEL= in /etc/fstab
resolves: RHEL-40142, RHEL-46596 resolves: RHEL-40142, RHEL-46596

View File

@ -1,3 +1,3 @@
SHA512 (libguestfs-1.50.1.tar.gz) = 237ef512a767a3d56f9705818ead6ebedcaf107d576acf844353730913ee4fc5f2b085bf7d647b693bf4760e986416ba71f628d7709fd859acf3b2a595f3ed10 SHA512 (libguestfs-1.50.2.tar.gz) = ede323e12dbe2a472e7b34b9c391399b45c9b09486bb126ad41598c5205539a7502c17cc98747112869237215b071aa9668fa0e967cd42fce238337bf84a2a4d
SHA512 (libguestfs-1.50.1.tar.gz.sig) = 654f2793b587eb691f17725e3151ac95cc6df31dec9b9ae54be031c8556d5fa2d4ba9ca7303a3fc6cd406f484a29e22889663ac834e28214543d429cd3db1421 SHA512 (libguestfs-1.50.2.tar.gz.sig) = 56b91c15f3608f2c56b48beaa63c2c1e7d8dce2a71965db6c4c75d95d80f7c1aed487b5cca5f6d8ed6e76f5d415214443bab2cdaa49385f8aba09ec81c720de4
SHA512 (libguestfs-common-1.50.1.tar.gz) = f481fbbfb531a870bc6b97f0d99f1235823be40f2a0559e53a3d6964f6bfea87aee0dd2c0f1ddde0861ab18cbdb3aa8b5ee1610fbdf0b4029bea4af0eccce25a SHA512 (libguestfs-common-1.50.2.tar.gz) = 4f21dc950974458d4d4642bc39a3edb012d46243f8434804f6df07e155aaf6c050eea2cd55f4a875f16ef992dd2e6b945fe9ce0a46b86d1adf50866868037ea1