```console $ equery depgraph =kde-frameworks/kwindowsystem-6.9.0 * Searching for kwindowsystem6.9.0 in kde-frameworks ... * dependency graph for kde-frameworks/kwindowsystem-6.9.0 `-- kde-frameworks/kwindowsystem-6.9.0 amd64 <...> `-- dev-qt/qttools-6.8.1 (>=dev-qt/qttools-6.7.2) amd64 [linguist] <...> ``` but ```console $ equery depends dev-qt/qttools * These packages depend on dev-qt/qttools: <...> kde-frameworks/kwindowsystem-6.9.0 (>=dev-qt/qttools-6.7.2:6[linguist]) (dev-qt/qttools:6[assistant]) <...> ``` Has the `assistant` flag of the `dev-qt/qttools` been lost? equery 0.6.8
I think the qttools[assistant] dependency comes through ecm.eclass, which kwindowsystem inherits. I'm guessing that's somehow why this happens.
The depgraph builder currently deduplicates packages based on cpv. This simple change will make it output both qttools deps. diff --git a/pym/gentoolkit/dependencies.py b/pym/gentoolkit/dependencies.py index be5c71f..23980f2 100644 --- a/pym/gentoolkit/dependencies.py +++ b/pym/gentoolkit/dependencies.py @@ -163,8 +163,6 @@ class Dependencies(Query): depcache[dep.atom] = pkgdep if not pkgdep: continue - elif pkgdep.cpv in seen: - continue if depth <= max_depth or max_depth == 0: if printer_fn is not None: printer_fn(depth, pkgdep, dep) An alternate approach would be to include additional package metadata (like USE flags) in the "seen" key instead of just dropping it entirely.