diff --git a/changelogs/fragments/505-slackpkg_fix_matching_some_special_cases_in_package_names.yml b/changelogs/fragments/505-slackpkg_fix_matching_some_special_cases_in_package_names.yml new file mode 100644 index 0000000000..778dcea0ef --- /dev/null +++ b/changelogs/fragments/505-slackpkg_fix_matching_some_special_cases_in_package_names.yml @@ -0,0 +1,2 @@ +bugfixes: + - slackpkg - fix matching some special cases in package names (https://github.com/ansible-collections/community.general/pull/505). diff --git a/plugins/modules/packaging/os/slackpkg.py b/plugins/modules/packaging/os/slackpkg.py index 0ef98c0876..ae6e136ae0 100644 --- a/plugins/modules/packaging/os/slackpkg.py +++ b/plugins/modules/packaging/os/slackpkg.py @@ -72,7 +72,10 @@ def query_package(module, slackpkg_path, name): import re machine = platform.machine() - pattern = re.compile('^%s-[^-]+-(%s|noarch)-[^-]+$' % (re.escape(name), re.escape(machine))) + # Exception for kernel-headers package on x86_64 + if name == 'kernel-headers' and machine == 'x86_64': + machine = 'x86' + pattern = re.compile('^%s-[^-]+-(%s|noarch|fw)-[^-]+$' % (re.escape(name), re.escape(machine))) packages = [f for f in os.listdir('/var/log/packages') if pattern.match(f)] if len(packages) > 0: