All of lore.kernel.org
 help / color / mirror / Atom feed
From: Masahiro Yamada <yamada.masahiro@socionext.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v4 08/10] moveconfig: Print a message for missing compiler
Date: Tue, 19 May 2015 12:23:10 +0900	[thread overview]
Message-ID: <CAK7LNATGBUmX5L7yP6KZJedQ=K7XEWj4-Uh=Q_Q8chRHjkCyZQ@mail.gmail.com> (raw)
In-Reply-To: <1431726052-6519-8-git-send-email-joe.hershberger@ni.com>

2015-05-16 6:40 GMT+09:00 Joe Hershberger <joe.hershberger@ni.com>:
> A common case for failed builds is a missing compiler. Print a message
> for that case to tell the user concisely which compiler was expected
> that was not found.
>
> This patch also has the effect of not printing build errors any longer.
> The next patch will add a switch to optionally bring that back.
>
> Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
> ---
>
> Changes in v4: None
> Changes in v3: None
> Changes in v2: None
>
>  tools/moveconfig.py | 16 ++++++++++------
>  1 file changed, 10 insertions(+), 6 deletions(-)
>
> diff --git a/tools/moveconfig.py b/tools/moveconfig.py
> index 9e923da..f986f55 100755
> --- a/tools/moveconfig.py
> +++ b/tools/moveconfig.py
> @@ -166,6 +166,7 @@ import os
>  import re
>  import shutil
>  import subprocess
> +from subprocess import PIPE

Personally I do not prefer from ... import
because it disturbs the naming space.

Could you use subprocess.PIPE instead?


>  import sys
>  import tempfile
>  import time
> @@ -606,11 +607,14 @@ class Slot:
>              return False
>
>          if self.ps.poll() != 0:
> -
> +            errmsg = 'Failed to process.'
> +            errout = self.ps.stderr.read()

This throws exception if "make *_defconfig" or "make savedefconfig" fail.



Traceback (most recent call last):
  File "tools/moveconfig.py", line 924, in <module>
    main()
  File "tools/moveconfig.py", line 919, in main
    move_config(config_attrs, options)
  File "tools/moveconfig.py", line 794, in move_config
    while not slots.available():
  File "tools/moveconfig.py", line 717, in available
    if slot.poll():
  File "tools/moveconfig.py", line 616, in poll
    errout = self.ps.stderr.read()
AttributeError: 'NoneType' object has no attribute 'read'



Seems better to add PIPE for all the call of subprocess.Popen()





> +            if errout.find('gcc: command not found') != -1:
> +                errmsg = 'Compiler not found (%s)' % self.cross_compile

If you do this, should the locale be changed?

Without LANG=C, "command not found" is displayed in Japanese on my computer.


If --verbose is given, we will be able to know the cause of erorr.
"missing compiler" is a special case error?



>              print >> sys.stderr, log_msg(self.options.color,
>                                           COLOR_LIGHT_RED,
>                                           self.defconfig,
> -                                         "failed to process.")
> +                                         errmsg),
>              if self.options.exit_on_error:
>                  sys.exit("Exit on error.")
>              else:
> @@ -644,13 +648,13 @@ class Slot:
>              self.state = STATE_IDLE
>              return True
>
> -        cross_compile = self.parser.get_cross_compile()
> +        self.cross_compile = self.parser.get_cross_compile()
>          cmd = list(self.make_cmd)
> -        if cross_compile:
> -            cmd.append('CROSS_COMPILE=%s' % cross_compile)
> +        if self.cross_compile:
> +            cmd.append('CROSS_COMPILE=%s' % self.cross_compile)
>          cmd.append('KCONFIG_IGNORE_DUPLICATES=1')
>          cmd.append('include/config/auto.conf')
> -        self.ps = subprocess.Popen(cmd, stdout=self.devnull)
> +        self.ps = subprocess.Popen(cmd, stdout=self.devnull, stderr=PIPE)
>          self.state = STATE_AUTOCONF
>          return False
>

-- 
Best Regards
Masahiro Yamada

  reply	other threads:[~2015-05-19  3:23 UTC|newest]

Thread overview: 82+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-19 12:12 [U-Boot] [PATCH] Don't apply: tools: add a tool to move automatically CONFIGs from headers to defconfigs Masahiro Yamada
2015-03-04  0:18 ` Simon Glass
2015-03-11  5:53   ` Masahiro Yamada
2015-05-07 21:22 ` [U-Boot] [PATCH 1/5] moveconfig: Actually build autoconf.mk Joe Hershberger
2015-05-07 21:22   ` [U-Boot] [PATCH 2/5] moveconfig: Add a mapping for the arc cross-compiler Joe Hershberger
2015-05-07 21:22   ` [U-Boot] [PATCH 3/5] moveconfig: Continue moving even if one board fails Joe Hershberger
2015-05-07 21:22   ` [U-Boot] [PATCH 4/5] moveconfig: Error if missing the include/autoconf.mk Joe Hershberger
2015-05-07 21:23   ` [U-Boot] [PATCH 5/5] moveconfig: Always run savedefconfig on the moved config Joe Hershberger
2015-05-11 17:23   ` [U-Boot] [PATCH v2 1/7] moveconfig: Actually build autoconf.mk Joe Hershberger
2015-05-11 17:23     ` [U-Boot] [PATCH v2 2/7] moveconfig: Add a mapping for the arc cross-compiler Joe Hershberger
2015-05-13  2:14       ` Masahiro Yamada
2015-05-13 15:34         ` Joe Hershberger
2015-05-11 17:23     ` [U-Boot] [PATCH v2 3/7] moveconfig: Continue moving even if one board fails Joe Hershberger
2015-05-11 17:23     ` [U-Boot] [PATCH v2 4/7] moveconfig: Error if missing the include/autoconf.mk Joe Hershberger
2015-05-11 17:23     ` [U-Boot] [PATCH v2 5/7] moveconfig: Always run savedefconfig on the moved config Joe Hershberger
2015-05-11 17:23     ` [U-Boot] [PATCH v2 6/7] moveconfig: Add a parameter to accept a list to build Joe Hershberger
2015-05-11 17:23     ` [U-Boot] [PATCH v2 7/7] moveconfig: Add a switch to enable printing errors Joe Hershberger
2015-05-13 22:28     ` [U-Boot] [PATCH v3 01/10] moveconfig: Actually build autoconf.mk Joe Hershberger
2015-05-13 22:28       ` [U-Boot] [PATCH v3 02/10] moveconfig: Continue moving even if one board fails Joe Hershberger
2015-05-14 13:09         ` Masahiro Yamada
2015-05-13 22:28       ` [U-Boot] [PATCH v3 03/10] moveconfig: Error if missing the include/autoconf.mk Joe Hershberger
2015-05-13 22:28       ` [U-Boot] [PATCH v3 04/10] moveconfig: Always run savedefconfig on the moved config Joe Hershberger
2015-05-14 15:15         ` Masahiro Yamada
2015-05-14 17:57           ` Joe Hershberger
2015-05-13 22:28       ` [U-Boot] [PATCH v3 05/10] moveconfig: Add a parameter to accept a list to build Joe Hershberger
2015-05-14 13:06         ` Masahiro Yamada
2015-05-13 22:28       ` [U-Boot] [PATCH v3 06/10] moveconfig: Add a switch to enable printing errors Joe Hershberger
2015-05-13 22:28       ` [U-Boot] [PATCH v3 07/10] moveconfig: Ignore duplicate configs when moving Joe Hershberger
2015-05-14 15:36         ` Masahiro Yamada
2015-05-14 18:02           ` Joe Hershberger
2015-05-15  5:10             ` Masahiro Yamada
2015-05-16  2:57               ` Joe Hershberger
2015-05-13 22:28       ` [U-Boot] [PATCH v3 08/10] moveconfig: Handle moving multiple configs at once Joe Hershberger
2015-05-14 14:37         ` Masahiro Yamada
2015-05-14 18:05           ` Joe Hershberger
2015-05-13 22:28       ` [U-Boot] [PATCH v3 09/10] moveconfig: Print status about the processed defconfigs Joe Hershberger
2015-05-13 22:28       ` [U-Boot] [PATCH v3 10/10] moveconfig: Add a switch to only cleanup headers Joe Hershberger
2015-05-14 14:51         ` Masahiro Yamada
2015-05-14 18:03           ` Joe Hershberger
2015-05-14 13:04       ` [U-Boot] [PATCH v3 01/10] moveconfig: Actually build autoconf.mk Masahiro Yamada
2015-05-15 21:40       ` [U-Boot] [PATCH v4 01/10] moveconfig: Always run savedefconfig on the moved config Joe Hershberger
2015-05-15 21:40         ` [U-Boot] [PATCH v4 02/10] moveconfig: Ignore duplicate configs when moving Joe Hershberger
2015-05-19  4:37           ` Masahiro Yamada
2015-05-15 21:40         ` [U-Boot] [PATCH v4 03/10] moveconfig: Add a parameter to accept a list to build Joe Hershberger
2015-05-19  4:33           ` Masahiro Yamada
2015-05-19 17:58             ` Joe Hershberger
2015-05-20  3:01               ` Masahiro Yamada
2015-05-15 21:40         ` [U-Boot] [PATCH v4 04/10] moveconfig: Add a switch to only cleanup headers Joe Hershberger
2015-05-19  2:03           ` Masahiro Yamada
2015-05-19 15:36             ` Joe Hershberger
2015-05-15 21:40         ` [U-Boot] [PATCH v4 05/10] moveconfig: Cleanup headers in arch and board Joe Hershberger
2015-05-19  1:41           ` Masahiro Yamada
2015-05-19 14:33             ` Joe Hershberger
2015-05-15 21:40         ` [U-Boot] [PATCH v4 06/10] moveconfig: Remove probable debug print Joe Hershberger
2015-05-19  2:10           ` Masahiro Yamada
2015-05-19 15:36             ` Joe Hershberger
2015-05-15 21:40         ` [U-Boot] [PATCH v4 07/10] moveconfig: Output a list of failed boards Joe Hershberger
2015-05-19  3:12           ` Masahiro Yamada
2015-05-19 15:40             ` Joe Hershberger
2015-05-15 21:40         ` [U-Boot] [PATCH v4 08/10] moveconfig: Print a message for missing compiler Joe Hershberger
2015-05-19  3:23           ` Masahiro Yamada [this message]
2015-05-19 17:51             ` Joe Hershberger
2015-05-20  3:04               ` Masahiro Yamada
2015-05-15 21:40         ` [U-Boot] [PATCH v4 09/10] moveconfig: Add a switch to enable printing errors Joe Hershberger
2015-05-19  3:25           ` Masahiro Yamada
2015-05-19 17:52             ` Joe Hershberger
2015-05-15 21:40         ` [U-Boot] [PATCH v4 10/10] moveconfig: Print status about the processed defconfigs Joe Hershberger
2015-05-19  4:05           ` Masahiro Yamada
2015-05-19  1:58         ` [U-Boot] [PATCH v4 01/10] moveconfig: Always run savedefconfig on the moved config Masahiro Yamada
2015-05-19 15:35           ` Joe Hershberger
2015-05-19 18:07           ` Joe Hershberger
2015-05-19 18:21         ` [U-Boot] [PATCH v5 1/9] " Joe Hershberger
2015-05-19 18:21           ` [U-Boot] [PATCH v5 2/9] moveconfig: Ignore duplicate configs when moving Joe Hershberger
2015-05-19 18:21           ` [U-Boot] [PATCH v5 3/9] moveconfig: Add a parameter to accept a list to build Joe Hershberger
2015-05-19 18:21           ` [U-Boot] [PATCH v5 4/9] moveconfig: Add a switch to only cleanup headers Joe Hershberger
2015-05-19 18:21           ` [U-Boot] [PATCH v5 5/9] moveconfig: Cleanup headers in arch and board Joe Hershberger
2015-05-19 18:21           ` [U-Boot] [PATCH v5 6/9] moveconfig: Output a list of failed boards Joe Hershberger
2015-05-19 18:21           ` [U-Boot] [PATCH v5 7/9] moveconfig: Print a message for missing compiler Joe Hershberger
2015-05-19 18:21           ` [U-Boot] [PATCH v5 8/9] moveconfig: Add a switch to enable printing errors Joe Hershberger
2015-05-19 18:21           ` [U-Boot] [PATCH v5 9/9] moveconfig: Print status about the processed defconfigs Joe Hershberger
2015-05-20  4:48           ` [U-Boot] [PATCH v5 1/9] moveconfig: Always run savedefconfig on the moved config Masahiro Yamada
2015-05-26 23:43           ` Masahiro Yamada

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAK7LNATGBUmX5L7yP6KZJedQ=K7XEWj4-Uh=Q_Q8chRHjkCyZQ@mail.gmail.com' \
    --to=yamada.masahiro@socionext.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.