Commit 5bf9ea62 by Toshio Kuratomi

make sure the shebang we inject into the module is a str

Fixes #8564
parent e9c8e89c
...@@ -26,6 +26,7 @@ from ansible import errors ...@@ -26,6 +26,7 @@ from ansible import errors
from ansible import utils from ansible import utils
from ansible import constants as C from ansible import constants as C
from ansible import __version__ from ansible import __version__
from asnible.utils.unicode import to_bytes
REPLACER = "#<<INCLUDE_ANSIBLE_MODULE_COMMON>>" REPLACER = "#<<INCLUDE_ANSIBLE_MODULE_COMMON>>"
REPLACER_ARGS = "\"<<INCLUDE_ANSIBLE_MODULE_ARGS>>\"" REPLACER_ARGS = "\"<<INCLUDE_ANSIBLE_MODULE_ARGS>>\""
...@@ -184,7 +185,8 @@ class ModuleReplacer(object): ...@@ -184,7 +185,8 @@ class ModuleReplacer(object):
interpreter_config = 'ansible_%s_interpreter' % os.path.basename(interpreter) interpreter_config = 'ansible_%s_interpreter' % os.path.basename(interpreter)
if interpreter_config in inject: if interpreter_config in inject:
lines[0] = shebang = "#!%s %s" % (inject[interpreter_config], " ".join(args[1:])) interpreter = to_bytes(inject[interpreter_config], errors='strict')
lines[0] = shebang = "#!%s %s" % (interpreter, " ".join(args[1:]))
module_data = "\n".join(lines) module_data = "\n".join(lines)
return (module_data, module_style, shebang) return (module_data, module_style, shebang)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment