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]