Gentoo Archives: gentoo-portage-dev

From: Joakim Tjernlund <Joakim.Tjernlund@××××××××.com>
To: "gentoo-portage-dev@l.g.o" <gentoo-portage-dev@l.g.o>
Subject: Re: [gentoo-portage-dev] [PATCH 0/3] INSTALL_MASK refurbishing resubmit
Date: Fri, 23 Mar 2018 09:05:10
Message-Id: 1521795903.4790.340.camel@infinera.com
In Reply to: Re: [gentoo-portage-dev] [PATCH 0/3] INSTALL_MASK refurbishing resubmit by "Michał Górny"
1 On Fri, 2018-03-23 at 09:33 +0100, Michał Górny wrote:
2 > CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.
3 >
4 >
5 > W dniu pią, 23.03.2018 o godzinie 00∶52 +0000, użytkownik Joakim
6 > Tjernlund napisał:
7 > > On Mon, 2018-03-19 at 15:59 -0700, Zac Medico wrote:
8 > > > On 03/15/2018 12:22 PM, Michał Górny wrote:
9 > > > > Hi,
10 > > > >
11 > > > > Here are three of four INSTALL_MASK updates I've sent long time ago
12 > > > > which were not really reviewed. The fourth patch added support
13 > > > > for repo-defined install-mask.conf and I'll do that separately.
14 > > > >
15 > > > > Those patches focus on smaller changes. What they change, in order:
16 > > > >
17 > > > > 1. Removes explicit file removal code for FEATURES=no*. Instead, those
18 > > > > values are converted into additional INSTALL_MASK entries
19 > > > > and handled directly via INSTALL_MASK processing.
20 > > > >
21 > > > > 2. Rework INSTALL_MASK to filter files while installing instead of
22 > > > > pre-stripping them. In other words, before: INSTALL_MASK removes
23 > > > > files from ${D} before merge. After: ${D} contains all the files,
24 > > > > Portage just skip INSTALL_MASK-ed stuff, verbosely indicating that.
25 > > > >
26 > > > > 3. Adds support for exclusions in INSTALL_MASK. In other words, you
27 > > > > can do stuff like:
28 > > > >
29 > > > > INSTALL_MASK="/usr/share/locale -/usr/share/locale/en_US"
30 > > > >
31 > > > > I have been using this via user patches since the last submission.
32 > > > > Guessing by 'git log', this means almost 2 years now.
33 > > > >
34 > > > > --
35 > > > > Best regards,
36 > > > > Michał Górny
37 > > > >
38 > > > > Michał Górny (3):
39 > > > > portage.package.ebuild.config: Move FEATURES=no* handling there
40 > > > > portage.dbapi.vartree: Move INSTALL_MASK handling into merging
41 > > > > portage.dbapi.vartree: Support exclusions in INSTALL_MASK
42 > > > >
43 > > > > bin/misc-functions.sh | 30 ----------
44 > > > > pym/portage/dbapi/vartree.py | 104 ++++++++++++++++++++++-------------
45 > > > > pym/portage/package/ebuild/config.py | 11 ++++
46 > > > > 3 files changed, 77 insertions(+), 68 deletions(-)
47 > > > >
48 > > >
49 > > > As mentioned in #gentoo-portage today, the rationale for including the
50 > > > INSTALL_MASKed files in CONTENTS is to that we can detect collisions
51 > > > that would have occurred had people not been using INSTALL_MASK.
52 > > >
53 > > > Since people can use INSTALL_MASK to intentionally prevent collisions,
54 > > > in cases where COLLISION_IGNORE is not appropriate (this is common
55 > > > practice at my workplace), we'll need a new FEATURES setting to trigger
56 > > > the new behavior where INSTALL_MASKed files still trigger file collisions.
57 > >
58 > > Are we going to see this in Portage soon? And PKG_INSTALL_MASK too ?
59 >
60 > It's in sys-apps/portage-mgorny. Whatever's going to land in sys-
61 > apps/portage, it's probably going to be half-broken to satisfy
62 > somebody's colleague's corner case of misusing INSTALL_MASK.
63
64 I looked and saw the INSTALL_MASK part but no mention of PKG_INSTALL_MASK(which is what I need)