Merged from trunk -r15397:15407
authorFabian Groffen <grobian@gentoo.org>
Mon, 22 Feb 2010 12:58:01 +0000 (12:58 -0000)
committerFabian Groffen <grobian@gentoo.org>
Mon, 22 Feb 2010 12:58:01 +0000 (12:58 -0000)
   | 15398   | Use a valid atom in the dep_getkey docstring.                |
   | zmedico |                                                              |

   | 15399   | Use Atom.cp instead of dep_getkey.                           |
   | zmedico |                                                              |

   | 15400   | Use Atom.cp instead of dep_getkey.                           |
   | zmedico |                                                              |

   | 15401   | Use Atom.cp instead of dep_getkey.                           |
   | zmedico |                                                              |

   | 15402   | Remove deprecated key_expand function and                    |
   | zmedico | config.load_infodir method.                                  |

   | 15403   | Add DeprecationWarning to dep_virtual function.              |
   | zmedico |                                                              |

   | 15404   | Remove deprecated methods that call removed key_expand       |
   | zmedico | function.                                                    |

   | 15405   | Add stacklevel=2 to warnings.warn() calls.                   |
   | zmedico |                                                              |

   | 15406   | Add stacklevel=2 to warnings.warn calls.                     |
   | zmedico |                                                              |

   | 15407   | Use a frozenset for use inside binarytree._eval_use_flags(). |
   | zmedico |                                                              |

svn path=/main/branches/prefix/; revision=15431

pym/_emerge/depgraph.py
pym/portage/__init__.py
pym/portage/dbapi/bintree.py
pym/portage/dbapi/porttree.py
pym/portage/dbapi/vartree.py
pym/portage/dep.py
pym/portage/sets/base.py
pym/portage/sets/files.py

index ceb3062ad0b861691c6e2fca11a0aaba96e56ed6..a90d0a70898a2d96352bab64e6a0c8870289d8d3 100644 (file)
@@ -1819,8 +1819,7 @@ class depgraph(object):
                                                pprovided_match = False
                                                for virt_choice in virtuals.get(atom.cp, []):
                                                        expanded_atom = portage.dep.Atom(
-                                                               atom.replace(atom.cp,
-                                                               portage.dep_getkey(virt_choice), 1))
+                                                               atom.replace(atom.cp, virt_choice.cp, 1))
                                                        pprovided = pprovideddict.get(expanded_atom.cp)
                                                        if pprovided and \
                                                                portage.match_from_list(expanded_atom, pprovided):
@@ -3004,10 +3003,8 @@ class depgraph(object):
                        if provider_virtual:
                                atoms = []
                                for provider_entry in virtuals[blocker.cp]:
-                                       provider_cp = \
-                                               portage.dep_getkey(provider_entry)
                                        atoms.append(Atom(blocker.atom.replace(
-                                               blocker.cp, provider_cp)))
+                                               blocker.cp, provider_entry.cp, 1)))
                        else:
                                atoms = [blocker.atom]
 
@@ -5352,14 +5349,14 @@ class _dep_check_composite_db(portage.dbapi):
                if len(expanded_atoms) > 1:
                        non_virtual_atoms = []
                        for x in expanded_atoms:
-                               if not portage.dep_getkey(x).startswith("virtual/"):
+                               if not x.cp.startswith("virtual/"):
                                        non_virtual_atoms.append(x)
                        if len(non_virtual_atoms) == 1:
                                expanded_atoms = non_virtual_atoms
                if len(expanded_atoms) > 1:
                        # compatible with portage.cpv_expand()
                        raise portage.exception.AmbiguousPackageName(
-                               [portage.dep_getkey(x) for x in expanded_atoms])
+                               [x.cp for x in expanded_atoms])
                if expanded_atoms:
                        atom = expanded_atoms[0]
                else:
index 24bef01468e64f499016aef14b3c9aeafceb45c9..c2c8e142b49c7eaa1e840bd3a09c2709b367b536 100644 (file)
@@ -2463,11 +2463,6 @@ class config(object):
                                self.useforce_list, incremental=True))
                self.regenerate(use_cache=use_cache)
 
-       def load_infodir(self,infodir):
-               warnings.warn("portage.config.load_infodir() is deprecated",
-                       DeprecationWarning)
-               return 1
-
        class _lazy_vars(object):
 
                __slots__ = ('built_use', 'settings', 'values')
@@ -3298,7 +3293,10 @@ class config(object):
                modified = False
                cp = dep.Atom(cpv_getkey(mycpv))
                for virt in virts:
-                       virt = dep_getkey(virt)
+                       try:
+                               virt = dep.Atom(virt).cp
+                       except exception.InvalidAtom:
+                               continue
                        providers = self.virtuals.get(virt)
                        if providers and cp in providers:
                                continue
@@ -3704,7 +3702,7 @@ class config(object):
        def has_key(self,mykey):
                warnings.warn("portage.config.has_key() is deprecated, "
                        "use the in operator instead",
-                       DeprecationWarning)
+                       DeprecationWarning, stacklevel=2)
                return mykey in self
 
        def __contains__(self, mykey):
@@ -7793,6 +7791,8 @@ def unmerge(cat, pkg, myroot, mysettings, mytrimworld=1, vartree=None,
 
 def dep_virtual(mysplit, mysettings):
        "Does virtual dependency conversion"
+       warnings.warn("portage.dep_virtual() is deprecated",
+               DeprecationWarning, stacklevel=2)
        newsplit=[]
        myvirtuals = mysettings.getvirtuals()
        for x in mysplit:
@@ -8478,7 +8478,7 @@ def cpv_getkey(mycpv):
                return mysplit[0] + '/' + mysplit[1]
 
        warnings.warn("portage.cpv_getkey() called with invalid cpv: '%s'" \
-               % (mycpv,), DeprecationWarning)
+               % (mycpv,), DeprecationWarning, stacklevel=2)
 
        myslash = mycpv.split("/", 1)
        mysplit = versions._pkgsplit(myslash[-1])
@@ -8492,32 +8492,6 @@ def cpv_getkey(mycpv):
 
 getCPFromCPV = cpv_getkey
 
-def key_expand(mykey, mydb=None, use_cache=1, settings=None):
-       """This is deprecated because it just returns the first match instead of
-       raising AmbiguousPackageName like cpv_expand does."""
-       warnings.warn("portage.key_expand() is deprecated", DeprecationWarning)
-       mysplit=mykey.split("/")
-       if settings is None:
-               settings = globals()["settings"]
-       virts = settings.getvirtuals("/")
-       virts_p = settings.get_virts_p("/")
-       if len(mysplit)==1:
-               if hasattr(mydb, "cp_list"):
-                       for x in mydb.categories:
-                               if mydb.cp_list(x+"/"+mykey,use_cache=use_cache):
-                                       return dep.Atom(x + "/" + mykey)
-                       if mykey in virts_p:
-                               return(virts_p[mykey][0])
-               return dep.Atom("null/" + mykey)
-       elif mydb:
-               if hasattr(mydb, "cp_list"):
-                       if not mydb.cp_list(mykey, use_cache=use_cache) and \
-                               virts and mykey in virts:
-                               return virts[mykey][0]
-               if not isinstance(mykey, dep.Atom):
-                       mykey = dep.Atom(mykey)
-               return mykey
-
 def cpv_expand(mycpv, mydb=None, use_cache=1, settings=None):
        """Given a string (packagename or virtual) expand it into a valid
        cat/package string. Virtuals use the mydb to determine which provided
@@ -8549,7 +8523,7 @@ def cpv_expand(mycpv, mydb=None, use_cache=1, settings=None):
                                                # it may be necessary to remove the operator and
                                                # version from the atom before it is passed into
                                                # dbapi.cp_list().
-                                               if mydb.cp_list(dep_getkey(vkey), use_cache=use_cache):
+                                               if mydb.cp_list(vkey.cp):
                                                        mykey = str(vkey)
                                                        writemsg(_("virts chosen: %s\n") % (mykey), 1)
                                                        break
index 393d59d58df2d6f76a9bdfe80bdd3e59c0617ab1..8161167a473016518bae24884edb7e2868ba8dbb 100644 (file)
@@ -460,7 +460,7 @@ class binarytree(object):
                        warnings.warn(
                                "portage.dbapi.bintree.binarytree.populate(): " + \
                                "getbinpkgsonly parameter is deprecated",
-                               DeprecationWarning)
+                               DeprecationWarning, stacklevel=2)
 
                if self._populating:
                        return
@@ -1049,7 +1049,7 @@ class binarytree(object):
                return False
 
        def _eval_use_flags(self, cpv, metadata):
-               use = metadata["USE"].split()
+               use = frozenset(metadata["USE"].split())
                raw_use = use
                iuse = set(f.lstrip("-+") for f in metadata["IUSE"].split())
                use = [f for f in use if f in iuse]
index a4cf16fc056755729863bf579994099a14aec784..7cae96796fe7c668c9a919bb143aeabb4bf4ef6b 100644 (file)
@@ -25,7 +25,7 @@ from portage.localization import _
 from portage.manifest import Manifest
 
 from portage import eclass_cache, auxdbkeys, doebuild, flatten, \
-       listdir, dep_expand, eapi_is_supported, key_expand, dep_check, \
+       listdir, dep_expand, eapi_is_supported, dep_check, \
        _eapi_is_deprecated
 from portage import os
 from portage import _encodings
@@ -171,7 +171,7 @@ class portdbapi(dbapi):
                                "portage.dbapi.porttree.portdbapi" + \
                                " constructor is now unused. Use " + \
                                "mysettings['PORTDIR'] instead.",
-                               DeprecationWarning)
+                               DeprecationWarning, stacklevel=2)
 
                # This is strictly for use in aux_get() doebuild calls when metadata
                # is generated by the depend phase.  It's safest to use a clone for
@@ -1227,20 +1227,6 @@ class portagetree(object):
                psplit = pkgsplit(mysplit[1])
                return "/".join([self.portroot, mysplit[0], psplit[0], mysplit[1]])+".ebuild"
 
-       def resolve_specific(self, myspec):
-               warnings.warn(
-                       "portage.dbapi.porttree.portagetree.resolve_specific() is deprecated",
-                       DeprecationWarning)
-               cps = catpkgsplit(myspec)
-               if not cps:
-                       return None
-               mykey = key_expand(cps[0]+"/"+cps[1], mydb=self.dbapi,
-                       settings=self.settings)
-               mykey = mykey + "-" + cps[2]
-               if cps[3] != "r0":
-                       mykey = mykey + "-" + cps[3]
-               return mykey
-
        def depcheck(self, mycheck, use="yes", myusesplit=None):
                return dep_check(mycheck, self.dbapi, use=use, myuse=myusesplit)
 
index 0c79d333caf69276e707333131c629a15584807e..ce38c2892ab5576e852fe02583b95b788f44812b 100644 (file)
@@ -33,7 +33,7 @@ from portage.exception import CommandNotFound, \
        FileNotFound, PermissionDenied, UnsupportedAPIException
 from portage.localization import _
 
-from portage import listdir, dep_expand, digraph, flatten, key_expand, \
+from portage import listdir, dep_expand, digraph, flatten, \
        doebuild_environment, doebuild, env_update, prepare_build_dirs, \
        abssymlink, movefile, _movefile, bsd_chflags, cpv_getkey
 
@@ -2689,7 +2689,7 @@ class vartree(object):
                        self.root = root[:]
                        if settings is None:
                                from portage import settings
-                       self.settings = settings # for key_expand calls
+                       self.settings = settings
                        if categories is None:
                                categories = settings.categories
                        self.dbapi = vardbapi(self.root, categories=categories,
@@ -2774,50 +2774,10 @@ class vartree(object):
                masked package for nodes in this nodes list."""
                return self.dbapi.cp_all()
 
-       def exists_specific_cat(self, cpv, use_cache=1):
-               warnings.warn(
-                       "portage.dbapi.vartree.vartree.exists_specific_cat() is deprecated",
-                       DeprecationWarning)
-               cpv = key_expand(cpv, mydb=self.dbapi, use_cache=use_cache,
-                       settings=self.settings)
-               a = catpkgsplit(cpv)
-               if not a:
-                       return 0
-               mylist = listdir(self.getpath(a[0]), EmptyOnError=1)
-               for x in mylist:
-                       b = pkgsplit(x)
-                       if not b:
-                               self.dbapi.invalidentry(self.getpath(a[0], filename=x))
-                               continue
-                       if a[1] == b[0]:
-                               return 1
-               return 0
-
        def getebuildpath(self, fullpackage):
                cat, package = catsplit(fullpackage)
                return self.getpath(fullpackage, filename=package+".ebuild")
 
-       def getnode(self, mykey, use_cache=1):
-               warnings.warn(
-                       "portage.dbapi.vartree.vartree.getnode() is deprecated",
-                       DeprecationWarning)
-               mykey = key_expand(mykey, mydb=self.dbapi, use_cache=use_cache,
-                       settings=self.settings)
-               if not mykey:
-                       return []
-               mysplit = catsplit(mykey)
-               mydirlist = listdir(self.getpath(mysplit[0]),EmptyOnError=1)
-               returnme = []
-               for x in mydirlist:
-                       mypsplit = pkgsplit(x)
-                       if not mypsplit:
-                               self.dbapi.invalidentry(self.getpath(mysplit[0], filename=x))
-                               continue
-                       if mypsplit[0] == mysplit[1]:
-                               appendme = [mysplit[0]+"/"+x, [mysplit[0], mypsplit[0], mypsplit[1], mypsplit[2]]]
-                               returnme.append(appendme)
-               return returnme
-
        def getslot(self, mycatpkg):
                "Get a slot for a catpkg; assume it exists."
                try:
@@ -2825,24 +2785,6 @@ class vartree(object):
                except KeyError:
                        return ""
 
-       def hasnode(self, mykey, use_cache):
-               """Does the particular node (cat/pkg key) exist?"""
-               warnings.warn(
-                       "portage.dbapi.vartree.vartree.hadnode() is deprecated",
-                       DeprecationWarning)
-               mykey = key_expand(mykey, mydb=self.dbapi, use_cache=use_cache,
-                       settings=self.settings)
-               mysplit = catsplit(mykey)
-               mydirlist = listdir(self.getpath(mysplit[0]), EmptyOnError=1)
-               for x in mydirlist:
-                       mypsplit = pkgsplit(x)
-                       if not mypsplit:
-                               self.dbapi.invalidentry(self.getpath(mysplit[0], filename=x))
-                               continue
-                       if mypsplit[0] == mysplit[1]:
-                               return 1
-               return 0
-
        def populate(self):
                self.populated=1
 
index c0abdcbdea3ea0f5d863709183c6fe747bd70931..e2eeb6d5bf34b6b2386880df95be1e036669a224 100644 (file)
@@ -923,7 +923,7 @@ def dep_getkey(mydep):
        Return the category/package-name of a depstring.
 
        Example usage:
-               >>> dep_getkey('media-libs/test-3.0')
+               >>> dep_getkey('=media-libs/test-3.0')
                'media-libs/test'
 
        @param mydep: The depstring to retrieve the category/package-name of
index 216c8cc1653f7f05944ca2c20cfc5fa1c9f01217..0d88d0efb829b891d590a3dde7a72274fca2348b 100644 (file)
@@ -5,7 +5,7 @@
 import sys
 from portage import cpv_getkey, flatten
 from portage.dep import Atom, isvalidatom, match_from_list, \
-     best_match_to_list, dep_getkey, use_reduce, paren_reduce
+     best_match_to_list, use_reduce, paren_reduce
 from portage.exception import InvalidAtom
 
 if sys.hexversion >= 0x3000000:
@@ -153,7 +153,10 @@ class PackageSet(object):
                        return
                provides = provides.split()
                for provide in provides:
-                       provided_cp = dep_getkey(provide)
+                       try:
+                               provided_cp = Atom(provide).cp
+                       except InvalidAtom:
+                               continue
                        atoms = self._atommap.get(provided_cp)
                        if atoms:
                                for atom in atoms:
@@ -201,7 +204,7 @@ class EditablePackageSet(PackageSet):
        def removePackageAtoms(self, cp):
                self._load()
                for a in list(self._atoms):
-                       if dep_getkey(a) == cp:
+                       if a.cp == cp:
                                self.remove(a)
                self.write()
 
index eac98d6ae50e77dafdc9a85a85d561732f1edc77..de606d675d6b9d36ecbe100153b1beba9440dfdc 100644 (file)
@@ -18,7 +18,7 @@ from portage.sets.base import PackageSet, EditablePackageSet
 from portage.sets import SetConfigError, SETPREFIX, get_boolean
 from portage.env.loaders import ItemFileLoader, KeyListFileLoader
 from portage.env.validators import ValidAtomValidator
-from portage import dep_getkey, cpv_getkey
+from portage import cpv_getkey
 
 __all__ = ["StaticFileSet", "ConfigFileSet", "WorldSelectedSet"]
 
@@ -304,7 +304,7 @@ class WorldSelectedSet(EditablePackageSet):
                mykey = cpv_getkey(cpv)
                newworldlist = []
                for x in worldlist:
-                       if dep_getkey(x) == mykey:
+                       if x.cp == mykey:
                                matches = vardb.match(x, use_cache=0)
                                if not matches:
                                        #zap our world entry