inherited_wxwidgets_eclass = "wxwidgets" in inherited
operator_tokens = set(["||", "(", ")"])
type_list, badsyntax = [], []
- for mytype in ("DEPEND", "HDEPEND", "RDEPEND", "PDEPEND",
- "LICENSE", "PROPERTIES", "PROVIDE"):
+ for mytype in Package._dep_keys + ("LICENSE", "PROPERTIES", "PROVIDE"):
mydepstr = myaux[mytype]
- buildtime = mytype in ('DEPEND', 'HDEPEND')
+ buildtime = mytype in Package._buildtime_keys
+ runtime = mytype in Package._runtime_keys
token_class = None
if mytype.endswith("DEPEND"):
token_class=portage.dep.Atom
badsyntax.append(str(e))
if atoms and mytype.endswith("DEPEND"):
- if mytype in ("RDEPEND", "PDEPEND") and \
+ if runtime and \
"test?" in mydepstr.split():
stats[mytype + '.suspect'] += 1
fails[mytype + '.suspect'].append(relative_path + \
fails['wxwidgets.eclassnotused'].append(
(relative_path + ": %ss on x11-libs/wxGTK"
" without inheriting wxwidgets.eclass") % mytype)
- elif mytype in ("PDEPEND", "RDEPEND"):
+ elif runtime:
if not is_blocker and \
atom.cp in suspect_rdepend:
stats[mytype + '.suspect'] += 1
if prof.status == "dev":
suffix=suffix+"indev"
- for mytype in ("DEPEND", "HDEPEND", "PDEPEND", "RDEPEND"):
+ for mytype in Package._dep_keys:
mykey = "dependency.bad" + suffix
myvalue = myaux[mytype]
self.dbapi.aux_get = self._aux_get_wrapper
self.dbapi.match = self._match_wrapper
self._aux_get_history = set()
- self._portdb_keys = ["EAPI", "DEPEND", "HDEPEND",
- "KEYWORDS", "PDEPEND", "RDEPEND"]
+ self._portdb_keys = Package._dep_keys + ("EAPI", "KEYWORDS")
self._portdb = portdb
self._global_updates = None
return retupdates
def perform_global_updates(mycpv, mydb, myupdates):
- aux_keys = ["DEPEND", "EAPI", "HDEPEND",
- "RDEPEND", "PDEPEND", 'repository']
+ aux_keys = Package._dep_keys + ("EAPI", 'repository')
aux_dict = dict(zip(aux_keys, mydb.aux_get(mycpv, aux_keys)))
eapi = aux_dict.pop('EAPI')
repository = aux_dict.pop('repository')
"repository", "PROPERTIES", "RESTRICT", "SLOT", "USE",
"_mtime_", "DEFINED_PHASES", "REQUIRED_USE"]
- _dep_keys = ('DEPEND', 'HDEPEND' 'PDEPEND', 'RDEPEND',)
+ _dep_keys = ('DEPEND', 'HDEPEND', 'PDEPEND', 'RDEPEND')
+ _buildtime_keys = ('DEPEND', 'HDEPEND')
+ _runtime_keys = ('PDEPEND', 'RDEPEND')
_use_conditional_misc_keys = ('LICENSE', 'PROPERTIES', 'RESTRICT')
UNKNOWN_REPO = _unknown_repo
graph = digraph()
del cleanlist[:]
- dep_keys = ["DEPEND", "HDEPEND", "RDEPEND", "PDEPEND"]
runtime = UnmergeDepPriority(runtime=True)
runtime_post = UnmergeDepPriority(runtime_post=True)
buildtime = UnmergeDepPriority(buildtime=True)
for node in clean_set:
graph.add(node, None)
- for dep_type in dep_keys:
+ for dep_type in Package._dep_keys:
depstr = node.metadata[dep_type]
if not depstr:
continue
class depgraph(object):
pkg_tree_map = RootConfig.pkg_tree_map
-
- _dep_keys = ["DEPEND", "RDEPEND", "PDEPEND", "HDEPEND"]
def __init__(self, settings, trees, myopts, myparams, spinner,
frozen_config=None, backtrack_parameters=BacktrackParameter(), allow_backtracking=False):
eapi_attrs = _get_eapi_attrs(pkg.metadata["EAPI"])
edepend={}
- depkeys = ["DEPEND","RDEPEND","PDEPEND","HDEPEND"]
- for k in depkeys:
+ for k in Package._dep_keys:
edepend[k] = metadata[k]
if not pkg.built and \
return [pkg.slot_atom for pkg in greedy_pkgs]
blockers = {}
- blocker_dep_keys = ["DEPEND", "PDEPEND", "RDEPEND", "HDEPEND"]
+ blocker_dep_keys = Package._dep_keys
for pkg in greedy_pkgs + [highest_pkg]:
dep_str = " ".join(pkg.metadata[k] for k in blocker_dep_keys)
try:
from portage.dep import Atom, paren_enclose, use_reduce
from portage.exception import InvalidData
-
-_dep_keys = ('DEPEND', 'HDEPEND', 'PDEPEND', 'RDEPEND')
-_runtime_keys = ('PDEPEND', 'RDEPEND')
+from _emerge.Package import Package
def find_built_slot_operator_atoms(pkg):
atoms = {}
- for k in _dep_keys:
+ for k in Package._dep_keys:
atom_list = list(_find_built_slot_operator(use_reduce(pkg.metadata[k],
uselist=pkg.use.enabled, eapi=pkg.metadata['EAPI'],
token_class=Atom)))
target_vardb = trees[trees._target_eroot]["vartree"].dbapi
vardbs = [target_vardb]
deps = {}
- for k in _dep_keys:
+ for k in Package._dep_keys:
deps[k] = use_reduce(metadata[k],
uselist=use, eapi=eapi, token_class=Atom)
- for k in _runtime_keys:
+ for k in Package._runtime_keys:
_eval_deps(deps[k], vardbs)
if running_vardb is not target_vardb:
import portage
from portage import os
-
+from _emerge.Package import Package
class MoveHandler(object):
def __init__(self, tree, porttree):
self._tree = tree
self._portdb = porttree.dbapi
- self._update_keys = ["DEPEND", "HDEPEND", "RDEPEND", "PDEPEND", "PROVIDE"]
+ self._update_keys = ["PROVIDE"] + list(Package._dep_keys)
self._master_repo = \
self._portdb.getRepositoryName(self._portdb.porttree_root)
"pretend": "pkg_pretend",
}
+_vdb_use_conditional_keys = Package._dep_keys + \
+ ('LICENSE', 'PROPERTIES', 'PROVIDE', 'RESTRICT',)
+
def _doebuild_spawn(phase, settings, actionmap=None, **kwargs):
"""
All proper ebuild phases which execute ebuild.sh are spawned
errors='strict') as f:
f.write(_unicode_decode(v + '\n'))
-_vdb_use_conditional_keys = ('DEPEND', 'HDEPEND', 'LICENSE', 'PDEPEND',
- 'PROPERTIES', 'PROVIDE', 'RDEPEND', 'RESTRICT',)
-
def _preinst_bsdflags(mysettings):
if bsd_chflags:
# Save all the file flags for restoration later.