Dnia 12 czerwca 2016 11:10:55 CEST, Zac Medico <zmed...@gentoo.org> napisał(a): >On 05/22/2016 01:21 AM, Michał Górny wrote: >> Introduce a new logic for INSTALL_MASK handling in merging code, >> replacing the old code that removed matching files and directories >> from imagedir in bash. The new code actually ignores matching files >> on-the-fly while testing for file collisions and merging files. >> The files are still written to CONTENTS, and output using "###" zing >> to indicate being masked, yet are not actually merged to the >filesystem. > >Since collision-protect relies on existing files in its collision test, >install-masked files are no longer going to trigger collisions. Then, >since the install-masked files are still written to CONTENTS, it's >possible for the unmerge of one package to unmerge colliding files that >belong to another package! > >There are a number of ways to solve this problem. For example, we could >have the unmerge code ignore any files in CONTENTS that match the >INSTALL_MASK value that was used at merge time.
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. -- Best regards, Michał Górny (by phone)