Makefile: add 'show-info-all'

The maintenance and testing workflow sometimes requires to output a
list of every existing package on Buildroot:

- Generating an SBOM of the whole Buildroot tree, e.g. `for
  security.buildroot.org
- List every source for every package, e.g. for sources.buildroot.net

The previous solution relied on `make allyesconfig` but always ran into
conflicts that needed manual resolution. Also some packages would not be
present because they are architecture dependent.

To avoid having to manually modify the 'show-info' command this commit
adds the 'show-info-all' command. It accesses the PACKAGES_ALL variable
with all the packages present in Buildroot independently of the
architecture or any config entries.

It forces the `BR2_HAVE_DOT_CONFIG` variable to be set to force the
reading of the package mk files.

It is also added to noconfig_targets, to avoid the .config influencing
the output of show-info-all.

Note that this is not yet a complete solution - it doesn't take into
account the multiple versions that are possible for some packages like
GCC. Also for e.g. linux or uboot the version is empty and the URL is
invalid.

Signed-off-by: Thomas Perale <thomas.perale@mind.be>
[Arnout: refactor with existing show-info]
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
This commit is contained in:
Thomas Perale
2026-05-29 19:51:55 +02:00
committed by Arnout Vandecappelle
parent 4a5b7d733c
commit 723b321bb0
2 changed files with 36 additions and 8 deletions

View File

@@ -170,6 +170,18 @@ by using the +show-info+ make target:
make show-info
----
Buildroot can also produce information in the +show-info+ format about all
packages regardless of the configuration or architecture by using
+show-info-all+.
This is used for maintenance tasks that require information about every
package in the tree, such as generating a full-tree SBOM for
https://security.buildroot.org[].
It does not require a +.config+ file:
----
make show-info-all
----
Buildroot can also produce details about packages as HTML and JSON
output using the +pkg-stats+ make target. Amongst other things, these
details include whether known CVEs (security vulnerabilities) affect