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):
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]
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:
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')
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
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):
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:
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])
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
# 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
warnings.warn(
"portage.dbapi.bintree.binarytree.populate(): " + \
"getbinpkgsonly parameter is deprecated",
- DeprecationWarning)
+ DeprecationWarning, stacklevel=2)
if self._populating:
return
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]
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
"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
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)
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
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,
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:
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
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
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:
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:
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()
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"]
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