26 Jan, 2020

1 commit


11 Dec, 2019

1 commit


08 Oct, 2019

3 commits

  • A large number of changes have happened upstream since our last sync
    which was to 375506d. The reason to do the upgrade at this point is for
    improved Python 3 support.

    As part of this upgrade we need to update moveconfig.py and
    genboardscfg.py the current API. This is:
    - Change "kconfiglib.Config" calls to "kconfiglib.Kconfig"
    - Change get_symbol() calls to syms.get().
    - Change get_value() to str_value.

    Cc: Masahiro Yamada
    Signed-off-by: Tom Rini

    Tom Rini
     
  • We tell kconfiglib to not print any warnings to us so drop this code as
    it will be unused.

    Cc: Masahiro Yamada
    Signed-off-by: Tom Rini

    Tom Rini
     
  • Convert this tool to requiring Python 3. The bulk of this is done with
    the 2to3 tool In addition, we need to use the '//' operator to have our
    division result return an int rather than a float and ensure that we use
    UTF-8 when reading/writing files.

    Cc: Masahiro Yamada
    Signed-off-by: Tom Rini

    Tom Rini
     

30 Jul, 2018

1 commit

  • To system which has kconfiglib installed, genboardscfg will
    use system kconfiglib, we need it use U-Boot owned version,
    so move the buildman path to first.

    Signed-off-by: Peng Fan
    Cc: Masahiro Yamada
    Cc: Simon Glass
    Cc: Tom Rini
    Acked-by: Masahiro Yamada
    Reviewed-by: Simon Glass

    Peng Fan
     

07 May, 2018

1 commit

  • When U-Boot started using SPDX tags we were among the early adopters and
    there weren't a lot of other examples to borrow from. So we picked the
    area of the file that usually had a full license text and replaced it
    with an appropriate SPDX-License-Identifier: entry. Since then, the
    Linux Kernel has adopted SPDX tags and they place it as the very first
    line in a file (except where shebangs are used, then it's second line)
    and with slightly different comment styles than us.

    In part due to community overlap, in part due to better tag visibility
    and in part for other minor reasons, switch over to that style.

    This commit changes all instances where we have a single declared
    license in the tag as both the before and after are identical in tag
    contents. There's also a few places where I found we did not have a tag
    and have introduced one.

    Signed-off-by: Tom Rini

    Tom Rini
     

12 Sep, 2017

1 commit

  • At present we sometimes see warnings of the form:

    /tmp/tmpMA89kB:36: warning: overriding the value of CMD_SPL.
    Old value: "y", new value: "y".

    This is not very useful as it does not show whch defconfig file it relates
    to. Update the tool to show this.

    Signed-off-by: Simon Glass

    Simon Glass
     

12 May, 2017

1 commit

  • As per MAINTAINERS[1] file description, 'Supported' is
    a valid status for a board. But buildman thinks 'Maintained'
    is the only valid state and complains about boards with 'Supported'
    status. Update buildman to accept 'Supported' as valid state.

    [1] http://git.denx.de/?p=u-boot.git;a=blob;f=MAINTAINERS;h=0962b47bf9057b22e93624e070c0204b893790dc;hb=HEAD#l10

    Reported-by: Sekhar Nori
    Signed-off-by: Lokesh Vutla
    Reviewed-by: Tom Rini
    Reviewed-by: Simon Glass

    Lokesh Vutla
     

28 May, 2016

1 commit


25 Sep, 2014

1 commit

  • We are still keeping invalid email addressed in MAINTAINERS
    because they carry information.

    The problem is that scripts/get_maintainer.pl adds emails in the
    "M:" field including invalid ones.

    We want to comment out invalid email addresses in MAINTAINERS
    to prevent scripts/get_maintainer.pl from picking them up.
    On the other hand, we want to collect them for boards.cfg
    to know the last known maintainer of each board.

    This commit adjusts tools/genboardscfg.py to parse also
    the commented "M:" fields, which is useful for the next commit.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

17 Sep, 2014

1 commit


29 Aug, 2014

9 commits

  • This tool only works on python 2 (python 2.6 or lator).

    Change the shebang to make sure the script is run by python 2
    and clearly say the supported version in the comment block.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • I guess some developers are already getting sick of this tool
    because it generally takes a few minites to generate the boards.cfg
    on a reasonable computer.

    The idea popped up on my mind was to skip Makefiles and
    to run script/kconfig/conf directly.
    This tool should become about 4 times faster.
    You might still not be satisfied, but better than doing nothing.

    Signed-off-by: Masahiro Yamada
    Acked-by: Simon Glass

    Masahiro Yamada
     
  • It looks silly to regenerate the boards.cfg even when it is
    already up to date.

    The tool should exit with doing nothing if the boards.cfg is newer
    than any of defconfig, Kconfig and MAINTAINERS files.

    Specify -f (--force) option to get the boards.cfg regenerated
    regardless its time stamp.

    Signed-off-by: Masahiro Yamada
    Acked-by: Simon Glass

    Masahiro Yamada
     
  • This tool deletes the incomplete boards.cfg
    if it encounters an error or is is terminated by the user.

    I notice some problems even though they rarely happen.

    [1] The boards.cfg is removed if the program is terminated
    during __gen_boards_cfg() function but before boards.cfg
    is actually touched. In this case, the previous boards.cfg
    should be kept as it is.

    [2] If an error occurs while deleting the incomplete boards.cfg,
    the program throws another exception. This hides the privious
    exception and we will not be able to know the real cause.

    Signed-off-by: Masahiro Yamada
    Acked-by: Simon Glass

    Masahiro Yamada
     
  • When an error occurs or the program is terminated by the user
    on the way, the destructer __del__ of class Slot is invoked and
    the work directories are removed.

    We have to make sure there are no subprocesses (in this case,
    "make O= ...") using the work directories before
    removing them. Otherwise the subprocess spits a bunch of error
    messages possibly causing more problems. Perhaps some users
    may get upset to see too many error messages.

    Signed-off-by: Masahiro Yamada
    Acked-by: Simon Glass

    Masahiro Yamada
     
  • The tools/genboardscfg.py expects all the Kconfig and defconfig are
    written correctly. Imagine someone accidentally has broken a board.
    Error-out just for one broken board is annoying for the other
    developers. Let the tool skip insane boards and continue processing.

    Signed-off-by: Masahiro Yamada
    Acked-by: Simon Glass

    Masahiro Yamada
     
  • tools/genboardscfg.py expects all the boards have MAINTAINERS.
    If someone adds a new board but misses to add its MAINTAINERS file,
    tools/genboardscfg.py fails to generate the boards.cfg file.
    It is annoying for the other developers.

    This commit allows tools/genboardscfg.py to display warning messages
    and continue processing even if some MAINTAINERS files are missing
    or have broken formats.

    Signed-off-by: Masahiro Yamada
    Acked-by: Simon Glass

    Masahiro Yamada
     
  • Kconfig in U-Boot creates a temporary file configs/.tmp_defconfig
    during processing "make _defconfig". The temporary file
    might be left over for some reasons.

    Just in case, tools/genboardscfg.py should make sure to
    not read such garbage files.

    Signed-off-by: Masahiro Yamada
    Acked-by: Simon Glass

    Masahiro Yamada
     
  • This patch fixes a minor problem:
    If a block without "F: configs/*_defconfig" is followed by another
    block with "F: configs/*_defconfig", the maintainers from the
    former block are squashed into the latter.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

22 Aug, 2014

3 commits

  • The existing terminalsize detection raised an exception on build
    server. Just removes the exception. This also deactivates the
    progress indicator.

    Remove a trainling whitespace.

    Signed-off-by: Roger Meier
    CC: Masahiro Yamada
    CC: Tom Rini

    Roger Meier
     
  • Prior to Kconfig, the CPU field of boards.cfg could optionally have
    ":SPLCPU", like "armv7:arm720t".
    (Actually this syntax was only used for Tegra platform.)

    Now it is not necessary at all because CPU is defined by
    CONFIG_SYS_CPU in Kconfig.

    For Tegra platform, the Kconfig option is described as follows:

    config SYS_CPU
    string
    default "arm720t" if SPL_BUILD
    default "armv7" if !SPL_BUILD

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • In Python, sys.exit() function can also take an object other
    than an integer.

    If an integer is given to the argument, Python exits with the return
    code of it. If a non-integer argument is given, Python outputs it
    to stderr and exits with the return code of 1.

    That means,

    print >> sys.stderr, "Blah Blah"
    sys.exit(1)

    is equivalent to

    sys.exit("Blah Blah")

    The latter is a useful shorthand.

    Note:
    Some error messages in Buildman and Patman were output to stdout.
    But they should go to stderr. They are also fixed by this commit.
    This is a nice side effect.

    Signed-off-by: Masahiro Yamada
    Acked-by: Simon Glass

    Masahiro Yamada
     

31 Jul, 2014

1 commit

  • Now the primary data for each board is in Kconfig, defconfig and
    MAINTAINERS.

    It is true boards.cfg is needed for MAKEALL and buildman and might be
    useful to brouse all the supported boards in a single database.
    But it would be painful to maintain the boards.cfg in sync.

    So, this is the solution.
    Add a tool to generate the equivalent boards.cfg file based on
    the latest Kconfig, defconfig and MAINTAINERS.

    We can keep all the functions of MAKEALL and buildman with it.

    The best thing would be to change MAKEALL and buildman for not
    depending on boards.cfg in the future, but it would take some time.

    Signed-off-by: Masahiro Yamada
    Acked-by: Simon Glass

    Masahiro Yamada