[PR #11765/2297a5c8 backport][stable-12] Ensure standard locale in run_command (group4-batch1) (#11792)

Ensure standard locale in run_command (group4-batch1) (#11765)

* ensure standard locale in run_command (group4)

Adds ``LANGUAGE=C`` and ``LC_ALL=C`` to the ``environ_update`` passed to
``run_command()`` calls in modules that parse command output, to prevent
locale-dependent parsing failures on non-C-locale systems.

Modules updated: dconf, pkgng, terraform.



* add changelog fragment for group4



* add PR link to group4 changelog fragment



* fix changelog fragment: rename with PR prefix, fix URL order



---------


(cherry picked from commit 2297a5c876)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
patchback[bot]
2026-04-12 13:38:43 +02:00
committed by GitHub
parent c8f2219fb0
commit d5a759b2e3
4 changed files with 9 additions and 3 deletions

View File

@@ -0,0 +1,4 @@
bugfixes:
- dconf - ensure ``LANGUAGE=C`` and ``LC_ALL=C`` are set when running commands that parse output (https://github.com/ansible-collections/community.general/issues/11737, https://github.com/ansible-collections/community.general/pull/11765).
- pkgng - ensure ``LANGUAGE=C`` and ``LC_ALL=C`` are set when running commands that parse output (https://github.com/ansible-collections/community.general/issues/11737, https://github.com/ansible-collections/community.general/pull/11765).
- terraform - ensure ``LANGUAGE=C`` and ``LC_ALL=C`` are set when running commands that parse output (https://github.com/ansible-collections/community.general/issues/11737, https://github.com/ansible-collections/community.general/pull/11765).

View File

@@ -311,7 +311,7 @@ class DconfPreference:
"""
command = [self.dconf_bin, "read", key]
rc, out, err = self.module.run_command(command)
rc, out, err = self.module.run_command(command, environ_update={"LANGUAGE": "C", "LC_ALL": "C"})
if rc != 0:
self.module.fail_json(msg=f"dconf failed while reading the value with error: {err}", out=out, err=err)

View File

@@ -156,7 +156,7 @@ def query_update(module, run_pkgng, name):
def pkgng_older_than(module, pkgng_path, compare_version):
rc, out, err = module.run_command([pkgng_path, "-v"])
rc, out, err = module.run_command([pkgng_path, "-v"], environ_update={"LANGUAGE": "C", "LC_ALL": "C"})
version = [int(x) for x in re.split(r"[\._]", out)]
i = 0
@@ -455,7 +455,7 @@ def main():
):
args = ("-g",) + args
pkgng_env = {"BATCH": "yes"}
pkgng_env = {"BATCH": "yes", "LANGUAGE": "C", "LC_ALL": "C"}
if p["ignore_osver"]:
pkgng_env["IGNORE_OSVERSION"] = "yes"

View File

@@ -528,6 +528,8 @@ def main():
supports_check_mode=True,
)
module.run_command_environ_update = {"LANGUAGE": "C", "LC_ALL": "C"}
project_path = module.params.get("project_path")
bin_path = module.params.get("binary_path")
plugin_paths = module.params.get("plugin_paths")