diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-12-25 02:29:45 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-12-25 02:29:45 +0000 |
commit | 09cc5c655fcc34a13842ca6d296a32cbedb8b820 (patch) | |
tree | c46e9bb245f676a28c0cffee71506773384947f0 | |
parent | 8e72dfe64208d0329a66d9d329d58ec458e79890 (diff) | |
download | portage-09cc5c655fcc34a13842ca6d296a32cbedb8b820.tar.gz portage-09cc5c655fcc34a13842ca6d296a32cbedb8b820.tar.bz2 portage-09cc5c655fcc34a13842ca6d296a32cbedb8b820.zip |
Inside mirror_cache(), handle unsupported EAPI like portdbapi does.
svn path=/main/trunk/; revision=12327
-rw-r--r-- | pym/portage/cache/util.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/pym/portage/cache/util.py b/pym/portage/cache/util.py index dc3881b19..7e8310014 100644 --- a/pym/portage/cache/util.py +++ b/pym/portage/cache/util.py @@ -10,6 +10,7 @@ from portage.cache import cache_errors def mirror_cache(valid_nodes_iterable, src_cache, trg_cache, eclass_cache=None, verbose_instance=None): + from portage import eapi_is_supported if not src_cache.complete_eclass_entries and not eclass_cache: raise Exception("eclass_cache required for cache's of class %s!" % src_cache.__class__) @@ -96,6 +97,14 @@ def mirror_cache(valid_nodes_iterable, src_cache, trg_cache, eclass_cache=None, continue entry["_eclasses_"] = eclasses + eapi = entry.get("EAPI") + if not eapi: + eapi = "0" + if not eapi_is_supported(eapi): + for k in set(entry).difference(("_mtime_", "_eclasses_")): + entry[k] = "" + entry["EAPI"] = "-" + eapi + # by this time, if it reaches here, the eclass has been validated, and the entry has # been updated/translated (if needs be, for metadata/cache mainly) try: trg_cache[x] = entry |