On Fri, 22 Jul 2016 16:41:56 +0300 Andrew Savchenko <birc...@gentoo.org> wrote: > On Fri, 22 Jul 2016 13:14:23 +0200 Michał Górny wrote: > > Dnia 22 lipca 2016 13:00:42 CEST, Andrew Savchenko > > <birc...@gentoo.org> napisał(a): > > >On Thu, 21 Jul 2016 07:12:12 +0200 Michał Górny wrote: > [...] > > >> Few important QA notes: > > >> > > >> 1. < is lexicographical comparison, so e.g. 1.6.2.2 < 1.6.18.2 > > >> gives false, > > > > > >Thanks, fixed. > > > > > >> 2. REPLACING_VERSIONS can have more than one value, > > > > > >While it can indeed, I see no way for this to happen if package > > >hasn't and never had multiple slots. > > > > Wrong. PMS specifically requests you to account for such a > > possibility. > > Common sence must prevail over formal approaches. While PMS is > great, it is not perfect in all possible aspects, and this one is > one of them. >
And this is a perfect example of why so much stuff in Gentoo is subtly broken... Things are usually more complicated than you think, buggy code usually works well enough that the mistakes aren't noticed in most cases, and too many developers are far too convinced of their own competence. You need to appreciate that you do not have a complete understanding of what is going on, your "common sense" is leading you astray, and that that API was designed the way it was out of necessity. > I see no point in trashing ebuilds with dead code that will never > be used. Though if there will be a PMS or eclass function with > "proper" implementation, I don't mind, since extra code will be > moved from ebuild elsewhere. Slots are not the only way in which you can end up with multiple installed versions of the same package. Another way is if there's a fatal error during certain parts of the upgrade process. -- Ciaran McCreesh