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