Gentoo Archives: gentoo-portage-dev

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

Replies

Subject Author
Re: [gentoo-portage-dev] [PATCH 0/3] INSTALL_MASK refurbishing resubmit Joakim Tjernlund <Joakim.Tjernlund@××××××××.com>