The BitBake task scheduler started as a fork from Portage, which is the package management system used in the Gentoo distribution. However, the two projects have diverged a lot due to different usage focuses. The Yocto Project and the OpenEmbedded Project are the most well-known and intensive users of BitBake, which remains a separate and independent project with its own development cycle and mailing list (bitbake-devel@lists.openembedded.org).
As presented in Chapter 1, Meeting the Yocto Project, BitBake is a task scheduler that parses Python and the shell script mixed code. Based on the metadata, BitBake generates a large number of tasks that may have a complex dependency chain, so BitBake is responsible for ensuring those dependencies are met by maximizing the use of computational resources and running as many tasks as possible in parallel. BitBake...