Go to file
Thomas Petazzoni ef63a330b4 support/scripts/pkg-stats-new: rewrite in Python
This commit adds a new version of the pkg-stats script, rewritten in
Python. It is for now implemented in a separate file called,
pkg-stats-new, in order to make the diff easily readable. A future
commit will rename it to pkg-stats.

Compared to the existing shell-based pkg-stats script, the
functionality and output is basically the same. The main difference is
that the output no longer goes to stdout, but to the file passed as
argument using the -o option. This allows stdout to be used for more
debugging related information.

The way the script works is that a first function get_pkglist()
returns a list of Package objects. Then, the function
package_init_make_info() uses 'make printvars' to gather information
about all packages, stored as class variables in the Package
class. Then, we iterate over all packages, and use various methods of
the Package class to retrieve all details about the package:
infrastructure, presence of hash file, presence of license
information, etc.

calculate_stats() then calculates global statistics (how packages have
license information, how packages have a hash file, etc.). Finally,
dump_html() produces the HTML output, using a number of sub-functions.

One improvement over the shell-based version is that we can use
regexps to exclude some .mk files. Thanks to this, we can exclude all
linux-ext-*.mk files, avoiding incorrect matches.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Reviewed-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
2018-04-04 22:01:55 +02:00
arch arc/xtensa: store the Xtensa overlay in the per-package DL_DIR 2018-04-02 15:59:30 +02:00
board Synopsys: Cleanup files related to Synopsys 2018-04-03 22:49:18 +02:00
boot uboot: bump to version 2018.03 2018-04-04 17:52:37 +02:00
configs configs/wandboard: Bump to U-Boot 2018.03 2018-04-04 17:53:09 +02:00
docs help/manual: update help about the new $(LIBFOO_DL_DIR) 2018-04-02 17:48:56 +02:00
fs fs/*/Config.in: re-wrap help text 2018-04-01 08:52:45 +02:00
linux linux/Config.*: re-wrap help text 2018-04-01 08:53:57 +02:00
package czmq: bump to version 4.1.1 2018-04-04 22:00:37 +02:00
support support/scripts/pkg-stats-new: rewrite in Python 2018-04-04 22:01:55 +02:00
system system/Config.in: re-wrap help text 2018-04-01 08:01:05 +02:00
toolchain toolchain-wrapper: use -ffp-contract=off on MIPS Xburst for gcc >= 4.6 2018-04-01 16:23:33 +02:00
utils check-package: support symlinks to the script 2018-04-01 22:41:54 +02:00
.defconfig arch: remove support for sh64 2016-09-08 22:15:15 +02:00
.flake8 .flake8: ignore utils/diffconfig 2018-03-13 22:37:54 +01:00
.gitignore
.gitlab-ci.yml configs/qemu_ppc64_e5500: new defconfig 2018-04-02 00:42:59 +02:00
.gitlab-ci.yml.in .gitlab-ci.yml: extend check-package test to Config.* files 2018-04-01 10:16:35 +02:00
CHANGES Update for 2018.02 2018-03-04 22:28:34 +01:00
Config.in help/manual: update help about the new $(LIBFOO_DL_DIR) 2018-04-02 17:48:56 +02:00
Config.in.legacy package/kodi-adsp-*: remove packages 2018-04-01 16:20:11 +02:00
COPYING COPYING: add exception about patch licensing 2016-02-26 19:50:13 +01:00
DEVELOPERS Synopsys: Cleanup files related to Synopsys 2018-04-03 22:49:18 +02:00
Makefile package/pkg-generic: add <pkg>-show-recursive-(r)depends targets 2018-04-01 22:25:57 +02:00
Makefile.legacy Remove BR2_DEPRECATED 2016-10-15 23:14:45 +02:00
README README: add reference to submitting-patches 2016-02-01 19:16:08 +01:00

Buildroot is a simple, efficient and easy-to-use tool to generate embedded
Linux systems through cross-compilation.

The documentation can be found in docs/manual. You can generate a text
document with 'make manual-text' and read output/docs/manual/manual.text.
Online documentation can be found at http://buildroot.org/docs.html

To build and use the buildroot stuff, do the following:

1) run 'make menuconfig'
2) select the target architecture and the packages you wish to compile
3) run 'make'
4) wait while it compiles
5) find the kernel, bootloader, root filesystem, etc. in output/images

You do not need to be root to build or run buildroot.  Have fun!

Buildroot comes with a basic configuration for a number of boards. Run
'make list-defconfigs' to view the list of provided configurations.

Please feed suggestions, bug reports, insults, and bribes back to the
buildroot mailing list: buildroot@buildroot.org
You can also find us on #buildroot on Freenode IRC.

If you would like to contribute patches, please read
https://buildroot.org/manual.html#submitting-patches