Package portage :: Package package :: Package ebuild :: Package _config :: Module features_set :: Class features_set
[hide private]

Class features_set

source code

object --+
         |
        features_set

Provides relevant set operations needed for access and modification of config.features. The FEATURES variable is automatically synchronized upon modification.

Modifications result in a permanent override that will cause the change to propagate to the incremental stacking mechanism in config.regenerate(). This eliminates the need to call config.backup_changes() when FEATURES is modified, since any overrides are guaranteed to persist despite calls to config.reset().

Instance Methods [hide private]
 
__init__(self, settings)
x.__init__(...) initializes x; see help(type(x)) for signature
source code
 
__contains__(self, k) source code
 
__iter__(self) source code
 
_sync_env_var(self) source code
 
add(self, k) source code
 
update(self, values) source code
 
difference_update(self, values) source code
 
remove(self, k)
This never raises KeyError, since it records a permanent override that will prevent the given flag from ever being added again by incremental stacking in config.regenerate().
source code
 
discard(self, k) source code
 
_validate(self)
Implements unknown-features-warn and unknown-features-filter.
source code
 
_prune_overrides(self)
If there are lots of invalid package.env FEATURES settings then unknown-features-filter can make _features_overrides grow larger and larger, so prune it.
source code

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, settings)
(Constructor)

source code 

x.__init__(...) initializes x; see help(type(x)) for signature

Overrides: object.__init__
(inherited documentation)

_prune_overrides(self)

source code 

If there are lots of invalid package.env FEATURES settings then unknown-features-filter can make _features_overrides grow larger and larger, so prune it. This performs incremental stacking with preservation of negative values since they need to persist for future config.regenerate() calls.