gbp: Remove use of deprecated pipes module (replace with subprocess)
Removes dependency on pipes. Please do review carefully -- i did not find the documentation (of pipes, subprocess or gbp) gave clear explanation of what was meant to happen.
Closes: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1084672
gbp/pkg/compressor.py: make Compressor.cmdline() return a list of arguments not a string (because we now use subpocess.Popen which does not need a shell) this avoids (unlikely) shell-quoting issues
gbp/pkg/git.py
- _archive_comp_submodules: use subprocess.Popen since comp.cmdline() is now an array Also improve the error message
- _archive_comp_single: use subprocess.Popen to build the 'git archive | gzip -c' pipe
gbp/scripts/buildpackage.py
- replace pipes.quote with shlex.quote
gbp/scripts/buildpackage_rpm.py
- improve error message
- replace pipes.quote with shlex.quote
gbp/scripts/common/buildpackage.py
-
new command git_archive_to_output_dir to build the 'git archive | tar -xf' pipe using subprocess.Popen (it returns both commands because the two users handle errors differently -- not clear why)
-
dump_tree: no longer need to shell-quote paths (this wouldnt have worked for paths containing single quotes anyway)
use git_archive_to_output_dir improve error messages
gbp/scripts/import_dsc.py
- use subprocess.Popen in apply_patch. improve error message