pkgcore.ebuild.eclass_cache module

in memory representation of on disk eclass stacking order

class pkgcore.ebuild.eclass_cache.StackedCaches(caches, **kwds)[source]

Bases: base

collapse multiple eclass caches into one.

Does L->R searching for eclass matches.

pkgcore_config_type = <pkgcore.config.hint.ConfigHint object>
class pkgcore.ebuild.eclass_cache.base(location=None, eclassdir=None)[source]

Bases: object

Maintains the cache information about eclasses available to an ebuild.

eclasses

Method alias to invoke _load_eclasses().

get_eclass(eclass)[source]
get_eclass_data(inherits)[source]

Return the cachable entries from a list of inherited eclasses.

Only make get_eclass_data calls for data you know came from this eclass_cache, otherwise be ready to catch a KeyError exception for any eclass that was requested, but not known to this cache.

rebuild_cache_entry(entry_eclasses)[source]

Check if eclass data is still valid.

Given a dict as returned by get_eclass_data, walk it comparing it to internal eclass view.

Returns:

a boolean representing whether that eclass data is still up to date, or not

class pkgcore.ebuild.eclass_cache.cache(path, location=None)[source]

Bases: base

pkgcore_config_type = <pkgcore.config.hint.ConfigHint object>