portage.package.ebuild._config.features_set module¶
- class portage.package.ebuild._config.features_set.features_set(settings)¶
Bases:
object
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().
- _prune_overrides()¶
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.
- _sync_env_var()¶
- _validate()¶
Implements unknown-features-warn and unknown-features-filter.
- add(k)¶
- difference_update(values)¶
- discard(k)¶
- remove(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().
- update(values)¶