The current graph-depends implementation filters out a number of "mandatory" dependencies that all packages have: dependency on "toolchain" and dependency on "skeleton". Despite this filtering, in full graph dependencies, "toolchain" and "skeleton" are still shown, because they are target packages, and therefore appear in the result of "make show-targets". Thanks to this, they will be visible as dependencies of the "ALL" node, which is the root of the dependency tree. However, as we are going to introduce host-skeleton as a "mandatory dependency" to be filtered out, this is no longer going to work. This commit adjusts the remove_extra_deps() function to ensure that when a mandatory dependency is removed, this dependency exists between the root of the dependency tree and the mandatory dependency. This issue was noticed by Yann E. Morin, and this commit provides a different implementation than what Yann proposed in https://patchwork.ozlabs.org/patch/910453/. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> [yann.morin.1998@free.fr: - list mandatory deps before removing them - fix flake8 warnings ] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> |
||
---|---|---|
arch | ||
board | ||
boot | ||
configs | ||
docs | ||
fs | ||
linux | ||
package | ||
support | ||
system | ||
toolchain | ||
utils | ||
.defconfig | ||
.flake8 | ||
.gitignore | ||
.gitlab-ci.yml | ||
.gitlab-ci.yml.in | ||
CHANGES | ||
Config.in | ||
Config.in.legacy | ||
COPYING | ||
DEVELOPERS | ||
Makefile | ||
Makefile.legacy | ||
README |
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