It is hard to explain it with actual words so I will show you what I mean root@Eternity ~ # emerge -uDNav world [..] [ebuild U ] app-text/poppler-0.14.0-r1 [0.12.4-r3] USE="abiword cairo cxx%* jpeg lcms png qt4 utils xpdf-headers -cjk -curl% -debug -exceptions -jpeg2k (-doc%)" 867 kB [0] [..] Notice that portage doesn't realize that I have poppler binary available on my mirror However, when I try to emerge only poppler package I get root@Eternity ~ # emerge -1av poppler [..] Calculating dependencies... done! [binary U ] app-text/poppler-0.14.0-r1 [0.12.4-r3] USE="abiword cairo cxx%* jpeg lcms png qt4 utils xpdf-headers -cjk -curl% -debug -doc -exceptions -jpeg2k" [..] See? When I try to merge poppler only, portage realize that a binary package is available to use. Could somebody explain this weird behavior on emerge -uDN world? Thank you
There was a change in USE. The ebuild has "(-doc%)", while the binary has "-doc". Are you using --binpkg-respect-use? Please add emerge --info.
Created attachment 236183 [details] emerge --info No I don't use this switch, but shouldn't the behavior be the same for emerge -uDN world and emerge <package> ?
(In reply to comment #2) > but shouldn't the behavior be the same for emerge > -uDN world and emerge <package> ? No, there are two fundamental differences. a) You have --update, --newuse and --deep enabled. Everyone of these modifies the package selection algorithm. b) emerge -uDN world verifies dependencies of installed packages, while emerge <package> doesn't. In your case --newuse is what leads to the difference. I agree that's a bit odd to see a difference between ("-doc" and "(-doc%)").
Closing as invalid as agreed on IRC.