[U-Boot] [PATCH v5 12/13] buildman: Introduce an 'and' operator for board selection

York Sun yorksun at freescale.com
Fri Aug 8 19:46:30 CEST 2014


On 08/08/2014 04:10 AM, Simon Glass wrote:
> Currently buildman allows a list of boards to build to be specified on the
> command line. The list can include specific board names, architecture, SOC
> and so on.
> 
> At present the list of boards is dealt with in an 'OR' fashion, and there
> is no way to specify something like 'arm & freescale', meaning boards with
> ARM architecture but only those made by Freescale. This would exclude the
> PowerPC boards made by Freescale.
> 
> Support an '&' operator on the command line to permit this. Ensure that
> arguments can be specified in a single string to permit easy shell quoting.
> 
> Suggested-by: York Sun <yorksun at freescale.com>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
> 
> Changes in v5:
> - Add new patch to add an 'and' operator for board selection
> 
> Changes in v4: None
> Changes in v3: None
> Changes in v2: None
> 
>  tools/buildman/README   |   9 +++
>  tools/buildman/board.py | 144 ++++++++++++++++++++++++++++++++++++++++++------
>  tools/buildman/test.py  |  48 ++++++++++++++++
>  3 files changed, 184 insertions(+), 17 deletions(-)
> 
> diff --git a/tools/buildman/README b/tools/buildman/README
> index aaf0a10..d4e8404 100644
> --- a/tools/buildman/README
> +++ b/tools/buildman/README
> @@ -108,6 +108,15 @@ behaviour is a superset of exact or substring matching. Examples are:
>  * '^tegra[23]0$' All boards with either Tegra20 or Tegra30 SoC
>  * 'powerpc'      All PowerPC boards
>  
> +While the default is to OR the terms together, you can also make use of
> +the '&' operator to limit the selection:
> +
> +* 'freescale & arm sandbox'  All Freescale boards with ARM architecture,
> +                             plus sandbox
> +
> +It is convenient to use the -n option to see whaat will be built based on
> +the subset given.
> +
>  Buildman does not store intermediate object files. It optionally copies
>  the binary output into a directory when a build is successful. Size
>  information is always recorded. It needs a fair bit of disk space to work,

Simon,

It is good to see this working. It would be helpful to point out when using &
logic, users should put them in quotes (single or double).

I can't get the --count=1 work though. See my example

$ tools/buildman/buildman -c 1 -b working_85xx t104x -n
No section: 'make-flags'
Dry run, so not doing much. But I would do this:

Building 16 commits for 9 boards (4 threads, 1 job per thread)
Build directory: ../working_upstream_85xx
    e76b933e Prepare v2014.10-rc1
    89c8bc86 fsl/diu: ch7301 encoder split off from t1040qds/diu.c
    57d28806 powerpc/t1042RDB: Add Video - HDMI support
    dc9ed535 buildman: Fix a few typos
    04344da3 buildman: Add some notes about moving from MAKEALL
    4aa63fae buildman: Allow building of current source tree
    1e5d6ab5 buildman: Move BuilderThread code to its own file
    fc5f1107 buildman: Sort command line options
    eacd9496 buildman: Refactor output options
    7793b089 buildman: Add verbose option to display errors as they happen
    1e0d4a12 buildman: Remove unused non-incremental build method code
    deaa8cfd buildman: Add an option to specify the buildman config file
    8bacf282 buildman: Add a message indicating there are no errors
    e292dd4c buildman: Add a few more toolchain examples to the README
    384e98f1 buildman: Introduce an 'and' operator for board selection
    1eddd296 RFC: Deprecate MAKEALL

t104x : 9 boards
Total boards to build for each commit: 9

I expect only the last commit to build. Am I wrong? I don't see --count in the
README file.

York



More information about the U-Boot mailing list