We always want to run all utilities non-interactively. By default
subprocess.Popen() inherits stdin descriptor from parent process, i.e.
when fdroid is run from an interactive shell, subprocesses may expect
input from it.
Reading from /dev/null immediately returns EOF, failing any user prompt
and preventing us from hang.
p = None
try:
p = subprocess.Popen(commands, cwd=cwd, shell=False, env=process_env,
- stdout=subprocess.PIPE, stderr=stderr_param)
+ stdin=subprocess.DEVNULL, stdout=subprocess.PIPE,
+ stderr=stderr_param)
except OSError as e:
raise BuildException("OSError while trying to execute " +
' '.join(commands) + ': ' + str(e))