1 |
Dnia 12 czerwca 2016 11:10:55 CEST, Zac Medico <zmedico@g.o> napisał(a): |
2 |
>On 05/22/2016 01:21 AM, Michał Górny wrote: |
3 |
>> Introduce a new logic for INSTALL_MASK handling in merging code, |
4 |
>> replacing the old code that removed matching files and directories |
5 |
>> from imagedir in bash. The new code actually ignores matching files |
6 |
>> on-the-fly while testing for file collisions and merging files. |
7 |
>> The files are still written to CONTENTS, and output using "###" zing |
8 |
>> to indicate being masked, yet are not actually merged to the |
9 |
>filesystem. |
10 |
> |
11 |
>Since collision-protect relies on existing files in its collision test, |
12 |
>install-masked files are no longer going to trigger collisions. Then, |
13 |
>since the install-masked files are still written to CONTENTS, it's |
14 |
>possible for the unmerge of one package to unmerge colliding files that |
15 |
>belong to another package! |
16 |
> |
17 |
>There are a number of ways to solve this problem. For example, we could |
18 |
>have the unmerge code ignore any files in CONTENTS that match the |
19 |
>INSTALL_MASK value that was used at merge time. |
20 |
|
21 |
Hmm, thinking about this more widely (i.e. actually thinking rather than mimicking the old behavior), I think it would be better to actually use the original file set for collision-protect. This will make it possible to detect collisions that would otherwise be hidden via INSTALL_MASK. |
22 |
|
23 |
-- |
24 |
Best regards, |
25 |
Michał Górny (by phone) |