From c9f8ee730d47802b64525221480a44c62dd9e7a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Bosdonnat?= Date: Wed, 14 May 2025 13:57:22 +0200 Subject: [PATCH] Duplicate SSL flag group shows them twice The flags group is created in two places for the `mgradm install podman` command. Removing it once to avoid showing the flags twice in the help. --- mgradm/cmd/install/shared/flags.go | 1 - shared/utils/flaggroups.go | 15 ++++++++++++++- uyuni-tools.changes.cbosdo.duplicate-ssl-group | 1 + 3 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 uyuni-tools.changes.cbosdo.duplicate-ssl-group diff --git a/mgradm/cmd/install/shared/flags.go b/mgradm/cmd/install/shared/flags.go index c9c11af74..d30df2701 100644 --- a/mgradm/cmd/install/shared/flags.go +++ b/mgradm/cmd/install/shared/flags.go @@ -27,7 +27,6 @@ func AddInstallFlags(cmd *cobra.Command) { cmd.Flags().String("ssl-server-cert", "", L("Server certificate path")) cmd.Flags().String("ssl-server-key", "", L("Server key path")) - _ = utils.AddFlagHelpGroup(cmd, &utils.Group{ID: "ssl3rd", Title: L("3rd Party SSL Certificate Flags")}) _ = utils.AddFlagToHelpGroupID(cmd, "ssl-ca-intermediate", "ssl3rd") _ = utils.AddFlagToHelpGroupID(cmd, "ssl-ca-root", "ssl3rd") _ = utils.AddFlagToHelpGroupID(cmd, "ssl-server-cert", "ssl3rd") diff --git a/shared/utils/flaggroups.go b/shared/utils/flaggroups.go index 57a6c79e0..db9ddc7b3 100644 --- a/shared/utils/flaggroups.go +++ b/shared/utils/flaggroups.go @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2024 SUSE LLC +// SPDX-FileCopyrightText: 2025 SUSE LLC // // SPDX-License-Identifier: Apache-2.0 @@ -70,9 +70,22 @@ func usageFunc(cmd *cobra.Command) error { return origUsageFunc(cmd) } +// ContainsGroup checks if the command alrady has a group with the same ID. +func ContainsGroup(cmd *cobra.Command, groupID string) bool { + for _, grp := range commandGroups[cmd] { + if grp.ID == groupID { + return true + } + } + return false +} + // AddFlagHelpGroup adds a new flags group. func AddFlagHelpGroup(cmd *cobra.Command, groups ...*Group) error { for _, group := range groups { + if ContainsGroup(cmd, group.ID) { + continue + } commandGroups[cmd] = append(commandGroups[cmd], *group) } diff --git a/uyuni-tools.changes.cbosdo.duplicate-ssl-group b/uyuni-tools.changes.cbosdo.duplicate-ssl-group new file mode 100644 index 000000000..71059c73c --- /dev/null +++ b/uyuni-tools.changes.cbosdo.duplicate-ssl-group @@ -0,0 +1 @@ +- Remove duplicate parameters in mgradm install podman --help