Update to libguestfs 1.50.2
resolves: RHEL-46775
This commit is contained in:
parent
5400e4953a
commit
6b578e0d34
@ -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>
|
||||
Date: Wed, 26 Apr 2023 15:59:44 +0300
|
||||
Subject: [PATCH] daemon/selinux-relabel: don't exclude "/selinux" if it's
|
@ -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
|
@ -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>
|
||||
Date: Wed, 26 Apr 2023 15:59:45 +0300
|
||||
Subject: [PATCH] daemon/selinux-relabel: search for "invalid option" in
|
@ -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++;
|
||||
|
@ -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>
|
||||
Date: Wed, 26 Apr 2023 15:59:46 +0300
|
||||
Subject: [PATCH] daemon/selinux-relabel: run setfiles with "-T 0", if
|
@ -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>
|
||||
Date: Mon, 29 Jul 2013 14:47:56 +0100
|
||||
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.img
|
||||
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
|
||||
+++ b/generator/actions_core.ml
|
||||
@@ -350,29 +350,6 @@ F<filename> is interpreted as a local file or device.
|
@ -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>
|
||||
Date: Tue, 7 Jul 2015 09:28:03 -0400
|
||||
Subject: [PATCH] RHEL: Reject use of libguestfs-winsupport features except for
|
@ -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>
|
||||
Date: Tue, 7 Feb 2023 13:20:36 +0000
|
||||
Subject: [PATCH] Remove virt-dib
|
@ -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>
|
||||
Date: Thu, 9 Feb 2023 13:38:50 +0000
|
||||
Subject: [PATCH] lib: Choose q35 machine type for x86-64
|
@ -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>
|
||||
Date: Fri, 19 May 2023 16:08:48 +0200
|
||||
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(-)
|
||||
|
||||
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
|
||||
+++ b/test-data/phony-guests/make-fedora-img.pl
|
||||
@@ -224,23 +224,27 @@ EOF
|
@ -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>
|
||||
Date: Fri, 19 May 2023 16:08:49 +0200
|
||||
Subject: [PATCH] LUKS-on-LVM inspection test: test /dev/mapper/VG-LV
|
@ -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>
|
||||
Date: Mon, 22 May 2023 17:15:39 +0100
|
||||
Subject: [PATCH] fuse: Don't call fclose(NULL) on error paths
|
@ -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);
|
||||
|
@ -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>
|
||||
Date: Sat, 27 May 2023 15:32:36 +0200
|
||||
Subject: [PATCH] ocaml/implicit_close test: collect all currently unreachable
|
@ -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>
|
||||
Date: Tue, 27 Jun 2023 10:17:58 +0100
|
||||
Subject: [PATCH] ocaml: Replace old enter/leave_blocking_section calls
|
@ -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//'`"
|
@ -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>
|
||||
Date: Tue, 27 Jun 2023 11:36:55 +0100
|
||||
Subject: [PATCH] ocaml: Release runtime lock around guestfs_close
|
@ -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>
|
||||
Date: Tue, 27 Jun 2023 12:09:12 +0100
|
||||
Subject: [PATCH] ocaml: Conditionally acquire the lock in callbacks
|
@ -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>
|
||||
Date: Tue, 27 Jun 2023 16:20:49 +0100
|
||||
Subject: [PATCH] ocaml: Fix guestfs_065_implicit_close.ml for OCaml 5
|
@ -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>
|
||||
Date: Tue, 27 Jun 2023 16:31:55 +0100
|
||||
Subject: [PATCH] ocaml: Use Caml_state_opt in preference to caml_state
|
@ -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>
|
||||
Date: Thu, 29 Jun 2023 13:33:04 +0100
|
||||
Subject: [PATCH] generator: Add --chown option for virt-customize
|
@ -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>
|
||||
Date: Tue, 11 Jul 2023 13:39:06 +0200
|
||||
Subject: [PATCH] lib: remove guestfs_int_cmd_clear_close_files()
|
@ -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>
|
||||
Date: Fri, 14 Jul 2023 15:22:09 +0200
|
||||
Subject: [PATCH] docs: fix broken link in the guestfs manual
|
@ -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>
|
||||
Date: Fri, 14 Jul 2023 15:22:10 +0200
|
||||
Subject: [PATCH] docs: clarify sockdir's separation
|
@ -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>
|
||||
Date: Fri, 14 Jul 2023 15:22:11 +0200
|
||||
Subject: [PATCH] lib: move guestfs_int_create_socketname() from "launch.c" to
|
@ -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>
|
||||
Date: Sat, 15 Jul 2023 16:33:18 +0100
|
||||
Subject: [PATCH] generator: customize: Add new StringTriplet for use by
|
@ -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>
|
||||
Date: Thu, 20 Jul 2023 11:15:26 +0100
|
||||
Subject: [PATCH] daemon: lvm: Do reverse device name translation on pvs_full
|
@ -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>
|
||||
Date: Thu, 21 Sep 2023 15:16:51 +0100
|
||||
Subject: [PATCH] ruby: Replace MiniTest with Minitest
|
@ -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>
|
||||
Date: Thu, 21 Sep 2023 15:20:55 +0100
|
||||
Subject: [PATCH] ruby: Get rid of old Test::Unit compatibility
|
@ -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>
|
||||
Date: Thu, 26 Oct 2023 21:06:21 +0100
|
||||
Subject: [PATCH] generator: Sort virt-customize options into alphabetical
|
@ -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>
|
||||
Date: Thu, 26 Oct 2023 19:44:03 +0100
|
||||
Subject: [PATCH] generator: Add new virt-customize --tar-in operation
|
@ -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>
|
||||
Date: Thu, 16 Nov 2023 10:38:59 +0000
|
||||
Subject: [PATCH] New mailing list email address
|
@ -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>
|
||||
Date: Thu, 16 Nov 2023 10:52:11 +0000
|
||||
Subject: [PATCH] New mailing list archives
|
||||
@ -43,7 +43,7 @@ index 40a7267e..b350edb5 100644
|
||||
To find out how to build libguestfs from source, read:
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 0db21297..74f6d20b 100644
|
||||
index b72e99cf..92479e20 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -321,7 +321,7 @@ echo "If any optional component is configured 'no' when you expected 'yes'"
|
@ -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>
|
||||
Date: Mon, 27 Nov 2023 14:04:33 +0000
|
||||
Subject: [PATCH] lib: Include <libxml/parser.h> for xmlReadMemory
|
@ -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>
|
||||
Date: Wed, 13 Dec 2023 22:50:56 +0000
|
||||
Subject: [PATCH] ocaml: Use Gc.finalise instead of a C finalizer
|
@ -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>
|
||||
Date: Thu, 14 Dec 2023 08:33:10 +0000
|
||||
Subject: [PATCH] ocaml: Nullify custom block before releasing runtime lock
|
@ -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>
|
||||
Date: Thu, 14 Dec 2023 09:03:49 +0000
|
||||
Subject: [PATCH] Update common submodule
|
@ -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>
|
||||
Date: Thu, 14 Dec 2023 09:15:08 +0000
|
||||
Subject: [PATCH] tests: Test guestfish --key all:... selector
|
@ -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>
|
||||
Date: Fri, 19 Jan 2024 13:18:00 +0000
|
||||
Subject: [PATCH] generator/customize.ml: Split --chown parameter on ':'
|
@ -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>
|
||||
Date: Wed, 24 Apr 2024 12:23:34 +0100
|
||||
Subject: [PATCH] Update common submodule
|
@ -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>
|
||||
Date: Mon, 8 Jul 2024 14:37:22 +0100
|
||||
Subject: [PATCH] New APIs: findfs_partuuid and findfs_partlabel
|
||||
@ -30,7 +30,7 @@ index cf2ba4a8..a94e0ce7 100644
|
||||
and findfs tag str =
|
||||
(* Kill the cache file, forcing blkid to reread values from the
|
||||
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
|
||||
+++ b/generator/actions_core.ml
|
||||
@@ -5688,6 +5688,30 @@ filesystem can be found.
|
@ -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>
|
||||
Date: Mon, 8 Jul 2024 14:39:16 +0100
|
||||
Subject: [PATCH] inspection: Resolve PARTUUID= and PARTLABEL= in /etc/fstab
|
@ -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 ();
|
||||
|
@ -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
|
@ -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 \
|
@ -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:
|
@ -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 \
|
@ -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
|
@ -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
|
@ -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. *)
|
@ -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
|
@ -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
|
102
libguestfs.spec
102
libguestfs.spec
@ -44,8 +44,8 @@
|
||||
Summary: Access and modify virtual machine disk images
|
||||
Name: libguestfs
|
||||
Epoch: 1
|
||||
Version: 1.50.1
|
||||
Release: 12%{?dist}
|
||||
Version: 1.50.2
|
||||
Release: 1%{?dist}
|
||||
License: LGPLv2+
|
||||
|
||||
# Build only for architectures that have a kernel
|
||||
@ -79,70 +79,56 @@ Source7: libguestfs.keyring
|
||||
# Maintainer script which helps with handling patches.
|
||||
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/
|
||||
# directories that are not used by libguestfs (eg. common/mlcustomize).
|
||||
# However the patches (below) patch files in those directories and so
|
||||
# do not apply properly to the libguestfs tarball. Therefore before
|
||||
# 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:
|
||||
# https://github.com/libguestfs/libguestfs/commits/rhel-9.5
|
||||
|
||||
# Patches.
|
||||
Patch0001: 0001-update-common-submodule.patch
|
||||
Patch0002: 0002-update-common-submodule.patch
|
||||
Patch0003: 0003-daemon-selinux-relabel-don-t-exclude-selinux-if-it-s.patch
|
||||
Patch0004: 0004-daemon-selinux-relabel-search-for-invalid-option-in-.patch
|
||||
Patch0005: 0005-daemon-selinux-relabel-run-setfiles-with-T-0-if-supp.patch
|
||||
Patch0006: 0006-RHEL-Disable-unsupported-remote-drive-protocols-RHBZ.patch
|
||||
Patch0007: 0007-RHEL-Reject-use-of-libguestfs-winsupport-features-ex.patch
|
||||
Patch0008: 0008-Remove-virt-dib.patch
|
||||
Patch0009: 0009-lib-Choose-q35-machine-type-for-x86-64.patch
|
||||
Patch0010: 0010-update-common-submodule.patch
|
||||
Patch0011: 0011-LUKS-on-LVM-inspection-test-rename-VGs-and-LVs.patch
|
||||
Patch0012: 0012-LUKS-on-LVM-inspection-test-test-dev-mapper-VG-LV-tr.patch
|
||||
Patch0013: 0013-Replace-Pervasives.-with-Stdlib.patch
|
||||
Patch0014: 0014-fuse-Don-t-call-fclose-NULL-on-error-paths.patch
|
||||
Patch0015: 0015-ocaml-implicit_close-test-collect-all-currently-unre.patch
|
||||
Patch0016: 0016-ocaml-Replace-old-enter-leave_blocking_section-calls.patch
|
||||
Patch0017: 0017-ocaml-Release-runtime-lock-around-guestfs_close.patch
|
||||
Patch0018: 0018-ocaml-Conditionally-acquire-the-lock-in-callbacks.patch
|
||||
Patch0019: 0019-ocaml-Fix-guestfs_065_implicit_close.ml-for-OCaml-5.patch
|
||||
Patch0020: 0020-ocaml-Use-Caml_state_opt-in-preference-to-caml_state.patch
|
||||
Patch0021: 0021-generator-Add-chown-option-for-virt-customize.patch
|
||||
Patch0022: 0022-lib-remove-guestfs_int_cmd_clear_close_files.patch
|
||||
Patch0023: 0023-docs-fix-broken-link-in-the-guestfs-manual.patch
|
||||
Patch0024: 0024-docs-clarify-sockdir-s-separation.patch
|
||||
Patch0025: 0025-lib-move-guestfs_int_create_socketname-from-launch.c.patch
|
||||
Patch0026: 0026-generator-customize-Add-new-StringTriplet-for-use-by.patch
|
||||
Patch0027: 0027-daemon-lvm-Do-reverse-device-name-translation-on-pvs.patch
|
||||
Patch0028: 0028-ruby-Replace-MiniTest-with-Minitest.patch
|
||||
Patch0029: 0029-ruby-Get-rid-of-old-Test-Unit-compatibility.patch
|
||||
Patch0030: 0030-generator-Sort-virt-customize-options-into-alphabeti.patch
|
||||
Patch0031: 0031-generator-Add-new-virt-customize-tar-in-operation.patch
|
||||
Patch0032: 0032-New-mailing-list-email-address.patch
|
||||
Patch0033: 0033-New-mailing-list-archives.patch
|
||||
Patch0034: 0034-lib-Include-libxml-parser.h-for-xmlReadMemory.patch
|
||||
Patch0035: 0035-ocaml-Use-Gc.finalise-instead-of-a-C-finalizer.patch
|
||||
Patch0036: 0036-ocaml-Nullify-custom-block-before-releasing-runtime-.patch
|
||||
Patch0037: 0037-Update-common-submodule.patch
|
||||
Patch0038: 0038-tests-Test-guestfish-key-all-.-selector.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
|
||||
Patch0001: 0001-daemon-selinux-relabel-don-t-exclude-selinux-if-it-s.patch
|
||||
Patch0002: 0002-daemon-selinux-relabel-search-for-invalid-option-in-.patch
|
||||
Patch0003: 0003-daemon-selinux-relabel-run-setfiles-with-T-0-if-supp.patch
|
||||
Patch0004: 0004-RHEL-Disable-unsupported-remote-drive-protocols-RHBZ.patch
|
||||
Patch0005: 0005-RHEL-Reject-use-of-libguestfs-winsupport-features-ex.patch
|
||||
Patch0006: 0006-Remove-virt-dib.patch
|
||||
Patch0007: 0007-lib-Choose-q35-machine-type-for-x86-64.patch
|
||||
Patch0008: 0008-LUKS-on-LVM-inspection-test-rename-VGs-and-LVs.patch
|
||||
Patch0009: 0009-LUKS-on-LVM-inspection-test-test-dev-mapper-VG-LV-tr.patch
|
||||
Patch0010: 0010-fuse-Don-t-call-fclose-NULL-on-error-paths.patch
|
||||
Patch0011: 0011-ocaml-implicit_close-test-collect-all-currently-unre.patch
|
||||
Patch0012: 0012-ocaml-Replace-old-enter-leave_blocking_section-calls.patch
|
||||
Patch0013: 0013-ocaml-Release-runtime-lock-around-guestfs_close.patch
|
||||
Patch0014: 0014-ocaml-Conditionally-acquire-the-lock-in-callbacks.patch
|
||||
Patch0015: 0015-ocaml-Fix-guestfs_065_implicit_close.ml-for-OCaml-5.patch
|
||||
Patch0016: 0016-ocaml-Use-Caml_state_opt-in-preference-to-caml_state.patch
|
||||
Patch0017: 0017-generator-Add-chown-option-for-virt-customize.patch
|
||||
Patch0018: 0018-lib-remove-guestfs_int_cmd_clear_close_files.patch
|
||||
Patch0019: 0019-docs-fix-broken-link-in-the-guestfs-manual.patch
|
||||
Patch0020: 0020-docs-clarify-sockdir-s-separation.patch
|
||||
Patch0021: 0021-lib-move-guestfs_int_create_socketname-from-launch.c.patch
|
||||
Patch0022: 0022-generator-customize-Add-new-StringTriplet-for-use-by.patch
|
||||
Patch0023: 0023-daemon-lvm-Do-reverse-device-name-translation-on-pvs.patch
|
||||
Patch0024: 0024-ruby-Replace-MiniTest-with-Minitest.patch
|
||||
Patch0025: 0025-ruby-Get-rid-of-old-Test-Unit-compatibility.patch
|
||||
Patch0026: 0026-generator-Sort-virt-customize-options-into-alphabeti.patch
|
||||
Patch0027: 0027-generator-Add-new-virt-customize-tar-in-operation.patch
|
||||
Patch0028: 0028-New-mailing-list-email-address.patch
|
||||
Patch0029: 0029-New-mailing-list-archives.patch
|
||||
Patch0030: 0030-lib-Include-libxml-parser.h-for-xmlReadMemory.patch
|
||||
Patch0031: 0031-ocaml-Use-Gc.finalise-instead-of-a-C-finalizer.patch
|
||||
Patch0032: 0032-ocaml-Nullify-custom-block-before-releasing-runtime-.patch
|
||||
Patch0033: 0033-Update-common-submodule.patch
|
||||
Patch0034: 0034-tests-Test-guestfish-key-all-.-selector.patch
|
||||
Patch0035: 0035-generator-customize.ml-Split-chown-parameter-on-char.patch
|
||||
Patch0036: 0036-Update-common-submodule.patch
|
||||
Patch0037: 0037-New-APIs-findfs_partuuid-and-findfs_partlabel.patch
|
||||
Patch0038: 0038-inspection-Resolve-PARTUUID-and-PARTLABEL-in-etc-fst.patch
|
||||
|
||||
%if 0%{patches_touch_autotools}
|
||||
BuildRequires: autoconf, automake, libtool, gettext-devel
|
||||
@ -1155,6 +1141,10 @@ rm ocaml/html/.gitignore
|
||||
|
||||
|
||||
%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
|
||||
- inspection: Resolve PARTUUID= and PARTLABEL= in /etc/fstab
|
||||
resolves: RHEL-40142, RHEL-46596
|
||||
|
6
sources
6
sources
@ -1,3 +1,3 @@
|
||||
SHA512 (libguestfs-1.50.1.tar.gz) = 237ef512a767a3d56f9705818ead6ebedcaf107d576acf844353730913ee4fc5f2b085bf7d647b693bf4760e986416ba71f628d7709fd859acf3b2a595f3ed10
|
||||
SHA512 (libguestfs-1.50.1.tar.gz.sig) = 654f2793b587eb691f17725e3151ac95cc6df31dec9b9ae54be031c8556d5fa2d4ba9ca7303a3fc6cd406f484a29e22889663ac834e28214543d429cd3db1421
|
||||
SHA512 (libguestfs-common-1.50.1.tar.gz) = f481fbbfb531a870bc6b97f0d99f1235823be40f2a0559e53a3d6964f6bfea87aee0dd2c0f1ddde0861ab18cbdb3aa8b5ee1610fbdf0b4029bea4af0eccce25a
|
||||
SHA512 (libguestfs-1.50.2.tar.gz) = ede323e12dbe2a472e7b34b9c391399b45c9b09486bb126ad41598c5205539a7502c17cc98747112869237215b071aa9668fa0e967cd42fce238337bf84a2a4d
|
||||
SHA512 (libguestfs-1.50.2.tar.gz.sig) = 56b91c15f3608f2c56b48beaa63c2c1e7d8dce2a71965db6c4c75d95d80f7c1aed487b5cca5f6d8ed6e76f5d415214443bab2cdaa49385f8aba09ec81c720de4
|
||||
SHA512 (libguestfs-common-1.50.2.tar.gz) = 4f21dc950974458d4d4642bc39a3edb012d46243f8434804f6df07e155aaf6c050eea2cd55f4a875f16ef992dd2e6b945fe9ce0a46b86d1adf50866868037ea1
|
||||
|
Loading…
Reference in New Issue
Block a user