Ticket #572 (closed enhancement: wontfix)
Show use key in reasons if package pulled by enabled use key in deps.
| Reported by: | Cheba | Owned by: | ciaranm |
|---|---|---|---|
| Priority: | Sometime | Milestone: | |
| Component: | clients/paludis | Version: | 0.26.0 |
| Keywords: | Cc: | ||
| Blocked By: | Blocking: | ||
| Distribution: |
Description
It would be useful to know which use key pulled the package as dependency.
Change History
comment:2 Changed 5 years ago by Cheba
Here is a fragment of paludis output (cleande up a bit):
- dev-lang/ruby :1.8 [R 1.8.6_p111-r1]
Reasons: sys-apps/paludis-0.26.1::gentoo berkdb -cjk -debug doc -emacs -examples gdbm ipv6 -rubytests socks5 ssl threads -tk -xemacs
- sys-apps/paludis [R 0.26.1] <target>
bash-completion -doc glsa inquisitio -pink portage python qa ruby vim-syntax visibility -zsh-completion
Here ruby is pulled by paludis because of ruby use flag.
It would be useful if reasons field indicate what use flag pulled the package as dep. Something like this: Reasons: sys-apps/paludis-0.26.1::gentoo(+ruby)
comment:3 Changed 5 years ago by ciaranm
- Status changed from new to closed
- Resolution set to wontfix
We do keep track of this information. But I'm reluctant to show it to the user, since it's highly misleading. Two example cases:
target: DEPEND="foo? ( >=dev-lang/ruby-1.8 ) !foo? ( >=dev-lang/ruby-1.6 )"
In this case, Paludis would incorrectly show that the foo flag leads to Ruby being installed.
More complicated:
app-blah/blah: DEPEND="ruby? ( dev-lang/ruby ) !ruby? ( other/app )"
other/app: DEPEND="dev-lang/ruby"
Here it would suggest that turning off ruby would remove the dep.
The only way to guarantee correct results would be to recalculate the entire resolution for each use flag combination of any relevant flags (plus any new flags that come in from the recalculation). But that's O(2n), where n is of the order a hundred in typical cases...
comment:4 Changed 5 years ago by Cheba
You're right and wrong in both cases.
First example: paludis will show that foo flag introduces dependency to pulled package, say dev-lang/ruby-1.8.6_p111-r1, not to dev-lang/ruby. In case when foo if off it'll show that this flag (-foo) pulls dev-lang/ruby-1.6.0 for example. Indicating the use flag doesn't mean that turning off this flag will remove the dependency but that switching the flag will change dependencies.
Second example: This one simpler actually. I don't ask to track all the dependencies relatively to the target package but just one level tracking for reasons.
Also I don't ask for suggestions just a hint to faster find what I have to do to deal with unwanted dependencies.

Please explain. I'm not sure exactly what you mean here.