From 6aff5568705e373540e3c1c8634aa4a2144dbdd2 Mon Sep 17 00:00:00 2001 From: Anders Blomdell <anders.blomdell@control.lth.se> Date: Thu, 14 Apr 2022 09:12:03 +0200 Subject: [PATCH] Revert "Run pre/post commands in prefix directory (or /)" Since it makes shell scripts break if prefix dir doesn't exist, This reverts commit 1fde3650a1d64d13f353d9dd5376fd91942cd370. --- src/mio/daemon_cage.py | 4 ++-- src/mio/node.py | 13 ++++++------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/mio/daemon_cage.py b/src/mio/daemon_cage.py index 2fcc379..bf5df16 100755 --- a/src/mio/daemon_cage.py +++ b/src/mio/daemon_cage.py @@ -8,13 +8,13 @@ import subprocess import sys import time -def system(command, prefix): +def system(command): null = open("/dev/null") p = subprocess.Popen(command, stdin=null, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, - cwd=prefix if prefix else "/", + cwd="/", close_fds=True, shell=True) null.close() diff --git a/src/mio/node.py b/src/mio/node.py index 3b56b19..7046c92 100755 --- a/src/mio/node.py +++ b/src/mio/node.py @@ -128,7 +128,7 @@ class group_node(target_node): log(DEBUG, "[%s].do_trig %s -> %s" % (self.name, run_pre, result)) if result and run_pre: for a in self.pre: - a.run("pre", prefix) + a.run("pre") return result @@ -139,7 +139,7 @@ class group_node(target_node): for t in self.target: t.install(prefix, backup) for a in self.post: - a.run("post", prefix) + a.run("post") def do_test(self, prefix): for d in self.dependency: @@ -523,9 +523,9 @@ class command_node: def __init__(self, decl): self.decl = decl - def run(self, when, prefix=None): + def run(self, when): log(NORMAL, declaration(self), "doing '%s'" % self.decl.command[0]) - mio.daemon_cage.system(self.decl.command[0], prefix) + mio.daemon_cage.system(self.decl.command[0]) def test(self, when): log(NORMAL, declaration(self), "doing '%s'" % self.decl.command[0]) @@ -534,13 +534,12 @@ class script_node: def __init__(self, decl): self.decl = decl - def run(self, when, prefix): + def run(self, when): scripts = self.decl.scripts[0:] name = self.decl.script[0] script = mio.filecache.loadscript(self.decl._url.path, scripts, name) log(NORMAL, declaration(self), "running '%s'" % name) - mio.daemon_cage.system("%s %s %s" % (script.filename, name, when), - prefix) + mio.daemon_cage.system("%s %s %s" % (script.filename, name, when)) def test(self, when): dir = os.path.dirname(self.decl._url) -- GitLab