Use constants for hardcoded *DEPEND lists.
authorZac Medico <zmedico@gentoo.org>
Wed, 26 Sep 2012 03:15:51 +0000 (20:15 -0700)
committerZac Medico <zmedico@gentoo.org>
Wed, 26 Sep 2012 03:15:51 +0000 (20:15 -0700)
bin/repoman
pym/_emerge/FakeVartree.py
pym/_emerge/Package.py
pym/_emerge/actions.py
pym/_emerge/depgraph.py
pym/portage/dep/_slot_operator.py
pym/portage/emaint/modules/move/move.py
pym/portage/package/ebuild/doebuild.py

index 6951bbe9171f1fd0c05d17731f27780ed2cae30c..6caf791de09b5965c1aadc41006846c4993db228 100755 (executable)
@@ -1872,11 +1872,11 @@ for x in effective_scanlist:
                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
@@ -1889,7 +1889,7 @@ for x in effective_scanlist:
                                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 + \
@@ -1932,7 +1932,7 @@ for x in effective_scanlist:
                                                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
@@ -2153,7 +2153,7 @@ for x in effective_scanlist:
                                        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]
index b3c913348a1a341dab2a6c52cd06f622ad03cee8..5fde8e16b1f1b02d9977d737d99d6dbc9a1e70b0 100644 (file)
@@ -75,8 +75,7 @@ class FakeVartree(vartree):
                        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
 
@@ -287,8 +286,7 @@ def grab_global_updates(portdb):
        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')
index 00d00fe2564e92a81d3a128527b5441aeaf37ef6..b60f74486684f6a269b106e878f8a30ed28eabf1 100644 (file)
@@ -41,7 +41,9 @@ class Package(Task):
                "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
 
index af7ae8f7e17e427176ebbf1655d8aaa937c38da2..f7ec07ab44780bffab8e18bc37624f3b8958e4f8 100644 (file)
@@ -1147,7 +1147,6 @@ def calc_depclean(settings, trees, ldpath_mtimes,
                graph = digraph()
                del cleanlist[:]
 
-               dep_keys = ["DEPEND", "HDEPEND", "RDEPEND", "PDEPEND"]
                runtime = UnmergeDepPriority(runtime=True)
                runtime_post = UnmergeDepPriority(runtime_post=True)
                buildtime = UnmergeDepPriority(buildtime=True)
@@ -1160,7 +1159,7 @@ def calc_depclean(settings, trees, ldpath_mtimes,
 
                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
index dee3f1f910b4d080950eb1e24d6fc6509a4c844f..4d731fb0df228336f8b218e7f0a92027cd155a89 100644 (file)
@@ -503,8 +503,6 @@ class _dynamic_depgraph_config(object):
 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):
@@ -1682,8 +1680,7 @@ class depgraph(object):
                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 \
@@ -2848,7 +2845,7 @@ class depgraph(object):
                        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:
index 9fe19fc5984999ed44a312cc4bba0f3a890a0d6c..d7933b5928fa45d74f032df5cc9ec9664a944aa2 100644 (file)
@@ -3,13 +3,11 @@
 
 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)))
@@ -43,11 +41,11 @@ def evaluate_slot_operator_equal_deps(settings, use, trees):
        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:
index 5e1d99492c5c0fc0fa369877280f8b9cd2df2266..29ff3300519647351930e1a386ee1be2fa0733ce 100644 (file)
@@ -3,14 +3,14 @@
 
 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)
 
index b50b452eaa241632964ce71da1735ff75cc22ed0..04d0808ae543f1a1a58561f82259ed3c81f42391 100644 (file)
@@ -93,6 +93,9 @@ _phase_func_map = {
        "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
@@ -1735,9 +1738,6 @@ def _post_src_install_write_metadata(settings):
                                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.