import Oracle_OSS virt-v2v-2.10.0-20.0.1.el10_2

This commit is contained in:
AlmaLinux RelEng Bot 2026-08-18 08:39:01 -04:00
parent 8cbc09f71c
commit 241920c6d8
7 changed files with 1063 additions and 3 deletions

View File

@ -0,0 +1,24 @@
From 4f3a2f0fee6ccec8e50682c2d05c23333ec99ab6 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 21 May 2026 10:16:41 +0100
Subject: [PATCH] common: update submodule
Richard W.M. Jones (1):
mlcustomize: Drop setfiles -F flag
(cherry picked from commit 85c3a1989733879381456d71d716619160539d5b)
---
common | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Submodule common a901c174..9584c82f:
diff --git a/common/mlcustomize/SELinux_relabel.ml b/common/mlcustomize/SELinux_relabel.ml
index f1729e3f..62450e41 100644
--- a/common/mlcustomize/SELinux_relabel.ml
+++ b/common/mlcustomize/SELinux_relabel.ml
@@ -122,4 +122,4 @@ and use_setfiles g =
Array.of_list in
(* Relabel everything. *)
- g#setfiles ~force:true specfile mps
+ g#setfiles specfile mps

View File

@ -0,0 +1,273 @@
From 7ccdb828aeeab8ed6b24e37d22efd40f1a7c96d7 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 3 Aug 2026 13:35:08 +0100
Subject: [PATCH] mlcustomize: Add new --selinux-relabel-excludes flag
https://github.com/libguestfs/libguestfs/commit/f5ad08415182cd7ecac376aad19ffaa81bec7503
Update m4/guestfs-libraries.m4 to make libguestfs 1.61.1 required.
This is for the new guestfs_setfiles 'excludes' parameter, added in:
https://github.com/libguestfs/libguestfs/commit/5364e6abbcd1ee42f23b26306225269329e7c663
Update the common submodule, bringing in:
Richard W.M. Jones (3):
mlcustomize/customize_cmdline.mli: Fix differences in generated code
mlcustomize: Update generated files
mlcustomize: Pass --selinux-relabel-excludes through to setfiles
(cherry picked from commit 4dcf8ea13ca2516005cdb64edbbb2534fe612d49)
---
common | 2 +-
m4/guestfs-libraries.m4 | 5 +++--
2 files changed, 4 insertions(+), 3 deletions(-)
Submodule common 9584c82f..9c02b103:
diff --git a/common/mlcustomize/SELinux_relabel.ml b/common/mlcustomize/SELinux_relabel.ml
index 62450e41..3fd97221 100644
--- a/common/mlcustomize/SELinux_relabel.ml
+++ b/common/mlcustomize/SELinux_relabel.ml
@@ -28,11 +28,11 @@ module G = Guestfs
* [libguestfs.git/daemon/selinux.ml].
*)
-let rec relabel (g : G.guestfs) =
+let rec relabel (g : G.guestfs) excludes =
(* Is the guest using SELinux? (Otherwise this is a no-op). *)
if is_selinux_guest g then (
try
- use_setfiles g;
+ use_setfiles g excludes;
(* That worked, so we don't need to autorelabel. *)
g#rm_f "/.autorelabel"
with Failure _ ->
@@ -47,7 +47,7 @@ and is_selinux_guest g =
g#is_file ~followsymlinks:true "/usr/sbin/load_policy" &&
g#is_file ~followsymlinks:true "/etc/selinux/config"
-and use_setfiles g =
+and use_setfiles g excludes =
(* Is setfiles / SELinux relabelling functionality available? *)
if not (g#feature_available [| "selinuxrelabel" |]) then
failwith "no selinux relabel feature";
@@ -121,5 +121,8 @@ and use_setfiles g =
List.sort compare |> (* sort them for consistency *)
Array.of_list in
+ (* Excludes is actually a string array, not string list. *)
+ let excludes = Array.of_list excludes in
+
(* Relabel everything. *)
- g#setfiles specfile mps
+ g#setfiles ~excludes specfile mps
diff --git a/common/mlcustomize/SELinux_relabel.mli b/common/mlcustomize/SELinux_relabel.mli
index 7b4f7ff2..5f1ae7ff 100644
--- a/common/mlcustomize/SELinux_relabel.mli
+++ b/common/mlcustomize/SELinux_relabel.mli
@@ -18,12 +18,19 @@
(** SELinux-relabel the filesystem. *)
-val relabel : Guestfs.guestfs -> unit
+val relabel : Guestfs.guestfs -> string list -> unit
(** Relabel the mounted guestfs filesystem using the current SELinux
policy that applies to the guest.
If the guest does not look like it uses SELinux, this does nothing.
+ The parameters are the guestfs handle and a list of directories
+ that may be excluded (by passing I<--selinux-relabel-exclude>
+ one or more times).
+
In case relabelling is not possible (since it is an optional
feature which requires the setfiles(8) program), instead we
- fall back to touching [/.autorelabel]. *)
+ fall back to touching [/.autorelabel].
+
+ The excludes list only affects setfiles relabelling,
+ not [/.autorelabel] since we do not control how that works. *)
diff --git a/common/mlcustomize/customize-options.pod b/common/mlcustomize/customize-options.pod
index 95767cc7..f6e68f1e 100644
--- a/common/mlcustomize/customize-options.pod
+++ b/common/mlcustomize/customize-options.pod
@@ -386,6 +386,22 @@ It cannot delete directories, only regular files.
This is a compatibility option that does nothing.
+=item B<--selinux-relabel-exclude> DIR
+
+Exclude directories from being relabelled.
+
+This advanced option lets you list directories in the guest which
+should not be relabelled, even when SELinux relabelling is
+enabled. Use this carefully, as any changes that are made
+inside these directories during customization will have incorrect
+SELinux labels, leading to potential failures later, so you must
+be sure that the directories do not need relabelling.
+
+If in doubt, do not use this option.
+
+You can pass the option multiple times, eg.
+I<--selinux-relabel-exclude=/foo> I<--selinux-relabel-exclude=/bar>
+
=item B<--ssh-inject> USER[:SELECTOR]
Inject an ssh key so the given C<USER> will be able to log in over
diff --git a/common/mlcustomize/customize-synopsis.pod b/common/mlcustomize/customize-synopsis.pod
index f5eeb69d..d6c4a280 100644
--- a/common/mlcustomize/customize-synopsis.pod
+++ b/common/mlcustomize/customize-synopsis.pod
@@ -14,4 +14,4 @@
[--truncate-recursive PATH] [--uninstall PKG,PKG..] [--update]
[--upload FILE:DEST] [--write FILE:CONTENT] [--no-logfile]
[--password-crypto md5|sha256|sha512] [--no-selinux-relabel]
- [--selinux-relabel]
+ [--selinux-relabel] [--selinux-relabel-exclude DIR]
diff --git a/common/mlcustomize/customize_cmdline.ml b/common/mlcustomize/customize_cmdline.ml
index b8eda519..24e05dc9 100644
--- a/common/mlcustomize/customize_cmdline.ml
+++ b/common/mlcustomize/customize_cmdline.ml
@@ -115,6 +115,8 @@ and flags = {
(* --no-selinux-relabel *)
selinux_relabel_ignored : bool;
(* --selinux-relabel *)
+ selinux_relabel_excludes : string list;
+ (* --selinux-relabel-exclude *)
}
type argspec = Getopt.keys * Getopt.spec * Getopt.doc
@@ -125,6 +127,7 @@ let rec argspec ?(v2v = false) () =
let password_crypto = ref None in
let no_selinux_relabel = ref false in
let selinux_relabel_ignored = ref false in
+ let selinux_relabel_excludes = ref [] in
let rec get_ops () = {
ops = List.rev !ops;
@@ -135,6 +138,7 @@ let rec argspec ?(v2v = false) () =
password_crypto = !password_crypto;
no_selinux_relabel = !no_selinux_relabel;
selinux_relabel_ignored = !selinux_relabel_ignored;
+ selinux_relabel_excludes = !selinux_relabel_excludes;
}
in
@@ -488,6 +492,15 @@ let rec argspec ?(v2v = false) () =
s_"Compatibility option doing nothing"
),
None, "This is a compatibility option that does nothing.", false;
+ (
+ [ L"selinux-relabel-exclude" ],
+ Getopt.String (
+ s_"DIR",
+ List.push_back selinux_relabel_excludes
+ ),
+ s_"Exclude directories from SELinux relabelling"
+ ),
+ Some "DIR", "Exclude directories from being relabelled.\n\nThis advanced option lets you list directories in the guest which\nshould not be relabelled, even when SELinux relabelling is\nenabled. Use this carefully, as any changes that are made\ninside these directories during customization will have incorrect\nSELinux labels, leading to potential failures later, so you must\nbe sure that the directories do not need relabelling.\n\nIf in doubt, do not use this option.\n\nYou can pass the option multiple times, eg.\nI<--selinux-relabel-exclude=/foo> I<--selinux-relabel-exclude=/bar>", false;
]
and customize_read_from_file filename =
let forbidden_commands = [
diff --git a/common/mlcustomize/customize_cmdline.mli b/common/mlcustomize/customize_cmdline.mli
index baacda9d..abe10953 100644
--- a/common/mlcustomize/customize_cmdline.mli
+++ b/common/mlcustomize/customize_cmdline.mli
@@ -107,17 +107,24 @@ and flags = {
(* --no-selinux-relabel *)
selinux_relabel_ignored : bool;
(* --selinux-relabel *)
+ selinux_relabel_excludes : string list;
+ (* --selinux-relabel-exclude *)
}
type argspec = Getopt.keys * Getopt.spec * Getopt.doc
val argspec : ?v2v:bool -> unit -> (argspec * string option * string) list * (unit -> ops)
-(** This returns a pair [(list, get_ops)].
+(** Return the argspec (a list of arguments, see {!Getopt} module)
+ with the full list of virt-customize options.
+
+ If the parameter [~v2v] is true then this excludes parameters
+ that should be excluded from virt-v2v. For example
+ [--inject-qemu-ga] is excluded from the list because virt-v2v
+ decides itself whether and how to inject the QEMU guest agent.
+
+ This returns a pair [(list, get_ops)].
[list] is a list of the command line arguments, plus some extra data.
[get_ops] is a function you can call {i after} command line parsing
which will return the actual operations specified by the user on the
- command line.
-
- If the parameter [~v2v] is true then this excludes parameters
- that should be excluded from virt-v2v. *)
\ No newline at end of file
+ command line. This can be passed to {!Customize_run.run} *)
\ No newline at end of file
diff --git a/common/mlcustomize/customize_run.ml b/common/mlcustomize/customize_run.ml
index 1baf0f3c..4878c00f 100644
--- a/common/mlcustomize/customize_run.ml
+++ b/common/mlcustomize/customize_run.ml
@@ -361,7 +361,7 @@ let run (g : G.guestfs) root (ops : ops) =
if not ops.flags.no_selinux_relabel then (
message (f_"SELinux relabelling");
- SELinux_relabel.relabel g
+ SELinux_relabel.relabel g ops.flags.selinux_relabel_excludes
);
(* Clean up the log file:
diff --git a/common/mlcustomize/v2v-customize-options.pod b/common/mlcustomize/v2v-customize-options.pod
index 6252ffe9..fee5f984 100644
--- a/common/mlcustomize/v2v-customize-options.pod
+++ b/common/mlcustomize/v2v-customize-options.pod
@@ -332,6 +332,22 @@ It cannot delete directories, only regular files.
This is a compatibility option that does nothing.
+=item B<--selinux-relabel-exclude> DIR
+
+Exclude directories from being relabelled.
+
+This advanced option lets you list directories in the guest which
+should not be relabelled, even when SELinux relabelling is
+enabled. Use this carefully, as any changes that are made
+inside these directories during customization will have incorrect
+SELinux labels, leading to potential failures later, so you must
+be sure that the directories do not need relabelling.
+
+If in doubt, do not use this option.
+
+You can pass the option multiple times, eg.
+I<--selinux-relabel-exclude=/foo> I<--selinux-relabel-exclude=/bar>
+
=item B<--ssh-inject> USER[:SELECTOR]
Inject an ssh key so the given C<USER> will be able to log in over
diff --git a/common/mlcustomize/v2v-customize-synopsis.pod b/common/mlcustomize/v2v-customize-synopsis.pod
index 4c1a1547..5a1bc009 100644
--- a/common/mlcustomize/v2v-customize-synopsis.pod
+++ b/common/mlcustomize/v2v-customize-synopsis.pod
@@ -12,4 +12,4 @@
[--truncate-recursive PATH] [--uninstall PKG,PKG..] [--update]
[--upload FILE:DEST] [--write FILE:CONTENT] [--no-logfile]
[--password-crypto md5|sha256|sha512] [--no-selinux-relabel]
- [--selinux-relabel]
+ [--selinux-relabel] [--selinux-relabel-exclude DIR]
diff --git a/m4/guestfs-libraries.m4 b/m4/guestfs-libraries.m4
index 22af5db7..6334647f 100644
--- a/m4/guestfs-libraries.m4
+++ b/m4/guestfs-libraries.m4
@@ -19,8 +19,9 @@ dnl Any C libraries required by virt-v2v.
dnl Of course we need libguestfs.
dnl
-dnl We need libguestfs >= 1.58.1-6.el10 for guestfs_xfs_info2
-dnl and for text: and base64: prefix in LUKS funcs.
+dnl We need libguestfs >= 1.58.1-9.el10 for guestfs_xfs_info2
+dnl and for text: and base64: prefix in LUKS funcs
+dnl and for guestfs_setfiles excludes parameter.
PKG_CHECK_MODULES([LIBGUESTFS], [libguestfs >= 1.58.1])
printf "libguestfs version is "; $PKG_CONFIG --modversion libguestfs

View File

@ -0,0 +1,67 @@
From bab129f11a61f5b12329778d0324879ded6744ba Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Sat, 8 Aug 2026 08:08:18 +0100
Subject: [PATCH] common: update submodule
Richard W.M. Jones (2):
mlcustomize/firstboot.ml: Print the version of Windows
mlcustomize/firstboot.ml: Use rem for comments (instead of '::')
(cherry picked from commit da0c19d25df40e31d6bf7c8f349478ddf616e02b)
---
common | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Submodule common 9c02b103..877c8ca0:
diff --git a/common/mlcustomize/firstboot.ml b/common/mlcustomize/firstboot.ml
index fc3b7a69..1e019ecf 100644
--- a/common/mlcustomize/firstboot.ml
+++ b/common/mlcustomize/firstboot.ml
@@ -299,12 +299,13 @@ exit /b
:main
echo starting firstboot service
echo effective user: %%USERNAME%% domain: %%USERDOMAIN%%
+ver
if not exist "%%scripts_done%%" (
mkdir "%%scripts_done%%"
)
-:: Pick the next script to run.
+rem Pick the next script to run.
for %%%%f in ("%%scripts%%"\*.bat) do (
echo running "%%%%f"
pushd "%%scripts%%"
@@ -320,23 +321,23 @@ for %%%%f in ("%%scripts%%"\*.bat) do (
echo Script failed, will retry on next boot
)
- :: Reboot the computer only if exit code indicates.
- :: Exit code 250 means do not reboot, otherwise reboot
- :: Reboot is necessary to free any locked files which
- :: may prevent later scripts from running.
+ rem Reboot the computer only if exit code indicates.
+ rem Exit code 250 means do not reboot, otherwise reboot.
+ rem Reboot is necessary to free any locked files which
+ rem may prevent later scripts from running.
if !elvl! NEQ 250 (
shutdown /r /t 0 /y
- :: Exit the script (in case shutdown returns before rebooting).
- :: On next boot, the whole firstboot service will be called again.
-
+ rem Exit the script (in case shutdown returns before
+ rem rebooting). On next boot, the whole firstboot
+ rem service will be called again.
exit /b
)
)
-:: Fallthrough here if there are no scripts.
+rem Fallthrough here if there are no scripts.
-:: Touch a sentinel file to say we have finished.
+rem Touch a sentinel file to say we have finished.
type nul > "%%firstboot%%\complete"
echo uninstalling firstboot service

View File

@ -0,0 +1,28 @@
From c1f7d15cd370b29b00eca206751d6ad8e5585a15 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 6 Aug 2026 08:09:10 +0100
Subject: [PATCH] tests/functions.sh.in: Fix podcheck to ignore new
virt-customize option
The error from (eg) inspector/test-docs.sh was:
podcheck.pl: virt-v2v-inspector.pod does not define --selinux-relabel-exclude
Fixes: commit 4dcf8ea13ca2516005cdb64edbbb2534fe612d49
(cherry picked from commit 47443bd5787701b75b513b985e48a5bb481f3750)
---
tests/functions.sh.in | 1 +
1 file changed, 1 insertion(+)
diff --git a/tests/functions.sh.in b/tests/functions.sh.in
index e70c7028..f3911c07 100644
--- a/tests/functions.sh.in
+++ b/tests/functions.sh.in
@@ -77,6 +77,7 @@ virt_customize_options=\
--run-command,\
--scrub,\
--selinux-relabel,\
+--selinux-relabel-exclude,\
--ssh-inject,\
--tar-in,\
--timezone,\

View File

@ -0,0 +1,297 @@
From 3247b03c92f133916ff486c118a05a058523dc28 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Fri, 14 Aug 2026 07:38:58 +0100
Subject: [PATCH] Add --selinux-relabel-at-boot parameter
Richard W.M. Jones (5):
mlcustomize: Update generated files for --selinux-relabel-at-boot
mlcustomize: Turn excludes parameter into a labelled parameter
mlcustomize/SELinux_relabel.ml: Refactor touch /.autorelabel
mlcustomize: Add --selinux-relabel-at-boot functionality
mlcustomize/SELinux_relabel.ml: Set SELinux label on /.autorelabel
(cherry picked from commit a690b4a1fa9d8d0444e0bdeb39f0a274293ff80f)
---
common | 2 +-
tests/functions.sh.in | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
Submodule common 877c8ca0..fbcd2ef6:
diff --git a/common/mlcustomize/SELinux_relabel.ml b/common/mlcustomize/SELinux_relabel.ml
index 3fd97221..08c05600 100644
--- a/common/mlcustomize/SELinux_relabel.ml
+++ b/common/mlcustomize/SELinux_relabel.ml
@@ -28,19 +28,26 @@ module G = Guestfs
* [libguestfs.git/daemon/selinux.ml].
*)
-let rec relabel (g : G.guestfs) excludes =
+let rec relabel ?(at_boot = false) ?(excludes = []) (g : G.guestfs) =
(* Is the guest using SELinux? (Otherwise this is a no-op). *)
if is_selinux_guest g then (
- try
- use_setfiles g excludes;
- (* That worked, so we don't need to autorelabel. *)
- g#rm_f "/.autorelabel"
- with Failure _ ->
- (* This is the fallback in case something in the setfiles
- * method didn't work. That includes the case where a non-SELinux
- * host is processing an SELinux guest, and other things.
- *)
- g#touch "/.autorelabel"
+ if not at_boot then (
+ try
+ (* Try to relabel during customization/conversion. *)
+ use_setfiles g excludes;
+ (* That worked, so we don't need to autorelabel. *)
+ g#rm_f "/.autorelabel"
+ with Failure _ ->
+ (* This is the fallback in case something in the setfiles
+ * method didn't work. That includes the case where a non-SELinux
+ * host is processing an SELinux guest, and other things.
+ *)
+ touch_autorelabel g
+ )
+ else (
+ (* Always do it at boot. *)
+ touch_autorelabel g
+ )
)
and is_selinux_guest g =
@@ -126,3 +133,19 @@ and use_setfiles g excludes =
(* Relabel everything. *)
g#setfiles ~excludes specfile mps
+
+and touch_autorelabel g =
+ let path = "/.autorelabel" in
+ g#touch path;
+
+ (* You cannot just touch /.autorelabel because SELinux itself
+ * will prevent this file from being read and prevent the
+ * autorelabel service from running(!) Therefore we have to
+ * guess at the correct label here. Ugh.
+ *
+ * This label name has been stable from at least RHEL 7 up to
+ * Fedora 45.
+ *)
+ let label = "system_u:object_r:etc_runtime_t:s0" in
+ let len = String.length label in
+ g#setxattr "security.selinux" label len path
diff --git a/common/mlcustomize/SELinux_relabel.mli b/common/mlcustomize/SELinux_relabel.mli
index 5f1ae7ff..eaee76c2 100644
--- a/common/mlcustomize/SELinux_relabel.mli
+++ b/common/mlcustomize/SELinux_relabel.mli
@@ -18,15 +18,20 @@
(** SELinux-relabel the filesystem. *)
-val relabel : Guestfs.guestfs -> string list -> unit
+val relabel : ?at_boot : bool -> ?excludes : string list ->
+ Guestfs.guestfs -> unit
(** Relabel the mounted guestfs filesystem using the current SELinux
policy that applies to the guest.
If the guest does not look like it uses SELinux, this does nothing.
- The parameters are the guestfs handle and a list of directories
- that may be excluded (by passing I<--selinux-relabel-exclude>
- one or more times).
+ The required parameter is the guestfs handle.
+
+ Optional [?at_boot] (if true) defers labelling to boot
+ (I<--selinux-relabel-at-boot>).
+
+ Optional [?excludes] is a list of directories that may be excluded
+ (by passing I<--selinux-relabel-exclude> one or more times).
In case relabelling is not possible (since it is an optional
feature which requires the setfiles(8) program), instead we
diff --git a/common/mlcustomize/customize-options.pod b/common/mlcustomize/customize-options.pod
index f6e68f1e..cd3cb8b9 100644
--- a/common/mlcustomize/customize-options.pod
+++ b/common/mlcustomize/customize-options.pod
@@ -386,6 +386,36 @@ It cannot delete directories, only regular files.
This is a compatibility option that does nothing.
+=item B<--selinux-relabel-at-boot>
+
+This advanced option lets you defer
+SELinux relabelling until the first time the guest boots
+after conversion.
+
+The advantage of doing this is that conversion is quicker
+and uses less memory.
+
+The disadvantages are:
+
+=over 4
+
+=item *
+
+The guest will take I<much> longer to boot up and become ready
+the first time it boots.
+
+=item *
+
+The guest will reboot at least once.
+
+=item *
+
+SELinux relabelling problems cannot be detected during conversion.
+
+=back
+
+If in doubt, do not use this option.
+
=item B<--selinux-relabel-exclude> DIR
Exclude directories from being relabelled.
diff --git a/common/mlcustomize/customize-synopsis.pod b/common/mlcustomize/customize-synopsis.pod
index d6c4a280..2484b317 100644
--- a/common/mlcustomize/customize-synopsis.pod
+++ b/common/mlcustomize/customize-synopsis.pod
@@ -15,3 +15,4 @@
[--upload FILE:DEST] [--write FILE:CONTENT] [--no-logfile]
[--password-crypto md5|sha256|sha512] [--no-selinux-relabel]
[--selinux-relabel] [--selinux-relabel-exclude DIR]
+ [--selinux-relabel-at-boot]
diff --git a/common/mlcustomize/customize_cmdline.ml b/common/mlcustomize/customize_cmdline.ml
index 24e05dc9..7a79f546 100644
--- a/common/mlcustomize/customize_cmdline.ml
+++ b/common/mlcustomize/customize_cmdline.ml
@@ -117,6 +117,8 @@ and flags = {
(* --selinux-relabel *)
selinux_relabel_excludes : string list;
(* --selinux-relabel-exclude *)
+ selinux_relabel_at_boot : bool;
+ (* --selinux-relabel-at-boot *)
}
type argspec = Getopt.keys * Getopt.spec * Getopt.doc
@@ -128,6 +130,7 @@ let rec argspec ?(v2v = false) () =
let no_selinux_relabel = ref false in
let selinux_relabel_ignored = ref false in
let selinux_relabel_excludes = ref [] in
+ let selinux_relabel_at_boot = ref false in
let rec get_ops () = {
ops = List.rev !ops;
@@ -139,6 +142,7 @@ let rec argspec ?(v2v = false) () =
no_selinux_relabel = !no_selinux_relabel;
selinux_relabel_ignored = !selinux_relabel_ignored;
selinux_relabel_excludes = !selinux_relabel_excludes;
+ selinux_relabel_at_boot = !selinux_relabel_at_boot;
}
in
@@ -501,6 +505,12 @@ let rec argspec ?(v2v = false) () =
s_"Exclude directories from SELinux relabelling"
),
Some "DIR", "Exclude directories from being relabelled.\n\nThis advanced option lets you list directories in the guest which\nshould not be relabelled, even when SELinux relabelling is\nenabled. Use this carefully, as any changes that are made\ninside these directories during customization will have incorrect\nSELinux labels, leading to potential failures later, so you must\nbe sure that the directories do not need relabelling.\n\nIf in doubt, do not use this option.\n\nYou can pass the option multiple times, eg.\nI<--selinux-relabel-exclude=/foo> I<--selinux-relabel-exclude=/bar>", false;
+ (
+ [ L"selinux-relabel-at-boot" ],
+ Getopt.Set selinux_relabel_at_boot,
+ s_"Defer SELinux relabelling until boot"
+ ),
+ None, "This advanced option lets you defer\nSELinux relabelling until the first time the guest boots\nafter conversion.\n\nThe advantage of doing this is that conversion is quicker\nand uses less memory.\n\nThe disadvantages are:\n\n=over 4\n\n=item *\n\nThe guest will take I<much> longer to boot up and become ready\nthe first time it boots.\n\n=item *\n\nThe guest will reboot at least once.\n\n=item *\n\nSELinux relabelling problems cannot be detected during conversion.\n\n=back\n\nIf in doubt, do not use this option.", false;
]
and customize_read_from_file filename =
let forbidden_commands = [
diff --git a/common/mlcustomize/customize_cmdline.mli b/common/mlcustomize/customize_cmdline.mli
index abe10953..7770d5d4 100644
--- a/common/mlcustomize/customize_cmdline.mli
+++ b/common/mlcustomize/customize_cmdline.mli
@@ -109,6 +109,8 @@ and flags = {
(* --selinux-relabel *)
selinux_relabel_excludes : string list;
(* --selinux-relabel-exclude *)
+ selinux_relabel_at_boot : bool;
+ (* --selinux-relabel-at-boot *)
}
type argspec = Getopt.keys * Getopt.spec * Getopt.doc
diff --git a/common/mlcustomize/customize_run.ml b/common/mlcustomize/customize_run.ml
index 4878c00f..73585a53 100644
--- a/common/mlcustomize/customize_run.ml
+++ b/common/mlcustomize/customize_run.ml
@@ -360,8 +360,13 @@ let run (g : G.guestfs) root (ops : ops) =
);
if not ops.flags.no_selinux_relabel then (
- message (f_"SELinux relabelling");
- SELinux_relabel.relabel g ops.flags.selinux_relabel_excludes
+ let at_boot = ops.flags.selinux_relabel_at_boot in
+ if not at_boot then
+ message (f_"SELinux relabelling")
+ else
+ message (f_"SELinux relabelling deferred to first boot");
+ let excludes = ops.flags.selinux_relabel_excludes in
+ SELinux_relabel.relabel ~at_boot ~excludes g
);
(* Clean up the log file:
diff --git a/common/mlcustomize/v2v-customize-options.pod b/common/mlcustomize/v2v-customize-options.pod
index fee5f984..c91c1491 100644
--- a/common/mlcustomize/v2v-customize-options.pod
+++ b/common/mlcustomize/v2v-customize-options.pod
@@ -332,6 +332,36 @@ It cannot delete directories, only regular files.
This is a compatibility option that does nothing.
+=item B<--selinux-relabel-at-boot>
+
+This advanced option lets you defer
+SELinux relabelling until the first time the guest boots
+after conversion.
+
+The advantage of doing this is that conversion is quicker
+and uses less memory.
+
+The disadvantages are:
+
+=over 4
+
+=item *
+
+The guest will take I<much> longer to boot up and become ready
+the first time it boots.
+
+=item *
+
+The guest will reboot at least once.
+
+=item *
+
+SELinux relabelling problems cannot be detected during conversion.
+
+=back
+
+If in doubt, do not use this option.
+
=item B<--selinux-relabel-exclude> DIR
Exclude directories from being relabelled.
diff --git a/common/mlcustomize/v2v-customize-synopsis.pod b/common/mlcustomize/v2v-customize-synopsis.pod
index 5a1bc009..04d02024 100644
--- a/common/mlcustomize/v2v-customize-synopsis.pod
+++ b/common/mlcustomize/v2v-customize-synopsis.pod
@@ -13,3 +13,4 @@
[--upload FILE:DEST] [--write FILE:CONTENT] [--no-logfile]
[--password-crypto md5|sha256|sha512] [--no-selinux-relabel]
[--selinux-relabel] [--selinux-relabel-exclude DIR]
+ [--selinux-relabel-at-boot]
diff --git a/tests/functions.sh.in b/tests/functions.sh.in
index f3911c07..143d3d0f 100644
--- a/tests/functions.sh.in
+++ b/tests/functions.sh.in
@@ -77,6 +77,7 @@ virt_customize_options=\
--run-command,\
--scrub,\
--selinux-relabel,\
+--selinux-relabel-at-boot,\
--selinux-relabel-exclude,\
--ssh-inject,\
--tar-in,\

View File

@ -0,0 +1,351 @@
From 9bd7e17d0b34f939eab0c18cef7fd4bb74269c20 Mon Sep 17 00:00:00 2001
From: Darren Archibald <darren.archibald@oracle.com>
Date: Tue, 9 Sep 2025 04:07:35 -0700
Subject: [PATCH] replaced upstream references
Signed-off-by: Darren Archibald <darren.archibald@oracle.com>
Signed-off-by: Akshata Konala <akshata.konala@oracle.com>
---
po/Makefile.am | 2 +-
po/cs.po | 3 +--
po/de.po | 3 +--
po/es.po | 3 +--
po/fi.po | 3 +--
po/fr.po | 3 +--
po/gu.po | 3 +--
po/hi.po | 3 +--
po/ja.po | 3 +--
po/ka.po | 3 +--
po/kn.po | 3 +--
po/ml.po | 3 +--
po/mr.po | 3 +--
po/nl.po | 3 +--
po/or.po | 3 +--
po/pa.po | 3 +--
po/pl.po | 3 +--
po/si.po | 3 +--
po/uk.po | 3 +--
po/virt-v2v.pot | 3 +--
podwrapper.pl.in | 4 ++--
website/index.html.in | 6 +++---
22 files changed, 25 insertions(+), 44 deletions(-)
diff --git a/po/Makefile.am b/po/Makefile.am
index 08d9dbe..61f472b 100644
--- a/po/Makefile.am
+++ b/po/Makefile.am
@@ -19,7 +19,7 @@ include $(top_srcdir)/subdir-rules.mk
DOMAIN = $(PACKAGE_NAME)
COPYRIGHT_HOLDER = Red Hat Inc.
-MSGID_BUGS_ADDRESS = https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools
+MSGID_BUGS_ADDRESS = https://github.com/oracle/oracle-linux
# Languages.
# Don't use LINGUAS (uppercase) as Gentoo defines it (RHBZ#804464).
diff --git a/po/cs.po b/po/cs.po
index 55c4fdc..5003e14 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -2,8 +2,7 @@
msgid ""
msgstr ""
"Project-Id-Version: libguestfs 1.39.12\n"
-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
-"component=libguestfs&product=Virtualization+Tools\n"
+"Report-Msgid-Bugs-To: https://github.com/oracle/oracle-linux\n"
"POT-Creation-Date: 2025-02-27 18:15+0000\n"
"PO-Revision-Date: 2023-04-08 18:20+0000\n"
"Last-Translator: Pavel Borecki <pavel.borecki@gmail.com>\n"
diff --git a/po/de.po b/po/de.po
index e8d9053..835535e 100644
--- a/po/de.po
+++ b/po/de.po
@@ -9,8 +9,7 @@
msgid ""
msgstr ""
"Project-Id-Version: libguestfs 1.39.12\n"
-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
-"component=libguestfs&product=Virtualization+Tools\n"
+"Report-Msgid-Bugs-To: https://github.com/oracle/oracle-linux\n"
"POT-Creation-Date: 2025-02-27 18:15+0000\n"
"PO-Revision-Date: 2015-02-21 10:48+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
diff --git a/po/es.po b/po/es.po
index 1a63337..8800235 100644
--- a/po/es.po
+++ b/po/es.po
@@ -10,8 +10,7 @@
msgid ""
msgstr ""
"Project-Id-Version: libguestfs 1.39.12\n"
-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
-"component=libguestfs&product=Virtualization+Tools\n"
+"Report-Msgid-Bugs-To: https://github.com/oracle/oracle-linux\n"
"POT-Creation-Date: 2025-02-27 18:15+0000\n"
"PO-Revision-Date: 2015-03-16 07:04+0000\n"
"Last-Translator: Alex Puchades <alex94puchades@gmail.com>\n"
diff --git a/po/fi.po b/po/fi.po
index 56f9917..b077010 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -6,8 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: virt-v2v 1.43.4\n"
-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
-"component=libguestfs&product=Virtualization+Tools\n"
+"Report-Msgid-Bugs-To: https://github.com/oracle/oracle-linux\n"
"POT-Creation-Date: 2025-02-27 18:15+0000\n"
"PO-Revision-Date: 2025-01-09 11:33+0000\n"
"Last-Translator: Ricky Tigg <ricky.tigg@gmail.com>\n"
diff --git a/po/fr.po b/po/fr.po
index 2db1ae1..2ba25d0 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -10,8 +10,7 @@
msgid ""
msgstr ""
"Project-Id-Version: libguestfs 1.39.12\n"
-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
-"component=libguestfs&product=Virtualization+Tools\n"
+"Report-Msgid-Bugs-To: https://github.com/oracle/oracle-linux\n"
"POT-Creation-Date: 2025-02-27 18:15+0000\n"
"PO-Revision-Date: 2023-03-21 09:20+0000\n"
"Last-Translator: grimst <grimaitres@gmail.com>\n"
diff --git a/po/gu.po b/po/gu.po
index 5b4e798..9c540cd 100644
--- a/po/gu.po
+++ b/po/gu.po
@@ -8,8 +8,7 @@
msgid ""
msgstr ""
"Project-Id-Version: libguestfs 1.39.12\n"
-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
-"component=libguestfs&product=Virtualization+Tools\n"
+"Report-Msgid-Bugs-To: https://github.com/oracle/oracle-linux\n"
"POT-Creation-Date: 2025-02-27 18:15+0000\n"
"PO-Revision-Date: 2015-02-21 10:49+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
diff --git a/po/hi.po b/po/hi.po
index a3983ed..0364d75 100644
--- a/po/hi.po
+++ b/po/hi.po
@@ -8,8 +8,7 @@
msgid ""
msgstr ""
"Project-Id-Version: libguestfs 1.39.12\n"
-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
-"component=libguestfs&product=Virtualization+Tools\n"
+"Report-Msgid-Bugs-To: https://github.com/oracle/oracle-linux\n"
"POT-Creation-Date: 2025-02-27 18:15+0000\n"
"PO-Revision-Date: 2015-02-21 10:49+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
diff --git a/po/ja.po b/po/ja.po
index 23d34f2..c14299e 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -9,8 +9,7 @@
msgid ""
msgstr ""
"Project-Id-Version: libguestfs 1.39.12\n"
-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
-"component=libguestfs&product=Virtualization+Tools\n"
+"Report-Msgid-Bugs-To: https://github.com/oracle/oracle-linux\n"
"POT-Creation-Date: 2025-02-27 18:15+0000\n"
"PO-Revision-Date: 2017-02-24 07:33+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
diff --git a/po/ka.po b/po/ka.po
index 78ebee4..b116e86 100644
--- a/po/ka.po
+++ b/po/ka.po
@@ -6,8 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: virt-v2v 2.1.1\n"
-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
-"component=libguestfs&product=Virtualization+Tools\n"
+"Report-Msgid-Bugs-To: https://github.com/oracle/oracle-linux\n"
"POT-Creation-Date: 2025-02-27 18:15+0000\n"
"PO-Revision-Date: 2025-01-09 09:27+0000\n"
"Last-Translator: Weblate Translation Memory <noreply-mt-weblate-translation-"
diff --git a/po/kn.po b/po/kn.po
index 3de0f89..bd0e5b0 100644
--- a/po/kn.po
+++ b/po/kn.po
@@ -7,8 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: libguestfs 1.39.12\n"
-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
-"component=libguestfs&product=Virtualization+Tools\n"
+"Report-Msgid-Bugs-To: https://github.com/oracle/oracle-linux\n"
"POT-Creation-Date: 2025-02-27 18:15+0000\n"
"PO-Revision-Date: 2015-02-21 10:50+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
diff --git a/po/ml.po b/po/ml.po
index 7a3f071..7de8c16 100644
--- a/po/ml.po
+++ b/po/ml.po
@@ -7,8 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: libguestfs 1.39.12\n"
-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
-"component=libguestfs&product=Virtualization+Tools\n"
+"Report-Msgid-Bugs-To: https://github.com/oracle/oracle-linux\n"
"POT-Creation-Date: 2025-02-27 18:15+0000\n"
"PO-Revision-Date: 2015-02-21 10:50+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
diff --git a/po/mr.po b/po/mr.po
index 8222d63..7f55091 100644
--- a/po/mr.po
+++ b/po/mr.po
@@ -8,8 +8,7 @@
msgid ""
msgstr ""
"Project-Id-Version: libguestfs 1.39.12\n"
-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
-"component=libguestfs&product=Virtualization+Tools\n"
+"Report-Msgid-Bugs-To: https://github.com/oracle/oracle-linux\n"
"POT-Creation-Date: 2025-02-27 18:15+0000\n"
"PO-Revision-Date: 2015-02-21 10:51+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
diff --git a/po/nl.po b/po/nl.po
index 06df912..b25b908 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -9,8 +9,7 @@
msgid ""
msgstr ""
"Project-Id-Version: libguestfs 1.39.12\n"
-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
-"component=libguestfs&product=Virtualization+Tools\n"
+"Report-Msgid-Bugs-To: https://github.com/oracle/oracle-linux\n"
"POT-Creation-Date: 2025-02-27 18:15+0000\n"
"PO-Revision-Date: 2015-02-21 10:51+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
diff --git a/po/or.po b/po/or.po
index 2422cc3..92a2500 100644
--- a/po/or.po
+++ b/po/or.po
@@ -7,8 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: libguestfs 1.39.12\n"
-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
-"component=libguestfs&product=Virtualization+Tools\n"
+"Report-Msgid-Bugs-To: https://github.com/oracle/oracle-linux\n"
"POT-Creation-Date: 2025-02-27 18:15+0000\n"
"PO-Revision-Date: 2015-02-21 10:51+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
diff --git a/po/pa.po b/po/pa.po
index e2465b6..73a8db6 100644
--- a/po/pa.po
+++ b/po/pa.po
@@ -8,8 +8,7 @@
msgid ""
msgstr ""
"Project-Id-Version: libguestfs 1.39.12\n"
-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
-"component=libguestfs&product=Virtualization+Tools\n"
+"Report-Msgid-Bugs-To: https://github.com/oracle/oracle-linux\n"
"POT-Creation-Date: 2025-02-27 18:15+0000\n"
"PO-Revision-Date: 2015-02-21 10:52+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
diff --git a/po/pl.po b/po/pl.po
index 77f4651..16c7459 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -11,8 +11,7 @@
msgid ""
msgstr ""
"Project-Id-Version: libguestfs 1.39.12\n"
-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
-"component=libguestfs&product=Virtualization+Tools\n"
+"Report-Msgid-Bugs-To: https://github.com/oracle/oracle-linux\n"
"POT-Creation-Date: 2025-02-27 18:15+0000\n"
"PO-Revision-Date: 2024-01-15 13:36+0000\n"
"Last-Translator: Weblate Translation Memory <noreply-mt-weblate-translation-"
diff --git a/po/si.po b/po/si.po
index 3fc531a..3c3f7cd 100644
--- a/po/si.po
+++ b/po/si.po
@@ -6,8 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: virt-v2v 1.43.3\n"
-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
-"component=libguestfs&product=Virtualization+Tools\n"
+"Report-Msgid-Bugs-To: https://github.com/oracle/oracle-linux\n"
"POT-Creation-Date: 2025-02-27 18:15+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
diff --git a/po/uk.po b/po/uk.po
index ea5ca97..ae7f4e6 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -12,8 +12,7 @@
msgid ""
msgstr ""
"Project-Id-Version: libguestfs 1.39.12\n"
-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
-"component=libguestfs&product=Virtualization+Tools\n"
+"Report-Msgid-Bugs-To: https://github.com/oracle/oracle-linux\n"
"POT-Creation-Date: 2025-02-27 18:15+0000\n"
"PO-Revision-Date: 2024-12-22 07:38+0000\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
diff --git a/podwrapper.pl.in b/podwrapper.pl.in
index d7973fc..0a196f3 100755
--- a/podwrapper.pl.in
+++ b/podwrapper.pl.in
@@ -432,10 +432,10 @@ my $reporting_bugs =
"=head1 BUGS
To get a list of bugs against libguestfs, use this link:
-L<https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools>
+L<https://github.com/oracle/oracle-linux>
To report a new bug against libguestfs, use this link:
-L<https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools>
+L<https://github.com/oracle/oracle-linux>
When reporting a bug, please supply:
diff --git a/website/index.html.in b/website/index.html.in
index f578523..e1e1592 100644
--- a/website/index.html.in
+++ b/website/index.html.in
@@ -160,12 +160,12 @@ For testers:
<h2>Bug reports</h2>
<p>
-<a href="https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools">List of bugs in libguestfs</a> and
-<a href="https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Fedora">in Fedora packaging of libguestfs</a>
+<a href="https://github.com/oracle/oracle-linux">List of bugs in libguestfs</a> and
+<a href="https://github.com/oracle/oracle-linux">in Community packaging of libguestfs</a>
</p>
<p>
-<a href="https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools">Enter a new bug report</a>
+<a href="https://github.com/oracle/oracle-linux">Enter a new bug report</a>
</p>
</div>
diff --git a/po/virt-v2v.pot b/po/virt-v2v.pot
index 7b7d7b7..fba74c8 100644
--- a/po/virt-v2v.pot
+++ b/po/virt-v2v.pot
@@ -7,8 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: virt-v2v 2.10.0\n"
-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
-"component=libguestfs&product=Virtualization+Tools\n"
+"Report-Msgid-Bugs-To: https://github.com/oracle/oracle-linux\n"
"POT-Creation-Date: 2026-01-06 11:03+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
--
2.31.1

View File

@ -45,7 +45,7 @@ ExclusiveArch: x86_64
Name: virt-v2v
Epoch: 1
Version: 2.10.0
Release: 18%{?dist}
Release: 20.0.1%{?dist}
Summary: Convert a virtual machine to run on KVM
License: GPL-2.0-or-later AND LGPL-2.0-or-later
@ -113,6 +113,12 @@ Patch0045: 0045-convert-fix-ubuntu-conversion-regression.patch
Patch0046: 0046-common-update-submodule.patch
Patch0047: 0047-Add-new-collect-option-to-collect-pre-conversion-Win.patch
Patch0048: 0048-inspector-in-place-Add-disk-boot-order-boot-order-to.patch
Patch0049: 0049-common-update-submodule.patch
Patch0050: 0050-mlcustomize-Add-new-selinux-relabel-excludes-flag.patch
Patch0051: 0051-common-update-submodule.patch
Patch0052: 0052-tests-functions.sh.in-Fix-podcheck-to-ignore-new-vir.patch
Patch0053: 0053-Add-selinux-relabel-at-boot-parameter.patch
Patch1001: 1001-replaced-upstream-references.patch
BuildRequires: autoconf, automake, libtool
BuildRequires: make
@ -123,7 +129,7 @@ BuildRequires: perl(IPC::Run3)
BuildRequires: gcc
BuildRequires: ocaml >= 4.08
BuildRequires: libguestfs-devel >= 1:1.58.1-6
BuildRequires: libguestfs-devel >= 1:1.58.1-9
BuildRequires: augeas-devel
BuildRequires: bash-completion
%if 0%{?fedora} || 0%{?rhel} >= 11
@ -169,7 +175,7 @@ BuildRequires: glibc-static
BuildRequires: gnupg2
%endif
Requires: libguestfs%{?_isa} >= 1:1.58.1-6
Requires: libguestfs%{?_isa} >= 1:1.58.1-9
Requires: guestfs-tools >= 1.54
# XFS is the default filesystem in Fedora and RHEL.
@ -418,6 +424,20 @@ done
%changelog
* Mon Aug 17 2026 EL Errata <el-errata_ww@oracle.com> - 2.10.0-20.0.1
- Replaced bugzilla.oracle.com references [Orabug: 34202300]
- replaced upstream references [Orabug:34089586]
* Fri Aug 14 2026 Richard W.M. Jones <rjones@redhat.com> - 1:2.10.0-20
- Fix SELinux relabelling of podman rootless containers
resolves: RHEL-239852
- Add --selinux-relabel-exclude parameter
resolves: RHEL-239809
- Add --selinux-relabel-at-boot parameter
resolves: RHEL-RHEL-240649
- Change '::' to 'REM' in Windows batch files for improved reliability
resolves: RHEL-239810
* Tue Jul 07 2026 Richard W.M. Jones <rjones@redhat.com> - 1:2.10.0-18
- Add <disk> <boot-order>#</boot-order> to XML output
resolves: RHEL-193138