mbox series

[00/16,v2] core: add show-vars, a json-formatted equivalent to printvars (branch yem/show-vars)

Message ID cover.1636810092.git.yann.morin.1998@free.fr
Headers show
Series core: add show-vars, a json-formatted equivalent to printvars (branch yem/show-vars) | expand

Message

Yann E. MORIN Nov. 13, 2021, 1:28 p.m. UTC
Hello All!

This series introduces a new top-level command, show-vars, which like
printvars, prints all the variables of Buildroot, and like show-info,
does so in a JSON-formatted output.

The first 8 patches are preparatory cleanups in the core infras. They
were previously posted separately, but their raison d'ĂȘtre is only
really obvious with the introduction of this new show-vars.

Then the following 4 patches prepare the existing show-info helpers for
more genericity.

The 3 next patches add a few more items to show-info (I'm sneaking them
in this series, am I not devious?). There are hints in the commit logs
about something that will come in the future, that will make use of
those new fields (and now am I not teasing too much?).

Eventually, we introduce show-vars, which is pretty trivial in and off
itelf once all the preparatory work has been done...

Regards,
Yann E. MORIN.


----------------------------------------------------------------
Yann E. MORIN (16):
      core/show-info: report build_dir relative to CONFIG_DIR
      package/kodi-*: run pkg-config at build time, not at parse time
      support/dependencies: avoid spurious warning on print-vars
      package/infras: do not conditionally set empty variables
      package/pkg-python: do not set empty variables
      core/pkg-generic: also list files installed in images/
      Makefile: really comment syntax colouring
      core/show-info: 'name' only applies to packages
      support/utils: make-comma-list does just that, not quoting
      support/misc/utils: introduce $(tab)=\t and $(escape)=\x1b
      package/pkg-utils: introduce helper to properly json-escape a string
      package/pkg-utils: generate proper JSON strings where they are emitted
      core/show-info: report whether a package is overriden
      core/show-info: also export source and stamp directories in show-info
      core/show-info: report package build steps and stamp files
      Makefile: introduce show-vars, a json-formatted equivalent to printvars

 Makefile                                           | 23 +++++-
 .../kodi-screensaver-asterwave.mk                  |  4 +-
 .../kodi-screensaver-cpblobs.mk                    |  4 +-
 .../kodi-screensaver-matrixtrails.mk               |  4 +-
 package/pkg-autotools.mk                           |  4 -
 package/pkg-cmake.mk                               |  4 -
 package/pkg-generic.mk                             | 29 +------
 package/pkg-kconfig.mk                             |  3 -
 package/pkg-meson.mk                               |  4 -
 package/pkg-python.mk                              |  7 --
 package/pkg-qmake.mk                               |  4 -
 package/pkg-utils.mk                               | 90 +++++++++++++++++-----
 package/pkg-waf.mk                                 |  5 --
 support/dependencies/dependencies.mk               |  2 +-
 support/misc/utils.mk                              | 14 +++-
 15 files changed, 111 insertions(+), 90 deletions(-)

Comments

Yann E. MORIN Dec. 4, 2021, 7:12 p.m. UTC | #1
All,

On 2021-11-13 14:28 +0100, Yann E. MORIN spake thusly:
> Hello All!
> 
> This series introduces a new top-level command, show-vars, which like
> printvars, prints all the variables of Buildroot, and like show-info,
> does so in a JSON-formatted output.
> 
> The first 8 patches are preparatory cleanups in the core infras. They
> were previously posted separately, but their raison d'ĂȘtre is only
> really obvious with the introduction of this new show-vars.
> 
> Then the following 4 patches prepare the existing show-info helpers for
> more genericity.
> 
> The 3 next patches add a few more items to show-info (I'm sneaking them
> in this series, am I not devious?). There are hints in the commit logs
> about something that will come in the future, that will make use of
> those new fields (and now am I not teasing too much?).
> 
> Eventually, we introduce show-vars, which is pretty trivial in and off
> itelf once all the preparatory work has been done...
> 
> Regards,
> Yann E. MORIN.
> 
> 
> ----------------------------------------------------------------
> Yann E. MORIN (16):
>       core/show-info: report build_dir relative to CONFIG_DIR
>       package/kodi-*: run pkg-config at build time, not at parse time
>       support/dependencies: avoid spurious warning on print-vars

Those three patches are fixes, so applied to master.

>       package/infras: do not conditionally set empty variables
>       package/pkg-python: do not set empty variables

Those two patches, not applied

>       core/pkg-generic: also list files installed in images/
>       Makefile: really comment syntax colouring
>       core/show-info: 'name' only applies to packages

Those three patches are fixes, so applied to master.

>       support/utils: make-comma-list does just that, not quoting
>       support/misc/utils: introduce $(tab)=\t and $(escape)=\x1b
>       package/pkg-utils: introduce helper to properly json-escape a string
>       package/pkg-utils: generate proper JSON strings where they are emitted
>       core/show-info: report whether a package is overriden
>       core/show-info: also export source and stamp directories in show-info
>       core/show-info: report package build steps and stamp files
>       Makefile: introduce show-vars, a json-formatted equivalent to printvars

The rest of the series is not about fixes, so will have to wait for
another round.

Regards,
Yann E. MORIN.

> 
>  Makefile                                           | 23 +++++-
>  .../kodi-screensaver-asterwave.mk                  |  4 +-
>  .../kodi-screensaver-cpblobs.mk                    |  4 +-
>  .../kodi-screensaver-matrixtrails.mk               |  4 +-
>  package/pkg-autotools.mk                           |  4 -
>  package/pkg-cmake.mk                               |  4 -
>  package/pkg-generic.mk                             | 29 +------
>  package/pkg-kconfig.mk                             |  3 -
>  package/pkg-meson.mk                               |  4 -
>  package/pkg-python.mk                              |  7 --
>  package/pkg-qmake.mk                               |  4 -
>  package/pkg-utils.mk                               | 90 +++++++++++++++++-----
>  package/pkg-waf.mk                                 |  5 --
>  support/dependencies/dependencies.mk               |  2 +-
>  support/misc/utils.mk                              | 14 +++-
>  15 files changed, 111 insertions(+), 90 deletions(-)
> 
> -- 
> .-----------------.--------------------.------------------.--------------------.
> |  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
> | +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
> | +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
> '------------------------------^-------^------------------^--------------------'