[U-Boot] [PATCH] tools/genboardscfg.py: Don't rely on subprocess.check_output

Simon Glass sjg at chromium.org
Wed Jul 30 17:46:32 CEST 2014


Hi Tom,

On 30 July 2014 15:24, Tom Rini <trini at ti.com> wrote:
> The function subprocess.check_output() only exists in Python 2.7 and
> later (and there are long term supported distributions that ship with
> 2.6.x).  Replace this with a call to subprocess.Popen() and then checking
> output via communicate()
>
> Signed-off-by: Tom Rini <trini at ti.com>

Looks fine as it is - see a few optional comments below.

Acked-by: Simon Glass <sjg at chromium.org>

> ---
>  tools/genboardscfg.py |    9 ++++++---
>  1 files changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/tools/genboardscfg.py b/tools/genboardscfg.py
> index 805e4eb..6588392 100755
> --- a/tools/genboardscfg.py
> +++ b/tools/genboardscfg.py
> @@ -83,7 +83,8 @@ def check_top_directory():
>  def get_make_cmd():
>      """Get the command name of GNU Make."""
>      try:
> -        make_cmd = subprocess.check_output([SHOW_GNU_MAKE])
> +        process = subprocess.Popen([SHOW_GNU_MAKE], stdout=subprocess.PIPE)
> +        make_cmd, unused = process.communicate()

Sometimes people use underscore for unused variables, like:

   make_cmd, _ = process.communicate()

but in this case you could also do:

   make_cmd = process.communicate()[0]

>      except subprocess.CalledProcessError:
>          print >> sys.stderr, 'GNU Make not found'
>          sys.exit(1)
> @@ -493,8 +494,10 @@ def main():
>              sys.exit(1)
>      else:
>          try:
> -            jobs = int(subprocess.check_output(['getconf',
> -                                                '_NPROCESSORS_ONLN']))
> +            process = subprocess.Popen(['getconf', '_NPROCESSORS_ONLN'],
> +                                       stdout=subprocess.PIPE)
> +            jobstr, unused = process.communicate()
> +            jobs = int(jobstr)
>          except subprocess.CalledProcessError:
>              print 'info: failed to get the number of CPUs. Set jobs to 1'
>              jobs = 1
> --
> 1.7.0.4

Regards,
Simon


More information about the U-Boot mailing list