def cmd(args, env=None, **kwargs): e = merge(os.environ, env) child = subprocess.Popen(args, env=e, **kwargs) child.communicate() if child.returncode != 0: raise BuildError(msg='Command failed: ' + str(args), data=e)