diff options
author | Andrew Tridgell <tridge@samba.org> | 2010-03-19 14:25:50 +1100 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2010-04-06 20:26:53 +1000 |
commit | 3ff3a11c33a8a3d9fbacf76fcf59c8c4d929e4a5 (patch) | |
tree | c05f5d35671675d5fbc6bfa67e98309a7be45b87 /buildtools | |
parent | 6e550ac4c7f2c2a2a14ed0816e439824e8c898aa (diff) | |
download | samba-3ff3a11c33a8a3d9fbacf76fcf59c8c4d929e4a5.tar.gz samba-3ff3a11c33a8a3d9fbacf76fcf59c8c4d929e4a5.tar.bz2 samba-3ff3a11c33a8a3d9fbacf76fcf59c8c4d929e4a5.zip |
build: use RUN_COMMAND() to wrap os.system()
Diffstat (limited to 'buildtools')
-rw-r--r-- | buildtools/wafsamba/samba_utils.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/buildtools/wafsamba/samba_utils.py b/buildtools/wafsamba/samba_utils.py index a5d42e4f7f..cb055043a7 100644 --- a/buildtools/wafsamba/samba_utils.py +++ b/buildtools/wafsamba/samba_utils.py @@ -296,3 +296,21 @@ def mkdir_p(dir): return mkdir_p(os.path.dirname(dir)) os.mkdir(dir) + + +def RUN_COMMAND(cmd, + env=None, + shell=False): + '''run a external command, return exit code or signal''' + # recursively expand variables + if env: + while cmd.find('${') != -1: + cmd = Utils.subst_vars(cmd, env) + + status = os.system(cmd) + if os.WIFEXITED(status): + return os.WEXITSTATUS(status) + if os.WIFSIGNALED(status): + return - os.WTERMSIG(status) + print "Unknown exit reason %d for command: %s" (status, cmd) + return -1 |