1 |
On Thu, 2018-03-15 at 22:10 -0700, Zac Medico wrote:
|
2 |
> On 03/15/2018 12:22 PM, Michał Górny wrote: |
3 |
> > Hi, |
4 |
> > |
5 |
> > Here are three of four INSTALL_MASK updates I've sent long time ago |
6 |
> > which were not really reviewed. The fourth patch added support |
7 |
> > for repo-defined install-mask.conf and I'll do that separately. |
8 |
> > |
9 |
> > Those patches focus on smaller changes. What they change, in order: |
10 |
> > |
11 |
> > 1. Removes explicit file removal code for FEATURES=no*. Instead, those |
12 |
> > values are converted into additional INSTALL_MASK entries |
13 |
> > and handled directly via INSTALL_MASK processing. |
14 |
> > |
15 |
> > 2. Rework INSTALL_MASK to filter files while installing instead of |
16 |
> > pre-stripping them. In other words, before: INSTALL_MASK removes |
17 |
> > files from ${D} before merge. After: ${D} contains all the files, |
18 |
> > Portage just skip INSTALL_MASK-ed stuff, verbosely indicating that. |
19 |
> > |
20 |
> > 3. Adds support for exclusions in INSTALL_MASK. In other words, you |
21 |
> > can do stuff like: |
22 |
> > |
23 |
> > INSTALL_MASK="/usr/share/locale -/usr/share/locale/en_US" |
24 |
> > |
25 |
> > I have been using this via user patches since the last submission. |
26 |
> > Guessing by 'git log', this means almost 2 years now. |
27 |
> > |
28 |
> > -- |
29 |
> > Best regards, |
30 |
> > Michał Górny |
31 |
> > |
32 |
> > Michał Górny (3): |
33 |
> > portage.package.ebuild.config: Move FEATURES=no* handling there |
34 |
> > portage.dbapi.vartree: Move INSTALL_MASK handling into merging |
35 |
> > portage.dbapi.vartree: Support exclusions in INSTALL_MASK |
36 |
> > |
37 |
> > bin/misc-functions.sh | 30 ---------- |
38 |
> > pym/portage/dbapi/vartree.py | 104 ++++++++++++++++++++++------------- |
39 |
> > pym/portage/package/ebuild/config.py | 11 ++++ |
40 |
> > 3 files changed, 77 insertions(+), 68 deletions(-) |
41 |
> |
42 |
> I like this patch set but here are some important things that I want it |
43 |
> to do differently: |
44 |
> |
45 |
> 1) For the unmerge code, it needs to read the appropriate |
46 |
> /var/db/pkg/*/*/{PKG,}INSTALL_MASK file in order to account for the |
47 |
> {PKG,}INSTALL_MASK settings that existed when the package was built |
48 |
> (PKG_INSTALL_MASK) and merged (INSTALL_MASK). A binary package should |
49 |
> use the value of INSTALL_MASK that existed at build time. |
50 |
|
51 |
Why does unmerge code need to know PKG_INSTALL_MASK? The files are not
|
52 |
installed so nothing to filter ?
|
53 |
similarly for merge of binary pkgs I guess, PKG_INSTALL_MASKed files are not
|
54 |
in the binary packed so no need to something special in this case ?
|
55 |
|
56 |
> |
57 |
> 2) In order to support bashrc {PKG,}INSTALL_MASK settings, we need to |
58 |
> write the values from the environment to |
59 |
> ${PORTAGE_BUILDDIR}/build-info/{PKG,}INSTALL_MASK and read them from |
60 |
> there (we do this for many other variables including QA_PREBUILT). |