From: Zac Medico <zmedico@gentoo.org>
To: gentoo-portage-dev@lists.gentoo.org
Cc: "Michał Górny" <mgorny@gentoo.org>
Subject: Re: [gentoo-portage-dev] [PATCH 1/3] portage.package.ebuild.config: Move FEATURES=no* handling there
Date: Sun, 12 Jun 2016 00:28:14 -0700 [thread overview]
Message-ID: <575D0F0E.7090700@gentoo.org> (raw)
In-Reply-To: <575D0CF2.2090202@gentoo.org>
On 06/12/2016 12:19 AM, Zac Medico wrote:
> On 05/21/2016 11:56 PM, Michał Górny wrote:
>> diff --git a/pym/portage/package/ebuild/config.py b/pym/portage/package/ebuild/config.py
>> index 45b7d08..fcc7ce5 100644
>> --- a/pym/portage/package/ebuild/config.py
>> +++ b/pym/portage/package/ebuild/config.py
>> @@ -1773,6 +1773,16 @@ class config(object):
>> # setcpv triggers lazy instantiation of things like _use_manager.
>> _eapi_cache.clear()
>>
>> + # Prepare the final value of INSTALL_MASK
>> + install_mask = self["INSTALL_MASK"].split()
>> + if 'nodoc' in self.features:
>> + install_mask.append("/usr/share/doc")
>> + if 'noinfo' in self.features:
>> + install_mask.append("/usr/share/info")
>> + if 'noman' in self.features:
>> + install_mask.append("/usr/share/man")
>> + self["INSTALL_MASK"] = ' '.join(install_mask)
>> +
>> def _grab_pkg_env(self, penv, container, protected_keys=None):
>> if protected_keys is None:
>> protected_keys = ()
>>
>
> I'm concerned that these values can be appended more than once, causing
> the variable to contain duplicate values, because setcpv only calls
> reset when the has_changed variable is True. So, we only want to call
> this code when has_changed is True. In fact, this code can go
> immediately after the reset call here:
>
> if has_changed:
> self.reset(keeping_pkg=1)
>
Actually, it's more tricky than that, because we need to account for
both global FEATURES settings and package.env FEATURES settings, and my
above statements do not account for the global settings.
Also need to consider the case where these features are enabled
globally, and then *disabled* via package.env!
--
Thanks,
Zac
next prev parent reply other threads:[~2016-06-12 7:28 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-22 6:56 [gentoo-portage-dev] [PATCH 0/3] INSTALL_MASK redesign, part I Michał Górny
2016-05-22 6:56 ` [gentoo-portage-dev] [PATCH 1/3] portage.package.ebuild.config: Move FEATURES=no* handling there Michał Górny
2016-06-12 7:19 ` Zac Medico
2016-06-12 7:28 ` Zac Medico [this message]
2016-06-12 9:33 ` Michał Górny
2016-05-22 6:56 ` [gentoo-portage-dev] [PATCH 2/3] Move INSTALL_MASK handling into merging Michał Górny
2016-05-22 8:14 ` Michał Górny
2016-05-22 8:21 ` [gentoo-portage-dev] [PATCH v2] " Michał Górny
2016-06-12 8:41 ` Zac Medico
2016-06-12 9:10 ` Zac Medico
2016-06-12 9:28 ` Michał Górny
2016-06-12 9:49 ` Zac Medico
2016-06-12 10:05 ` Michał Górny
2016-06-12 10:28 ` Zac Medico
2016-06-12 20:29 ` Zac Medico
2016-06-12 20:43 ` Zac Medico
2016-06-12 20:52 ` Zac Medico
2016-05-22 6:56 ` [gentoo-portage-dev] [PATCH 3/3] portage.dbapi.vartree: Support exclusions in INSTALL_MASK Michał Górny
2016-06-12 9:20 ` Zac Medico
2016-06-12 9:31 ` Michał Górny
2016-06-12 9:43 ` Zac Medico
2016-06-12 10:03 ` Michał Górny
2016-06-12 10:23 ` Zac Medico
2016-05-31 15:58 ` [gentoo-portage-dev] [PATCH 4/3] portage.package.ebuild.config: Support path groups from install-mask.conf Michał Górny
2016-06-10 21:50 ` Michał Górny
-- strict thread matches above, loose matches on Subject: below --
2018-03-15 19:22 [gentoo-portage-dev] [PATCH 0/3] INSTALL_MASK refurbishing resubmit Michał Górny
2018-03-15 19:22 ` [gentoo-portage-dev] [PATCH 1/3] portage.package.ebuild.config: Move FEATURES=no* handling there Michał Górny
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=575D0F0E.7090700@gentoo.org \
--to=zmedico@gentoo.org \
--cc=gentoo-portage-dev@lists.gentoo.org \
--cc=mgorny@gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox