From be11d0d4091f87fb0cc0b2ecb947c0c037cf1f43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Lang=C3=A9?= Date: Sun, 21 Apr 2024 14:54:45 +0200 Subject: [PATCH] Add an explicit `select` option to `portage` module (#8236) * Add an explicit `select` option to `portage` module This is a fix for #6226 * Apply suggestions from code review Co-authored-by: Felix Fontein * Default `select` option to None, making it more retrocompatible * Add changelog fragment for the PR * Update changelogs/fragments/8236-portage-select-feature.yml Co-authored-by: Felix Fontein --------- Co-authored-by: Felix Fontein --- changelogs/fragments/8236-portage-select-feature.yml | 2 ++ plugins/modules/portage.py | 11 +++++++++++ 2 files changed, 13 insertions(+) create mode 100644 changelogs/fragments/8236-portage-select-feature.yml diff --git a/changelogs/fragments/8236-portage-select-feature.yml b/changelogs/fragments/8236-portage-select-feature.yml new file mode 100644 index 0000000000..742d5cc966 --- /dev/null +++ b/changelogs/fragments/8236-portage-select-feature.yml @@ -0,0 +1,2 @@ +minor_changes: + - portage - adds the possibility to explicitely tell portage to write packages to world file (https://github.com/ansible-collections/community.general/issues/6226, https://github.com/ansible-collections/community.general/pull/8236). diff --git a/plugins/modules/portage.py b/plugins/modules/portage.py index 112f6d2d7c..8ae8efb087 100644 --- a/plugins/modules/portage.py +++ b/plugins/modules/portage.py @@ -121,6 +121,14 @@ options: type: bool default: false + select: + description: + - If set to V(true), explicitely add the package to the world file. + - Please note that this option is not used for idempotency, it is only used + when actually installing a package. + type: bool + version_added: 8.6.0 + sync: description: - Sync package repositories first @@ -374,6 +382,7 @@ def emerge_packages(module, packages): 'loadavg': '--load-average', 'backtrack': '--backtrack', 'withbdeps': '--with-bdeps', + 'select': '--select', } for flag, arg in emerge_flags.items(): @@ -523,6 +532,7 @@ def main(): nodeps=dict(default=False, type='bool'), onlydeps=dict(default=False, type='bool'), depclean=dict(default=False, type='bool'), + select=dict(default=None, type='bool'), quiet=dict(default=False, type='bool'), verbose=dict(default=False, type='bool'), sync=dict(default=None, choices=['yes', 'web', 'no']), @@ -543,6 +553,7 @@ def main(): ['quiet', 'verbose'], ['quietbuild', 'verbose'], ['quietfail', 'verbose'], + ['oneshot', 'select'], ], supports_check_mode=True, )