On Sun, 24 Jul 2016 00:30:39 +0300 Andrew Savchenko <birc...@gentoo.org> wrote: > Oh, nice: strictly follow PMS no matter what, right? Then let me > remind you that not so long time ago I advocated for strictly > following PMS [1,2], which _allows_ || ( A:= B:= ) construct [3]. > > But I was _enforced_ by QA to _violate_ PMS and remove the valid > syntax blocks [4]. This decision was made because of $reasons: > - we lack ||= operator; > - || ( := ) behaviour is not implemented properly in existing PM; > - "it doesn't make *any* sense"; > - other valid and unquestionable $reasons ... > > So the result is that common sense and practical considerations > take over PMS. And what we have in the REPLACING_VERSIONS case? > It doesn't matter that such situation never happened and will > likely never happen, but one must follow PMS strictly no matter > what. Such attitude is not fair at least.
No. You have simply failed to understand the reason || ( A:= B:= ) doesn't work. It may superficially appear correct, but you either need to think carefully about the implications, or just accept wisdom from people who have. I remind you that PMS does not explicitly prohibit a dependency upon =A-1 =A-2 where A is not slotted, either: it's a nonsense dependency, but syntactically valid. Please stop trying to use your common sense in areas where you lack the intuition and experience to have accurate common sense. > Do we ever had such case like multiple versions of the same > single-slotted package installed or recorded as installed in the > real world? I'm not sure even in this, but I may assume that it may > happen one day. Yes, this happens with failures on uninstalls and upgrades. > Do we have any proof that PM can recover from such situation, > where VDB is a mess and installed files can also be a mess? I'm not > sure in this at all. Yes, things have been designed quite carefully to allow this to happen. You recover by installing a new version, and using it to replace the two installed versions simultaneously. > Do we have any test suits for portage (as the most popular PM > implementation) for such cases? I doubt this, I can find none. I'm > not sure if such tests are implemented in other PM test suits too. Portage doesn't exactly have many tests... -- Ciaran McCreesh