portage.cache.fs_template module¶
- class portage.cache.fs_template.FsBased(*args, **config)¶
Bases:
portage.cache.template.database
template wrapping fs needed options, and providing _ensure_access as a way to attempt to ensure files have the specified owners/perms
- _delitem(cpv)¶
__delitem__ calls this after readonly checks. override it in derived classes
- _ensure_access(path, mtime=- 1)¶
returns true or false if it’s able to ensure that path is properly chmod’d and chowned. if mtime is specified, attempts to ensure that’s correct also
- _ensure_dirs(path=None)¶
with path!=None, ensure beyond self.location. otherwise, ensure self.location
- _getitem(cpv)¶
get cpv’s values. override this in derived classess
- static _internal_eclasses(extern_ec_dict, chf_type, paths)¶
When serialize_eclasses is False, we have to convert an external eclass dict containing hashed_path objects into an appropriate internal dict containing values of chf_type (and eclass dirs if store_eclass_paths is True).
- _prune_empty_dirs()¶
- _setitem(name, values)¶
__setitem__ calls this after readonly checks. override it in derived classes note _eclassees_ key must be handled
- _validate_entry(chf_type, entry, ebuild_hash, eclass_db)¶
- autocommits = False¶
- cleanse_keys = False¶
- commit()¶
- complete_eclass_entries = True¶
- get(k, x=None)¶
- get_matches(match_dict)¶
generic function for walking the entire cache db, matching restrictions to filter what cpv’s are returned. Derived classes should override this if they can implement a faster method then pulling each cpv:values, and checking it.
For example, RDBMS derived classes should push the matching logic down to the actual RDBM.
- has_key(cpv)¶
- items()¶
- iteritems()¶
- iterkeys()¶
- keys()¶
This method should always be overridden. It is provided only for backward compatibility with modules that override iterkeys instead. It will automatically raise a NotImplementedError if iterkeys has not been overridden.
- serialize_eclasses = True¶
- store_eclass_paths = True¶
- sync(rate=0)¶
- validate_entry(entry, ebuild_hash, eclass_db)¶
- validation_chf = 'mtime'¶
- portage.cache.fs_template.gen_label(base, label)¶
if supplied label is a path, generate a unique label based upon label, and supplied base path