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