For bug #181551, support slot deps in package.keywords. (trunk r6790)
authorZac Medico <zmedico@gentoo.org>
Sun, 10 Jun 2007 19:35:15 +0000 (19:35 -0000)
committerZac Medico <zmedico@gentoo.org>
Sun, 10 Jun 2007 19:35:15 +0000 (19:35 -0000)
svn path=/main/branches/2.1.2/; revision=6791

pym/portage.py

index c53faafd0e2152a858670b82e464c32aa7818da1..bc2e979b7a1eab4c9da8b66d9c128b52c980e506 100644 (file)
@@ -6299,13 +6299,14 @@ class portdbapi(dbapi):
 
                accept_keywords = self.mysettings["ACCEPT_KEYWORDS"].split()
                pkgdict = self.mysettings.pkeywordsdict
+               aux_keys = ["KEYWORDS", "EAPI", "SLOT"]
                for mycpv in mylist:
                        try:
-                               keys, eapi = self.aux_get(mycpv, ["KEYWORDS", "EAPI"])
+                               keys, eapi, slot = self.aux_get(mycpv, aux_keys)
                        except KeyError:
                                continue
                        except portage_exception.PortageException, e:
-                               writemsg("!!! Error: aux_get('%s', ['KEYWORDS', 'EAPI'])\n" % \
+                               writemsg("!!! Error: aux_get('%s', %s)\n" % (mycpv, aux_keys),
                                        mycpv, noiselevel=-1)
                                writemsg("!!! %s\n" % str(e), noiselevel=-1)
                                del e
@@ -6316,7 +6317,8 @@ class portdbapi(dbapi):
                        match=0
                        cp = dep_getkey(mycpv)
                        if pkgdict.has_key(cp):
-                               matches = match_to_list(mycpv, pkgdict[cp].keys())
+                               cpv_slot = "%s:%s" % (mycpv, slot)
+                               matches = match_to_list(cpv_slot, pkgdict[cp].keys())
                                for atom in matches:
                                        pgroups.extend(pkgdict[cp][atom])
                                if matches: