mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-08 14:22:46 +00:00
[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:
4
changelogs/fragments/11765-group4-locale.yml
Normal file
4
changelogs/fragments/11765-group4-locale.yml
Normal 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).
|
||||||
@@ -311,7 +311,7 @@ class DconfPreference:
|
|||||||
"""
|
"""
|
||||||
command = [self.dconf_bin, "read", key]
|
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:
|
if rc != 0:
|
||||||
self.module.fail_json(msg=f"dconf failed while reading the value with error: {err}", out=out, err=err)
|
self.module.fail_json(msg=f"dconf failed while reading the value with error: {err}", out=out, err=err)
|
||||||
|
|||||||
@@ -156,7 +156,7 @@ def query_update(module, run_pkgng, name):
|
|||||||
|
|
||||||
|
|
||||||
def pkgng_older_than(module, pkgng_path, compare_version):
|
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)]
|
version = [int(x) for x in re.split(r"[\._]", out)]
|
||||||
|
|
||||||
i = 0
|
i = 0
|
||||||
@@ -455,7 +455,7 @@ def main():
|
|||||||
):
|
):
|
||||||
args = ("-g",) + args
|
args = ("-g",) + args
|
||||||
|
|
||||||
pkgng_env = {"BATCH": "yes"}
|
pkgng_env = {"BATCH": "yes", "LANGUAGE": "C", "LC_ALL": "C"}
|
||||||
|
|
||||||
if p["ignore_osver"]:
|
if p["ignore_osver"]:
|
||||||
pkgng_env["IGNORE_OSVERSION"] = "yes"
|
pkgng_env["IGNORE_OSVERSION"] = "yes"
|
||||||
|
|||||||
@@ -528,6 +528,8 @@ def main():
|
|||||||
supports_check_mode=True,
|
supports_check_mode=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
module.run_command_environ_update = {"LANGUAGE": "C", "LC_ALL": "C"}
|
||||||
|
|
||||||
project_path = module.params.get("project_path")
|
project_path = module.params.get("project_path")
|
||||||
bin_path = module.params.get("binary_path")
|
bin_path = module.params.get("binary_path")
|
||||||
plugin_paths = module.params.get("plugin_paths")
|
plugin_paths = module.params.get("plugin_paths")
|
||||||
|
|||||||
Reference in New Issue
Block a user