Delete portage.dbapi.porttree._repo_info class and _repo_info attribute of
authorArfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Fri, 9 Dec 2011 05:51:26 +0000 (06:51 +0100)
committerArfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Fri, 9 Dec 2011 05:51:26 +0000 (06:51 +0100)
portage.dbapi.porttree.portdbapi objects. Migrate consumers to repositories
attribute of portage.dbapi.porttree.portdbapi objects.

bin/egencache
bin/repoman
pym/_emerge/actions.py
pym/portage/dbapi/porttree.py
pym/portage/package/ebuild/doebuild.py

index 3329a07caa0518a8b19f0e75a66a2113604a73a6..ba1f18873909ff60f4e880f813675e543a04b767 100755 (executable)
@@ -203,7 +203,7 @@ class GenCache(object):
                # findname, cp_list, and cpv_list to the desired tree.
                tree = portdb.porttrees[0]
                self._portdb = portdb
-               self._eclass_db = portdb._repo_info[tree].eclass_db
+               self._eclass_db = portdb.repositories.get_repo_for_location(tree).eclass_db
                self._auxdbkeys = portdb._known_keys
                # We can globally cleanse stale cache only if we
                # iterate over every single cp.
index 8f42a38d09d6c882b5d1f09c5188903d7bc8fdc3..fc5000f7eba64a0df34c646e52df062c80d741e1 100755 (executable)
@@ -584,8 +584,8 @@ portdb = trees[root]['porttree'].dbapi
 # that are specified in layout.conf.
 repodir = os.path.realpath(portdir_overlay)
 repo_config = repoman_settings.repositories.get_repo_for_location(repodir)
-repo_info = portdb._repo_info[repodir]
-portdb.porttrees = list(repo_info.eclass_db.porttrees)
+eclass_db = portdb.repositories.get_repo_for_location(repodir).eclass_db
+portdb.porttrees = list(eclass_db.porttrees)
 portdir = portdb.porttrees[0]
 
 # In order to disable manifest signatures, repos may set
@@ -673,7 +673,7 @@ logging.info('PORTDIR_OVERLAY = "%s"' % env['PORTDIR_OVERLAY'])
 env['FEATURES'] = env.get('FEATURES', '') + ' -unknown-features-warn'
 
 categories = []
-for path in repo_info.eclass_db.porttrees:
+for path in eclass_db.porttrees:
        categories.extend(portage.util.grabfile(
                os.path.join(path, 'profiles', 'categories')))
 repoman_settings.categories = frozenset(
index 54c97743da62bfe3ee10247fcf364faaa1fcd8d8..b7b3b90e7bf594b381afc729b78a222e1ba7bab3 100644 (file)
@@ -1672,7 +1672,7 @@ def action_metadata(settings, portdb, myopts, porttrees=None):
 
                if src_db is not None:
                        porttrees_data.append(TreeData(portdb.auxdb[path],
-                               portdb._repo_info[path].eclass_db, path, src_db))
+                               portdb.repositories.get_repo_for_location(path).eclass_db, path, src_db))
 
        porttrees = [tree_data.path for tree_data in porttrees_data]
 
index 94961dda18887af69394511209d89b02162ce4a4..e483edb93d473eeb22929679ba630c8ad3d2ed33 100644 (file)
@@ -46,15 +46,6 @@ if sys.hexversion >= 0x3000000:
        basestring = str
        long = int
 
-class _repo_info(object):
-       __slots__ = ('name', 'path', 'eclass_db', 'portdir', 'portdir_overlay')
-       def __init__(self, name, path, eclass_db):
-               self.name = name
-               self.path = path
-               self.eclass_db = eclass_db
-               self.portdir = eclass_db.porttrees[0]
-               self.portdir_overlay = ' '.join(eclass_db.porttrees[1:])
-
 class portdbapi(dbapi):
        """this tree will scan a portage directory located at root (passed to init)"""
        portdbapi_instances = []
@@ -124,14 +115,6 @@ class portdbapi(dbapi):
                self.xcache = {}
                self.frozen = 0
 
-               #Create eclass dbs
-               self._repo_info = {}
-               for repo in self.repositories:
-                       if repo.location in self._repo_info:
-                               continue
-
-                       self._repo_info[repo.location] = _repo_info(repo.name, repo.location, repo.eclass_db)
-
                #Keep a list of repo names, sorted by priority (highest priority first).
                self._ordered_repo_name_list = tuple(reversed(self.repositories.prepos_order))
 
@@ -211,7 +194,7 @@ class portdbapi(dbapi):
                        self._known_keys, readonly=True)
                if cache is not None:
                        try:
-                               cache.ec = self._repo_info[tree].eclass_db
+                               cache.ec = self.repositories.get_repo_for_location(tree).eclass_db
                        except AttributeError:
                                pass
                return cache
@@ -362,8 +345,7 @@ class portdbapi(dbapi):
                metadata = dict(i)
 
                if metadata.get("INHERITED", False):
-                       metadata["_eclasses_"] = self._repo_info[repo_path
-                               ].eclass_db.get_eclass_data(metadata["INHERITED"].split())
+                       metadata["_eclasses_"] = self.repositories.get_repo_for_location(repo_path).eclass_db.get_eclass_data(metadata["INHERITED"].split())
                else:
                        metadata["_eclasses_"] = {}
 
@@ -423,7 +405,7 @@ class portdbapi(dbapi):
                if ro_auxdb is not None:
                        auxdbs.append(ro_auxdb)
                auxdbs.append(self.auxdb[repo_path])
-               eclass_db = self._repo_info[repo_path].eclass_db
+               eclass_db = self.repositories.get_repo_for_location(repo_path).eclass_db
 
                for auxdb in auxdbs:
                        try:
index e42d9a41c9100fad02dcefab3fefc3e3bca894c1..4955c662b152fc7285ba990c822bea2706059126 100644 (file)
@@ -239,11 +239,11 @@ def doebuild_environment(myebuild, mydo, myroot=None, settings=None,
        mysettings["FILESDIR"] = pkg_dir+"/files"
        mysettings["PF"]       = mypv
 
-       if hasattr(mydbapi, '_repo_info'):
-               repo_info = mydbapi._repo_info[mytree]
-               mysettings['PORTDIR'] = repo_info.portdir
-               mysettings['PORTDIR_OVERLAY'] = repo_info.portdir_overlay
-               mysettings.configdict["pkg"]["PORTAGE_REPO_NAME"] = repo_info.name
+       if hasattr(mydbapi, 'repositories'):
+               repo = mydbapi.repositories.get_repo_for_location(mytree)
+               mysettings['PORTDIR'] = repo.eclass_db.porttrees[0]
+               mysettings['PORTDIR_OVERLAY'] = ' '.join(repo.eclass_db.porttrees[1:])
+               mysettings.configdict["pkg"]["PORTAGE_REPO_NAME"] = repo.name
 
        mysettings["PORTDIR"] = os.path.realpath(mysettings["PORTDIR"])
        mysettings["DISTDIR"] = os.path.realpath(mysettings["DISTDIR"])