From d424907172b548aff5d2121e708c35cb7591a21d Mon Sep 17 00:00:00 2001 From: s-hamann <10639154+s-hamann@users.noreply.github.com> Date: Wed, 10 Dec 2025 12:29:41 +0000 Subject: [PATCH] apk: fix packages return value for apk-tools >= 3 (fix #11264) (#11265) * apk: fix packages return value for apk-tools >= 3 (fix #11264) * Add changelog fragment --- changelogs/fragments/11265-fix-apk-3.yml | 3 +++ plugins/modules/apk.py | 2 +- tests/integration/targets/apk/tasks/main.yml | 9 ++++++++- 3 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 changelogs/fragments/11265-fix-apk-3.yml diff --git a/changelogs/fragments/11265-fix-apk-3.yml b/changelogs/fragments/11265-fix-apk-3.yml new file mode 100644 index 0000000000..3e35672932 --- /dev/null +++ b/changelogs/fragments/11265-fix-apk-3.yml @@ -0,0 +1,3 @@ +--- +bugfixes: + - apk - fix ``packages`` return value for apk-tools >= 3 (Alpine 3.23) (https://github.com/ansible-collections/community.general/issues/11264). diff --git a/plugins/modules/apk.py b/plugins/modules/apk.py index f5008c52ac..4bee7e3f03 100644 --- a/plugins/modules/apk.py +++ b/plugins/modules/apk.py @@ -174,7 +174,7 @@ from ansible.module_utils.basic import AnsibleModule def parse_for_packages(stdout): packages = [] data = stdout.split("\n") - regex = re.compile(r"^\(\d+/\d+\)\s+\S+\s+(\S+)") + regex = re.compile(r"^\(\s*\d+/\d+\)\s+\S+\s+(\S+)") for l in data: p = regex.search(l) if p: diff --git a/tests/integration/targets/apk/tasks/main.yml b/tests/integration/targets/apk/tasks/main.yml index b8e0e2efbe..9410b259ab 100644 --- a/tests/integration/targets/apk/tasks/main.yml +++ b/tests/integration/targets/apk/tasks/main.yml @@ -89,6 +89,13 @@ - less - nano - vim + - bash + - bash-completion + - bash-completion-doc + - zsh + - zsh-calendar + - zsh-completions + - zsh-doc state: present register: results @@ -96,7 +103,7 @@ ansible.builtin.assert: that: - results is changed - - (results.packages | length) >= 3 + - (results.packages | length) >= 10 - name: Install a bunch of packages again community.general.apk: