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)