On 03/15/2018 12:22 PM, Michał Górny wrote: > Hi, > > Here are three of four INSTALL_MASK updates I've sent long time ago > which were not really reviewed. The fourth patch added support > for repo-defined install-mask.conf and I'll do that separately. > > Those patches focus on smaller changes. What they change, in order: > > 1. Removes explicit file removal code for FEATURES=no*. Instead, those > values are converted into additional INSTALL_MASK entries > and handled directly via INSTALL_MASK processing. > > 2. Rework INSTALL_MASK to filter files while installing instead of > pre-stripping them. In other words, before: INSTALL_MASK removes > files from ${D} before merge. After: ${D} contains all the files, > Portage just skip INSTALL_MASK-ed stuff, verbosely indicating that. > > 3. Adds support for exclusions in INSTALL_MASK. In other words, you > can do stuff like: > > INSTALL_MASK="/usr/share/locale -/usr/share/locale/en_US" > > I have been using this via user patches since the last submission. > Guessing by 'git log', this means almost 2 years now. > > -- > Best regards, > Michał Górny > > Michał Górny (3): > portage.package.ebuild.config: Move FEATURES=no* handling there > portage.dbapi.vartree: Move INSTALL_MASK handling into merging > portage.dbapi.vartree: Support exclusions in INSTALL_MASK > > bin/misc-functions.sh | 30 ---------- > pym/portage/dbapi/vartree.py | 104 > ++++++++++++++++++++++------------- > pym/portage/package/ebuild/config.py | 11 ++++ > 3 files changed, 77 insertions(+), 68 deletions(-) >
As mentioned in #gentoo-portage today, the rationale for including the INSTALL_MASKed files in CONTENTS is to that we can detect collisions that would have occurred had people not been using INSTALL_MASK. Since people can use INSTALL_MASK to intentionally prevent collisions, in cases where COLLISION_IGNORE is not appropriate (this is common practice at my workplace), we'll need a new FEATURES setting to trigger the new behavior where INSTALL_MASKed files still trigger file collisions. -- Thanks, Zac
signature.asc
Description: OpenPGP digital signature