From e5e46352bac9f8590c60070a6e420b0b291c4c64 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 17 Oct 2025 13:53:35 +0100 Subject: [PATCH] Remove virt-customize subscription-manager options resolves: RHEL-122307 --- 0014-common-update-submodule.patch | 427 ++++++++++++++++++ 0015-pod-Document-removal-of-sm-options.patch | 150 ++++++ ...of-libguestfs-winsupport-features-ex.patch | 2 +- ...-builder-Disable-opensuse-repository.patch | 2 +- guestfs-tools.spec | 17 +- 5 files changed, 591 insertions(+), 7 deletions(-) create mode 100644 0014-common-update-submodule.patch create mode 100644 0015-pod-Document-removal-of-sm-options.patch rename 0014-RHEL-Reject-use-of-libguestfs-winsupport-features-ex.patch => 0016-RHEL-Reject-use-of-libguestfs-winsupport-features-ex.patch (91%) rename 0015-RHEL-builder-Disable-opensuse-repository.patch => 0017-RHEL-builder-Disable-opensuse-repository.patch (94%) diff --git a/0014-common-update-submodule.patch b/0014-common-update-submodule.patch new file mode 100644 index 0000000..ea8e00e --- /dev/null +++ b/0014-common-update-submodule.patch @@ -0,0 +1,427 @@ +From 5ed99959b689fc6fa287d9c6100e92a18bc1c9be Mon Sep 17 00:00:00 2001 +From: Cole Robinson +Date: Tue, 14 Oct 2025 14:07:40 -0400 +Subject: [PATCH] common: update submodule + +Cole Robinson (1): + mlcustomize: deprecate and remove --sm-* options + +Signed-off-by: Cole Robinson +(cherry picked from commit 57b225d8d324d15d79fab2ccc6944868c1168a42) +--- + common | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Submodule common da55dc4d7..90399dd18: +diff --git a/common/mlcustomize/Makefile.am b/common/mlcustomize/Makefile.am +index 6e03bfea3..351524c80 100644 +--- a/common/mlcustomize/Makefile.am ++++ b/common/mlcustomize/Makefile.am +@@ -47,7 +47,6 @@ SOURCES_MLI = \ + random_seed.mli \ + SELinux_relabel.mli \ + ssh_key.mli \ +- subscription_manager.mli \ + timezone.mli + + # This list must be in dependency order. +@@ -58,7 +57,6 @@ SOURCES_ML = \ + perl_edit.ml \ + random_seed.ml \ + ssh_key.ml \ +- subscription_manager.ml \ + timezone.ml \ + crypt.ml \ + password.ml \ +diff --git a/common/mlcustomize/customize-options.pod b/common/mlcustomize/customize-options.pod +index 157145ebc..c8de3953c 100644 +--- a/common/mlcustomize/customize-options.pod ++++ b/common/mlcustomize/customize-options.pod +@@ -392,35 +392,6 @@ It cannot delete directories, only regular files. + + This is a compatibility option that does nothing. + +-=item B<--sm-attach> SELECTOR +- +-Attach to a pool using C. +- +-See L for the format of +-the C field. +- +-=item B<--sm-credentials> SELECTOR +- +-Set the credentials for C. +- +-See L for the format of +-the C field. +- +-=item B<--sm-register> +- +-Register the guest using C. +- +-This requires credentials being set using I<--sm-credentials>. +- +-=item B<--sm-remove> +- +-Remove all the subscriptions from the guest using +-C. +- +-=item B<--sm-unregister> +- +-Unregister the guest using C. +- + =item B<--ssh-inject> USER[:SELECTOR] + + Inject an ssh key so the given C will be able to log in over +diff --git a/common/mlcustomize/customize-synopsis.pod b/common/mlcustomize/customize-synopsis.pod +index 957de8cf2..f5eeb69dd 100644 +--- a/common/mlcustomize/customize-synopsis.pod ++++ b/common/mlcustomize/customize-synopsis.pod +@@ -8,11 +8,10 @@ + [--install PKG,PKG..] [--link TARGET:LINK[:LINK..]] [--mkdir DIR] + [--move SOURCE:DEST] [--password USER:SELECTOR] + [--root-password SELECTOR] [--run SCRIPT] +- [--run-command 'CMD+ARGS'] [--scrub FILE] [--sm-attach SELECTOR] +- [--sm-register] [--sm-remove] [--sm-unregister] ++ [--run-command 'CMD+ARGS'] [--scrub FILE] + [--ssh-inject USER[:SELECTOR]] [--tar-in TARFILE:REMOTEDIR] + [--timezone TIMEZONE] [--touch FILE] [--truncate FILE] + [--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] [--sm-credentials SELECTOR] ++ [--selinux-relabel] +diff --git a/common/mlcustomize/customize_cmdline.ml b/common/mlcustomize/customize_cmdline.ml +index 7451f1325..786f4ee49 100644 +--- a/common/mlcustomize/customize_cmdline.ml ++++ b/common/mlcustomize/customize_cmdline.ml +@@ -85,14 +85,6 @@ and op = [ + (* --run-command 'CMD+ARGS' *) + | `Scrub of string + (* --scrub FILE *) +- | `SMAttach of Subscription_manager.sm_pool +- (* --sm-attach SELECTOR *) +- | `SMRegister +- (* --sm-register *) +- | `SMRemove +- (* --sm-remove *) +- | `SMUnregister +- (* --sm-unregister *) + | `SSHInject of string * Ssh_key.ssh_key_selector + (* --ssh-inject USER[:SELECTOR] *) + | `TarIn of string * string +@@ -123,8 +115,6 @@ and flags = { + (* --no-selinux-relabel *) + selinux_relabel_ignored : bool; + (* --selinux-relabel *) +- sm_credentials : Subscription_manager.sm_credentials option; +- (* --sm-credentials SELECTOR *) + } + + type argspec = Getopt.keys * Getopt.spec * Getopt.doc +@@ -135,7 +125,6 @@ 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 sm_credentials = ref None in + + let rec get_ops () = { + ops = List.rev !ops; +@@ -146,7 +135,6 @@ let rec argspec ?(v2v = false) () = + password_crypto = !password_crypto; + no_selinux_relabel = !no_selinux_relabel; + selinux_relabel_ignored = !selinux_relabel_ignored; +- sm_credentials = !sm_credentials; + } + in + +@@ -386,35 +374,6 @@ let rec argspec ?(v2v = false) () = + s_"Scrub a file" + ), + Some "FILE", "Scrub a file from the guest. This is like I<--delete> except that:\n\n=over 4\n\n=item *\n\nIt scrubs the data so a guest could not recover it.\n\n=item *\n\nIt cannot delete directories, only regular files.\n\n=back", false; +- ( +- [ L"sm-attach" ], +- Getopt.String ( +- s_"SELECTOR", +- fun s -> +- let sel = Subscription_manager.parse_pool_selector s in +- List.push_front (`SMAttach sel) ops +- ), +- s_"Attach to a subscription-manager pool" +- ), +- Some "SELECTOR", "Attach to a pool using C.\n\nSee L for the format of\nthe C field.", false; +- ( +- [ L"sm-register" ], +- Getopt.Unit (fun () -> List.push_front `SMRegister ops), +- s_"Register using subscription-manager" +- ), +- None, "Register the guest using C.\n\nThis requires credentials being set using I<--sm-credentials>.", false; +- ( +- [ L"sm-remove" ], +- Getopt.Unit (fun () -> List.push_front `SMRemove ops), +- s_"Remove all the subscriptions" +- ), +- None, "Remove all the subscriptions from the guest using\nC.", false; +- ( +- [ L"sm-unregister" ], +- Getopt.Unit (fun () -> List.push_front `SMUnregister ops), +- s_"Unregister using subscription-manager" +- ), +- None, "Unregister the guest using C.", false; + ( + [ L"ssh-inject" ], + Getopt.String ( +@@ -529,16 +488,6 @@ let rec argspec ?(v2v = false) () = + s_"Compatibility option doing nothing" + ), + None, "This is a compatibility option that does nothing.", false; +- ( +- [ L"sm-credentials" ], +- Getopt.String ( +- s_"SELECTOR", +- fun s -> +- sm_credentials := Some (Subscription_manager.parse_credentials_selector s) +- ), +- s_"Credentials for subscription-manager" +- ), +- Some "SELECTOR", "Set the credentials for C.\n\nSee L for the format of\nthe C field.", 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 cc32f3af4..baacda9d3 100644 +--- a/common/mlcustomize/customize_cmdline.mli ++++ b/common/mlcustomize/customize_cmdline.mli +@@ -77,14 +77,6 @@ and op = [ + (* --run-command 'CMD+ARGS' *) + | `Scrub of string + (* --scrub FILE *) +- | `SMAttach of Subscription_manager.sm_pool +- (* --sm-attach SELECTOR *) +- | `SMRegister +- (* --sm-register *) +- | `SMRemove +- (* --sm-remove *) +- | `SMUnregister +- (* --sm-unregister *) + | `SSHInject of string * Ssh_key.ssh_key_selector + (* --ssh-inject USER[:SELECTOR] *) + | `TarIn of string * string +@@ -115,8 +107,6 @@ and flags = { + (* --no-selinux-relabel *) + selinux_relabel_ignored : bool; + (* --selinux-relabel *) +- sm_credentials : Subscription_manager.sm_credentials option; +- (* --sm-credentials SELECTOR *) + } + + type argspec = Getopt.keys * Getopt.spec * Getopt.doc +diff --git a/common/mlcustomize/customize_run.ml b/common/mlcustomize/customize_run.ml +index 64afd3ab5..1baf0f3cf 100644 +--- a/common/mlcustomize/customize_run.ml ++++ b/common/mlcustomize/customize_run.ml +@@ -279,43 +279,6 @@ let run (g : G.guestfs) root (ops : ops) = + message (f_"Scrubbing: %s") path; + g#scrub_file path + +- | `SMAttach pool -> +- (match pool with +- | Subscription_manager.PoolAuto -> +- message (f_"Attaching to compatible subscriptions"); +- let cmd = "subscription-manager attach --auto" in +- do_run ~display:cmd ~warn_failed_no_network:true cmd +- | Subscription_manager.PoolId id -> +- message (f_"Attaching to the pool %s") id; +- let cmd = sprintf "subscription-manager attach --pool=%s" (quote id) in +- do_run ~display:cmd ~warn_failed_no_network:true cmd +- ) +- +- | `SMRegister -> +- message (f_"Registering with subscription-manager"); +- let creds = +- match ops.flags.sm_credentials with +- | None -> +- error (f_"subscription-manager credentials required for \ +- --sm-register") +- | Some c -> c in +- let cmd = sprintf "subscription-manager register \ +- --username=%s --password=%s" +- (quote creds.Subscription_manager.sm_username) +- (quote creds.Subscription_manager.sm_password) in +- do_run ~display:"subscription-manager register" +- ~warn_failed_no_network:true cmd +- +- | `SMRemove -> +- message (f_"Removing all the subscriptions"); +- let cmd = "subscription-manager remove --all" in +- do_run ~display:cmd ~warn_failed_no_network:true cmd +- +- | `SMUnregister -> +- message (f_"Unregistering with subscription-manager"); +- let cmd = "subscription-manager unregister" in +- do_run ~display:cmd ~warn_failed_no_network:true cmd +- + | `SSHInject (user, selector) -> + if unix_like (g#inspect_get_type root) then ( + message (f_"SSH key inject: %s") user; +diff --git a/common/mlcustomize/subscription_manager.ml b/common/mlcustomize/subscription_manager.ml +deleted file mode 100644 +index 104602462..000000000 +--- a/common/mlcustomize/subscription_manager.ml ++++ /dev/null +@@ -1,54 +0,0 @@ +-(* virt-customize +- * Copyright (C) 2015 Red Hat Inc. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License along +- * with this program; if not, write to the Free Software Foundation, Inc., +- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +- *) +- +-open Std_utils +-open Tools_utils +-open Common_gettext.Gettext +- +-type sm_credentials = { +- sm_username : string; +- sm_password : string; +-} +- +-type sm_pool = +-| PoolAuto +-| PoolId of string +- +-let rec parse_credentials_selector arg = +- parse_credentials_selector_list arg (String.nsplit ":" arg) +- +-and parse_credentials_selector_list orig_arg = function +- | [ username; "password"; password ] -> +- { sm_username = username; sm_password = password } +- | [ username; "file"; filename ] -> +- { sm_username = username; sm_password = read_first_line_from_file filename } +- | _ -> +- error (f_"invalid sm-credentials selector ā€˜%s’; see the man page") orig_arg +- +-let rec parse_pool_selector arg = +- parse_pool_selector_list arg (String.nsplit ":" arg) +- +-and parse_pool_selector_list orig_arg = function +- | [ "auto" ] -> +- PoolAuto +- | [ "pool"; pool ] -> +- PoolId pool +- | [ "file"; filename ] -> +- PoolId (read_first_line_from_file filename) +- | _ -> +- error (f_"invalid sm-attach selector ā€˜%s’; see the man page") orig_arg +diff --git a/common/mlcustomize/subscription_manager.mli b/common/mlcustomize/subscription_manager.mli +deleted file mode 100644 +index bb6b92014..000000000 +--- a/common/mlcustomize/subscription_manager.mli ++++ /dev/null +@@ -1,34 +0,0 @@ +-(* virt-customize +- * Copyright (C) 2015 Red Hat Inc. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License along +- * with this program; if not, write to the Free Software Foundation, Inc., +- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +- *) +- +-type sm_credentials = { +- sm_username : string; +- sm_password : string; +-} +- +-type sm_pool = +-| PoolAuto (** Automatic entitlements. *) +-| PoolId of string (** Specific pool. *) +- +-val parse_credentials_selector : string -> sm_credentials +-(** Parse the selector field in --sm-credentials. Exits if the format +- is not valid. *) +- +-val parse_pool_selector : string -> sm_pool +-(** Parse the selector field in --sm-attach. Exits if the format +- is not valid. *) +diff --git a/common/mlcustomize/v2v-customize-options.pod b/common/mlcustomize/v2v-customize-options.pod +index 0974f4592..f02f05dac 100644 +--- a/common/mlcustomize/v2v-customize-options.pod ++++ b/common/mlcustomize/v2v-customize-options.pod +@@ -338,35 +338,6 @@ It cannot delete directories, only regular files. + + This is a compatibility option that does nothing. + +-=item B<--sm-attach> SELECTOR +- +-Attach to a pool using C. +- +-See L for the format of +-the C field. +- +-=item B<--sm-credentials> SELECTOR +- +-Set the credentials for C. +- +-See L for the format of +-the C field. +- +-=item B<--sm-register> +- +-Register the guest using C. +- +-This requires credentials being set using I<--sm-credentials>. +- +-=item B<--sm-remove> +- +-Remove all the subscriptions from the guest using +-C. +- +-=item B<--sm-unregister> +- +-Unregister the guest using C. +- + =item B<--ssh-inject> USER[:SELECTOR] + + Inject an ssh key so the given C will be able to log in over +diff --git a/common/mlcustomize/v2v-customize-synopsis.pod b/common/mlcustomize/v2v-customize-synopsis.pod +index 7eb0a941c..4c1a1547b 100644 +--- a/common/mlcustomize/v2v-customize-synopsis.pod ++++ b/common/mlcustomize/v2v-customize-synopsis.pod +@@ -7,11 +7,9 @@ + [--link TARGET:LINK[:LINK..]] [--mkdir DIR] [--move SOURCE:DEST] + [--password USER:SELECTOR] [--root-password SELECTOR] + [--run SCRIPT] [--run-command 'CMD+ARGS'] [--scrub FILE] +- [--sm-attach SELECTOR] [--sm-register] [--sm-remove] +- [--sm-unregister] [--ssh-inject USER[:SELECTOR]] +- [--tar-in TARFILE:REMOTEDIR] [--timezone TIMEZONE] [--touch FILE] +- [--truncate FILE] [--truncate-recursive PATH] +- [--uninstall PKG,PKG..] [--update] [--upload FILE:DEST] +- [--write FILE:CONTENT] [--no-logfile] ++ [--ssh-inject USER[:SELECTOR]] [--tar-in TARFILE:REMOTEDIR] ++ [--timezone TIMEZONE] [--touch FILE] [--truncate FILE] ++ [--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] [--sm-credentials SELECTOR] ++ [--selinux-relabel] diff --git a/0015-pod-Document-removal-of-sm-options.patch b/0015-pod-Document-removal-of-sm-options.patch new file mode 100644 index 0000000..c2448a6 --- /dev/null +++ b/0015-pod-Document-removal-of-sm-options.patch @@ -0,0 +1,150 @@ +From de70086dbe2eb8a6ec023ebbd0c84489a8719ba1 Mon Sep 17 00:00:00 2001 +From: Cole Robinson +Date: Tue, 14 Oct 2025 14:16:19 -0400 +Subject: [PATCH] pod: Document removal of --sm-* options + +Update podcheck.pl to allow for still documenting these +in virt-builder.pod + +Signed-off-by: Cole Robinson +(cherry picked from commit 7bad703d724cd976cc3b7760b09af353aab46ff0) +--- + builder/virt-builder.pod | 73 +++++++++++++----------------------- + customize/virt-customize.pod | 8 ++++ + podcheck.pl | 13 ++++++- + 3 files changed, 46 insertions(+), 48 deletions(-) + +diff --git a/builder/virt-builder.pod b/builder/virt-builder.pod +index ff0ec250c..f043939ca 100644 +--- a/builder/virt-builder.pod ++++ b/builder/virt-builder.pod +@@ -878,53 +878,6 @@ F. + + =back + +-=head2 SUBSCRIPTION-MANAGER +- +-It is possible to automate the registration and attaching of the +-system using C. This is typical on +-Red Hat Enterprise Linux guests. There are few options which ease +-this process, avoid executing commands manually and exposing +-passwords on command line. +- +-I<--sm-register> starts the registration process, and requires +-I<--sm-credentials> to be specified; the format of the C +-of I<--sm-credentials> is one of the following formats: +- +-=over 4 +- +-=item B<--sm-credentials> USER:file:FILENAME +- +-Read the password for the specified C from F. +- +-=item B<--sm-credentials> USER:password:PASSWORD +- +-Use the literal string C for the specified C. +- +-=back +- +-I<--sm-attach> attaches the system to subscriptions; the format +-of its C is one of the following: +- +-=over 4 +- +-=item B<--sm-attach> auto +- +-C attaches to the best-fitting subscriptions +-for the system. +- +-=item B<--sm-attach> file:FILENAME +- +-Read the pool ID from F. +- +-=item B<--sm-attach> pool:POOL +- +-Use the literal string C as pool ID. +- +-=back +- +-I<--sm-remove> removes all the subscriptions from the guest, while +-I<--sm-unregister> completely unregister the system. +- + =head2 INSTALLATION PROCESS + + When you invoke virt-builder, installation proceeds as follows: +@@ -1764,6 +1717,32 @@ them, which is normal and harmless. + + =back + ++=head2 DEPRECATED OPTIONS ++ ++In version 1.56 the subscription-manager options were removed. ++ ++=over 4 ++ ++=item B<--sm-credentials> ++ ++=item B<--sm-register> ++ ++Use --run='subscription-manager register --username=USER --password=PASS' ++ ++=item B<--sm-unregister> ++ ++Use --run='subscription-manager unregister' ++ ++=item B<--sm-attach> ++ ++Use --run='subscription-manager attach ...' ++ ++=item B<--sm-remove> ++ ++Use --run='subscription-manager remove --all' ++ ++=back ++ + =head1 MACHINE READABLE OUTPUT + + The I<--machine-readable> option can be used to make the output more +diff --git a/customize/virt-customize.pod b/customize/virt-customize.pod +index fb3d65665..9fee64ebc 100644 +--- a/customize/virt-customize.pod ++++ b/customize/virt-customize.pod +@@ -248,6 +248,14 @@ existing ones. + + For further details, see L. + ++=head1 DEPRECATED OPTIONS ++ ++In version 1.56 the subscription-manager options were removed: ++B<--sm-credentials>, B<--sm-register>, B<--sm-unregister>, ++B<--sm-attach>, B<--sm-remove> ++ ++For further details, see L. ++ + =head1 EXIT STATUS + + This program returns 0 on success, or 1 if there was an error. +diff --git a/podcheck.pl b/podcheck.pl +index 795fe0e9b..047bbf8da 100755 +--- a/podcheck.pl ++++ b/podcheck.pl +@@ -203,7 +203,18 @@ my $pod_options_checked = 0; + + my %pod_options = (); + $pod_options{$_} = 1 foreach ( $content =~ /^=item.*B<(-[-\w]+)(?:=.*)?>/gm ); +-foreach (sort keys %pod_options) { ++ ++my %pod_option_exists = (); ++$pod_option_exists{$_} = 1 foreach keys %pod_options; ++ ++# Removed from the tool but we still document them ++delete $pod_option_exists{"--sm-credentials"}; ++delete $pod_option_exists{"--sm-register"}; ++delete $pod_option_exists{"--sm-unregister"}; ++delete $pod_option_exists{"--sm-remove"}; ++delete $pod_option_exists{"--sm-attach"}; ++ ++foreach (sort keys %pod_option_exists) { + unless ($ignore{$_}) { + $pod_options_checked++; + unless (exists $tool_option_exists{$_}) { diff --git a/0014-RHEL-Reject-use-of-libguestfs-winsupport-features-ex.patch b/0016-RHEL-Reject-use-of-libguestfs-winsupport-features-ex.patch similarity index 91% rename from 0014-RHEL-Reject-use-of-libguestfs-winsupport-features-ex.patch rename to 0016-RHEL-Reject-use-of-libguestfs-winsupport-features-ex.patch index b74c691..379239a 100644 --- a/0014-RHEL-Reject-use-of-libguestfs-winsupport-features-ex.patch +++ b/0016-RHEL-Reject-use-of-libguestfs-winsupport-features-ex.patch @@ -1,4 +1,4 @@ -From f114d864dfd4fd947f44126480d7916ad371f703 Mon Sep 17 00:00:00 2001 +From df670d9ce28791b2adfbecd52be305ef9e66f88f Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 7 Jul 2015 09:28:03 -0400 Subject: [PATCH] RHEL: Reject use of libguestfs-winsupport features except for diff --git a/0015-RHEL-builder-Disable-opensuse-repository.patch b/0017-RHEL-builder-Disable-opensuse-repository.patch similarity index 94% rename from 0015-RHEL-builder-Disable-opensuse-repository.patch rename to 0017-RHEL-builder-Disable-opensuse-repository.patch index b077919..a458732 100644 --- a/0015-RHEL-builder-Disable-opensuse-repository.patch +++ b/0017-RHEL-builder-Disable-opensuse-repository.patch @@ -1,4 +1,4 @@ -From 5bb3b3c53a6d91acf6aa73b1581be2662a6c5cfc Mon Sep 17 00:00:00 2001 +From 51014489c0d57727744d2a7921f2a3a5edfb27d2 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 21 Nov 2022 13:03:22 +0000 Subject: [PATCH] RHEL: builder: Disable opensuse repository diff --git a/guestfs-tools.spec b/guestfs-tools.spec index 035f0a0..d2447a8 100644 --- a/guestfs-tools.spec +++ b/guestfs-tools.spec @@ -16,7 +16,7 @@ Summary: Tools to access and modify virtual machine disk images Name: guestfs-tools Version: 1.54.0 -Release: 5%{?dist} +Release: 6%{?dist} License: GPL-2.0-or-later AND LGPL-2.0-or-later # Build only for architectures that have a kernel @@ -58,8 +58,10 @@ Patch0010: 0010-builder-templates-make-template.ml-Add-str-and-unix-.patch Patch0011: 0011-daemon-generator-Use-power-of-2-for-initial-size-of-.patch Patch0012: 0012-builder-Build-fedora-42-template.patch Patch0013: 0013-Update-common-submodule.patch -Patch0014: 0014-RHEL-Reject-use-of-libguestfs-winsupport-features-ex.patch -Patch0015: 0015-RHEL-builder-Disable-opensuse-repository.patch +Patch0014: 0014-common-update-submodule.patch +Patch0015: 0015-pod-Document-removal-of-sm-options.patch +Patch0016: 0016-RHEL-Reject-use-of-libguestfs-winsupport-features-ex.patch +Patch0017: 0017-RHEL-builder-Disable-opensuse-repository.patch # Basic build requirements. BuildRequires: autoconf, automake, libtool, gettext-devel @@ -112,8 +114,11 @@ BuildRequires: perl-generators BuildRequires: gnupg2 %endif +# Temporary, remove when libguestfs 1.57.5 is available in RHEL 10.2 +BuildRequires: passt + # Ensure a minimum version of libguestfs is installed. -Requires: libguestfs%{?_isa} >= 1:1.57.3-2.el10 +Requires: libguestfs%{?_isa} >= 1:1.57.5-1.el10 # For virt-builder: Requires: curl @@ -411,12 +416,14 @@ end %changelog -* Tue Sep 23 2025 Richard W.M. Jones - 1.54.0-5 +* Fri Oct 17 2025 Richard W.M. Jones - 1.54.0-6 - Fix pnputils after virt-customize --inject-virtio-win resolves: RHEL-116537 - Unify spec files between Fedora and RHEL. - Ensure a minimum version of libguestfs is installed at build and run time. resolves: RHEL-116716 +- Remove virt-customize subscription-manager options + resolves: RHEL-122307 * Wed Aug 13 2025 Richard W.M. Jones - 1.54.0-3 - Rebase to guestfs-tools 1.54.0