1 |
Dnia 12 czerwca 2016 11:49:26 CEST, Zac Medico <zmedico@g.o> napisał(a): |
2 |
>On 06/12/2016 02:28 AM, Michał Górny wrote: |
3 |
>> Dnia 12 czerwca 2016 11:10:55 CEST, Zac Medico <zmedico@g.o> |
4 |
>napisał(a): |
5 |
>>> On 05/22/2016 01:21 AM, Michał Górny wrote: |
6 |
>>>> Introduce a new logic for INSTALL_MASK handling in merging code, |
7 |
>>>> replacing the old code that removed matching files and directories |
8 |
>>>> from imagedir in bash. The new code actually ignores matching files |
9 |
>>>> on-the-fly while testing for file collisions and merging files. |
10 |
>>>> The files are still written to CONTENTS, and output using "###" |
11 |
>zing |
12 |
>>>> to indicate being masked, yet are not actually merged to the |
13 |
>>> filesystem. |
14 |
>>> |
15 |
>>> Since collision-protect relies on existing files in its collision |
16 |
>test, |
17 |
>>> install-masked files are no longer going to trigger collisions. |
18 |
>Then, |
19 |
>>> since the install-masked files are still written to CONTENTS, it's |
20 |
>>> possible for the unmerge of one package to unmerge colliding files |
21 |
>that |
22 |
>>> belong to another package! |
23 |
>>> |
24 |
>>> There are a number of ways to solve this problem. For example, we |
25 |
>could |
26 |
>>> have the unmerge code ignore any files in CONTENTS that match the |
27 |
>>> INSTALL_MASK value that was used at merge time. |
28 |
>> |
29 |
>> Hmm, thinking about this more widely (i.e. actually thinking rather |
30 |
>than mimicking the old behavior), I think it would be better to |
31 |
>actually use the original file set for collision-protect. This will |
32 |
>make it possible to detect collisions that would otherwise be hidden |
33 |
>via INSTALL_MASK. |
34 |
> |
35 |
>Even then, we have to carefully consider how the absence of installed |
36 |
>files affects the collision test. It's safest for the unmerge code to |
37 |
>be |
38 |
>aware of the merge time INSTALL_MASK setting, and not try to unmerge |
39 |
>the |
40 |
>install-masked files. |
41 |
|
42 |
But then it wouldn't unmerge the newly masked files as well. Getting this right will require a lot of effort, and we're less likely to screw something up if we keep it simple. |
43 |
|
44 |
|
45 |
-- |
46 |
Best regards, |
47 |
Michał Górny (by phone) |