forked from ungleich-public/cdist
add sh -e header to code to avoid OSError: [Errno 8] Exec format error
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
parent
0d1f121e21
commit
db658328d2
1 changed files with 5 additions and 1 deletions
|
@ -59,6 +59,7 @@ REMOTE_OBJECT_DIR = os.path.join(REMOTE_BASE_DIR, "object")
|
|||
REMOTE_TYPE_DIR = os.path.join(REMOTE_CONF_DIR, "type")
|
||||
REMOTE_GLOBAL_EXPLORER_DIR = os.path.join(REMOTE_CONF_DIR, "explorer")
|
||||
|
||||
CODE_HEADER = "#!/bin/sh -e"
|
||||
DOT_CDIST = ".cdist"
|
||||
VERSION = "2.0.0"
|
||||
|
||||
|
@ -517,15 +518,18 @@ class Cdist:
|
|||
os.path.basename(bin)[3:])
|
||||
|
||||
outfile_fd = open(outfile, "w")
|
||||
outfile_fd.write(CODE_HEADER)
|
||||
|
||||
self.shell_run_or_debug_fail(bin, [bin], env=env, stdout=outfile_fd)
|
||||
outfile_fd.close()
|
||||
|
||||
status = os.stat(outfile)
|
||||
|
||||
# Remove output if empty, else make it executable
|
||||
if status.st_size == 0:
|
||||
if status.st_size == len(CODE_HEADER):
|
||||
os.unlink(outfile)
|
||||
else:
|
||||
# Add header and make executable
|
||||
os.chmod(outfile, stat.S_IXUSR | stat.S_IRUSR | stat.S_IWUSR)
|
||||
|
||||
if mode == "code":
|
||||
|
|
Loading…
Reference in a new issue