diff mbox

[U-Boot] Removing the need for boards.cfg

Message ID 53E3E70E.5030407@freescale.com
State Not Applicable
Headers show

Commit Message

York Sun Aug. 7, 2014, 8:52 p.m. UTC
On 08/04/2014 06:22 PM, Masahiro Yamada wrote:
> Hi York,
> 
> 
> 
> On Mon, 4 Aug 2014 11:58:56 -0700
> York Sun <yorksun@freescale.com> wrote:
> 
>> On 08/01/2014 06:53 AM, Masahiro Yamada wrote:
>>>
>>> If MAKEALL/buildman is invoked without any arguments
>>> (which means build all the board),
>>> boards.cfg is not necessary in the first place.
>>>
>>> It that case, can we skip generating boards.cfg ?
>>> (We can get the board list by 'ls configs' )
>>>
>>>
>>> We need a database only when we want to select boards by CPU, Vendor, SoC.
>>>
>>
>> Dear Masahiro,
>>
>> What is the best way to replace "./MAKEALL -a powerpc" or "./MAKEALL -a arm"?
>> You must have verified compiling for all targets. I am wondering if you can
>> share your setup. I still heavily rely on MAKEALL to build all targets I care.
>>
>> York
> 
> 
> I think "./MAKEALL -a powerpc" or "./MAKEALL -a arm"
> is still working as it was.

Dear Masahiro,

Generating boards.cfg gives me another trouble. I use Jenkins
(http://jenkins-ci.org/) for internal development. Even I can manually run
MAKEALL to generate boards.cfg, the same script under Jenkins cannot. I have
this error


./MAKEALL -c mpc83xx -c mpc85xx -c mpc86xx
Could not find boards.cfg
Generating boards.cfg ...  (jobs: 8)
Traceback (most recent call last):
  File "tools/genboardscfg.py", line 504, in <module>
    main()
  File "tools/genboardscfg.py", line 501, in main
    gen_boards_cfg(jobs)
  File "tools/genboardscfg.py", line 471, in gen_boards_cfg
    __gen_boards_cfg(jobs)
  File "tools/genboardscfg.py", line 437, in __gen_boards_cfg
    indicator = Indicator(len(defconfigs))
  File "tools/genboardscfg.py", line 384, in __init__
    width = get_terminal_columns()
  File "tools/genboardscfg.py", line 59, in get_terminal_columns
    ret = fcntl.ioctl(sys.stdout.fileno(), termios.TIOCGWINSZ, arg)
IOError: [Errno 22] Invalid argument
Failed to generate boards.cfg

Looks like the script is trying to get the terminal window size. There is no
terminal for my case. Checking variable TERM, it is "dumb". I can make it work
by removing the two lines but I don't think that's the solution.


York

Comments

Jeroen Hofstee Aug. 7, 2014, 8:57 p.m. UTC | #1
Hello York,

On 07-08-14 22:52, York Sun wrote:
> On 08/04/2014 06:22 PM, Masahiro Yamada wrote:
>> Hi York,
>>
>>
>>
>> On Mon, 4 Aug 2014 11:58:56 -0700
>> York Sun <yorksun@freescale.com> wrote:
>>
>>> On 08/01/2014 06:53 AM, Masahiro Yamada wrote:
>>>> If MAKEALL/buildman is invoked without any arguments
>>>> (which means build all the board),
>>>> boards.cfg is not necessary in the first place.
>>>>
>>>> It that case, can we skip generating boards.cfg ?
>>>> (We can get the board list by 'ls configs' )
>>>>
>>>>
>>>> We need a database only when we want to select boards by CPU, Vendor, SoC.
>>>>
>>> Dear Masahiro,
>>>
>>> What is the best way to replace "./MAKEALL -a powerpc" or "./MAKEALL -a arm"?
>>> You must have verified compiling for all targets. I am wondering if you can
>>> share your setup. I still heavily rely on MAKEALL to build all targets I care.
>>>
>>> York
>>
>> I think "./MAKEALL -a powerpc" or "./MAKEALL -a arm"
>> is still working as it was.
> Dear Masahiro,
>
> Generating boards.cfg gives me another trouble. I use Jenkins
> (http://jenkins-ci.org/) for internal development. Even I can manually run
> MAKEALL to generate boards.cfg, the same script under Jenkins cannot. I have
> this error
>
>
> ./MAKEALL -c mpc83xx -c mpc85xx -c mpc86xx
> Could not find boards.cfg
> Generating boards.cfg ...  (jobs: 8)
> Traceback (most recent call last):
>    File "tools/genboardscfg.py", line 504, in <module>
>      main()
>    File "tools/genboardscfg.py", line 501, in main
>      gen_boards_cfg(jobs)
>    File "tools/genboardscfg.py", line 471, in gen_boards_cfg
>      __gen_boards_cfg(jobs)
>    File "tools/genboardscfg.py", line 437, in __gen_boards_cfg
>      indicator = Indicator(len(defconfigs))
>    File "tools/genboardscfg.py", line 384, in __init__
>      width = get_terminal_columns()
>    File "tools/genboardscfg.py", line 59, in get_terminal_columns
>      ret = fcntl.ioctl(sys.stdout.fileno(), termios.TIOCGWINSZ, arg)
> IOError: [Errno 22] Invalid argument
> Failed to generate boards.cfg
>
> Looks like the script is trying to get the terminal window size. There is no
> terminal for my case. Checking variable TERM, it is "dumb". I can make it work
> by removing the two lines but I don't think that's the solution.
>
> --- a/tools/genboardscfg.py
> +++ b/tools/genboardscfg.py
> @@ -58,8 +58,6 @@ def get_terminal_columns():
>           try:
>               ret = fcntl.ioctl(sys.stdout.fileno(), termios.TIOCGWINSZ, arg)
>           except IOError as exception:
> -            if exception.errno != errno.ENOTTY:
> -                raise
>
> I am not an expert on python. Can you take a deep look? The host has ubuntu
> 12.04.3 with python 2.7.3.
>

I can't parse the python either, but is this not the same issue?
(just from the looks of it) https://patchwork.ozlabs.org/patch/377897/

Regards,
Jeroen
York Sun Aug. 7, 2014, 9:04 p.m. UTC | #2
On 08/07/2014 01:57 PM, Jeroen Hofstee wrote:
> I can't parse the python either, but is this not the same issue?
> (just from the looks of it) https://patchwork.ozlabs.org/patch/377897/
> 

It is the same solution/workaround, but I'm not sure if Roger has the same issue.

York
diff mbox

Patch

--- a/tools/genboardscfg.py
+++ b/tools/genboardscfg.py
@@ -58,8 +58,6 @@  def get_terminal_columns():
         try:
             ret = fcntl.ioctl(sys.stdout.fileno(), termios.TIOCGWINSZ, arg)
         except IOError as exception:
-            if exception.errno != errno.ENOTTY:
-                raise

I am not an expert on python. Can you take a deep look? The host has ubuntu
12.04.3 with python 2.7.3.