Hi,
A portage question, to satisfy my own curiosity i.e. I know how to fix
the problem I had, but I'd like to know if I fully understand how to
use portage in a case like this:
My desktop is a mostly stable x86 machine, but I use e17-9999 as my wm.
x11-wm/e depends on evas which has a hard dependency on cairo:
cairo? ( >=x11-libs/cairo-1.2 )
I had to unmask e, evas and cairo to get this to emerge.
I also have x86 pygtk and pycairo already installed, pycairo has a hard
dependency on cairo-1.0*
=x11-libs/cairo-1.0*
emerge world wants to downgrade cairo to 1.0* to satisfy pycairo, then
the next emerge world wants to upgrade it to 1.2* to satisfy evas = a
version conflict which yo-yos back and forth. The fix is obviously to
keyword pycairo to ~x86 to give consistent dependencies. This is harder
than it could be: pygtk could also have had it's own conflicts, and it
takes several 'emerge -pv world' and reading ebuilds to get the whole
picture. And this is something portage could have figured out itself.
emerge -p world had to parse the entire portage tree anyway, it could
easily check for versioning conflicts while doing it and display a
message to the user, much like blockers do currently. I get it that
portage likely can't suggest resolutions but it would be nice to see in
one display that evas and pygtk requires mutually exclusive versions of
cairo.
Can portage do this? Is it something useful that warrants a feature
request? Or am I missing an option in the man page even though I've
read it >30 times? :-)
alan
--
[email protected] mailing list