On Mon, 12 Sep 2011 23:48:01 +0300 Nikos Chantziaras <[email protected]> wrote:
> > If you provide xyz-1.2.3 then portage does not know what *you* did > > to achieve that and makes no attempt to deal with it at all. You are > > expected to completely 100% deal with all of xyz, including all > > slots. "man 5 portage" mentions that the version number is there in > > package.provided so that portage can alert you if some other package > > has a dep on a version of xyz you did not provide. > > Yes, on a *version*, not on a *slot*, which is in effect a different > package but simply using the same name. I can't explain that (and reading the portage sources is not something that fills me with joy). I can think up a few possibilities ranging from the .provided code predates slots and has never been touched since all the way up to there being some real conflict you and I don't know about. > > > > Seen in that light, the behaviour is indeed sensible, just not > > consistent if you haven't read the docs yet. I don't think it's > > wise to try and change portage's behaviour with this, as Michael > > said in another sub-thread portage has no idea what you did so it > > can't even try to take control of different slots for fear it might > > clobber all your manual hard work > > As I mentioned in my other post, portage should stop working > altogether then, because conflicts can arise with any other package. > But portage *does* allows me to install package "foo" if I have > "bar-1.0" listed in package.provided. For the same reason, it should > allow me install "foo:2" if I have a "foo" in package.provided that > belongs to the "foo:1" slot. If portage tries to clobber a file you provided, then portage will see it and collision-protect will do it's job. If you clobber an existing file while installing something you provided, well that's your fault and you should have paid attention. So I don't think the foo|bar scenario you describe is anything worth worrying about. Maybe it really is just a case of "You provided xyz, you will therefore provide everything about xyz, even slots". I know that's the starting position I would take if I were Zac. -- Alan McKinnnon [email protected]

