Re: [bitbake-devel] [RFC] Proposal: New tool to display recipe dependency trees
Osama Abdelkader <[email protected]>
| Newsgroups | org.yoctoproject.lists.yocto,org.openembedded.lists.bitbake-devel |
|---|---|
| Message-ID | <aSSnE0X9kycDc60G@osama> |
On Mon, Nov 24, 2025 at 07:04:12PM +0100, Alexander Kanavin wrote: > On Mon, 24 Nov 2025 at 18:24, Osama Abdelkader via > lists.openembedded.org > <[email protected]> wrote: > > Should the tool: > > > > cover only DEPENDS (build-time)? > > include RDEPENDS with pkgdata? > > resolve virtual/ providers? > > > > Any prior work I may have missed? > > > > If the idea is acceptable, I will prepare a proper implementation and send a patchset to the appropriate mailing list. > > Thank you for your feedback! > Hello Alex, > Hello Osama, > > DEPENDS is a somewhat unfortunate variable name that we're stuck with. > > It does not actually specify a recipe dependency, it specifies > something more specific: > > - run A.do_populate_sysroot before B.do_prepare_recipe_sysroot (a task > dependency) > - within B.do_prepare_recipe_sysroot task, take the output that > A.do_populate_sysroot produced and place that into B's sysroot (a hint > for sysroot creation) Yes, I know that. > > So I feel that any tool that aims to make things easier should > continue to present particular tasks; there's really no such thing as > 'recipe-level dependency'. > > In addition to that RDEPENDS is not specifying recipes. It is > specifying packages that the recipes produce (which sometimes match > the recipe names, but are otherwise distinct). You really should not > mix them together. > > I guess the question we need to ask is why 'bitbake -g' output is > difficult to understand or unhelpful in resolving questions people > have about dependencies. How can we make that better? Exactly. For me, the output dot file usually is so large and not "human-friendly" to trace. > > Alex My motivation actually was so simple, to know why a certain package is needed in an image. The simple way now AFAIK is to exclude it, then bitbake prints backtrace e.g. dnf ├── libdnf │ ├── libsolv │ └── json-c └── sqlite3 dnf -> libdnf -> libsolv libsolv is needed for dnf. so would be good to have a query command or simple tool to show that? something like apt-rdepends output. BR, Osama