public inbox for yocto@lists.yoctoproject.org
 help / color / mirror / Atom feed
From: Osama Abdelkader <osama.abdelkader@gmail.com>
To: Alexander Kanavin <alex.kanavin@gmail.com>
Cc: yocto@lists.yoctoproject.org, bitbake-devel@lists.openembedded.org
Subject: Re: [bitbake-devel] [RFC] Proposal: New tool to display recipe dependency trees
Date: Mon, 24 Nov 2025 20:42:27 +0200	[thread overview]
Message-ID: <aSSnE0X9kycDc60G@osama> (raw)
In-Reply-To: <CANNYZj85vK7o4KVDUtJ_DkW73bxs7UMA-bM6K2VRada-yCFpfA@mail.gmail.com>

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
> <osama.abdelkader=gmail.com@lists.openembedded.org> 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


  parent reply	other threads:[~2025-11-24 18:42 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-24 17:24 [RFC] Proposal: New tool to display recipe dependency trees Osama Abdelkader
2025-11-24 18:04 ` [bitbake-devel] " Alexander Kanavin
2025-11-24 18:20   ` Quentin Schulz
2025-11-24 18:48     ` Osama Abdelkader
2025-11-24 18:42   ` Osama Abdelkader [this message]
2025-11-24 18:53     ` Alexander Kanavin
2025-11-25 20:15       ` Osama Abdelkader
2025-11-24 20:49 ` [yocto] " Ross Burton
2025-11-25 20:26   ` Osama Abdelkader

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aSSnE0X9kycDc60G@osama \
    --to=osama.abdelkader@gmail.com \
    --cc=alex.kanavin@gmail.com \
    --cc=bitbake-devel@lists.openembedded.org \
    --cc=yocto@lists.yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox