is_valid_package_atom: fix circular import
authorZac Medico <zmedico@gentoo.org>
Mon, 11 Jul 2011 14:08:30 +0000 (07:08 -0700)
committerZac Medico <zmedico@gentoo.org>
Mon, 11 Jul 2011 14:08:30 +0000 (07:08 -0700)
Due to a quirk in python import behavior, this only failed
nondeterministically. However, the new preinst sanity test in the
portage-9999 ebuild tends to trigger it more often for some people.

pym/_emerge/depgraph.py
pym/_emerge/is_valid_package_atom.py

index d0b8fb72292ba84c1c6be05fea259aafde7a89cb..a4b04f6982942ce01281ec93df56ca6b1c10ea40 100644 (file)
@@ -7,7 +7,6 @@ import difflib
 import errno
 import io
 import logging
-import re
 import stat
 import sys
 import textwrap
@@ -49,7 +48,8 @@ from _emerge.DepPriorityNormalRange import DepPriorityNormalRange
 from _emerge.DepPrioritySatisfiedRange import DepPrioritySatisfiedRange
 from _emerge.FakeVartree import FakeVartree
 from _emerge._find_deep_system_runtime_deps import _find_deep_system_runtime_deps
-from _emerge.is_valid_package_atom import is_valid_package_atom
+from _emerge.is_valid_package_atom import insert_category_into_atom, \
+       is_valid_package_atom
 from _emerge.Package import Package
 from _emerge.PackageArg import PackageArg
 from _emerge.PackageVirtualDbapi import PackageVirtualDbapi
@@ -6690,15 +6690,6 @@ def ambiguous_package_name(arg, atoms, root_config, spinner, myopts):
        writemsg("!!! The short ebuild name \"%s\" is ambiguous. Please specify\n" % arg, noiselevel=-1)
        writemsg("!!! one of the above fully-qualified ebuild names instead.\n\n", noiselevel=-1)
 
-def insert_category_into_atom(atom, category):
-       alphanum = re.search(r'\w', atom)
-       if alphanum:
-               ret = atom[:alphanum.start()] + "%s/" % category + \
-                       atom[alphanum.start():]
-       else:
-               ret = None
-       return ret
-
 def _spinner_start(spinner, myopts):
        if spinner is None:
                return
index d33cf45570c60dae0569301e9b4d33fa015c4f83..7cb2a5bb1ee700081daf5c0d229f160135a4eb9d 100644 (file)
@@ -1,13 +1,21 @@
-# Copyright 1999-2009 Gentoo Foundation
+# Copyright 1999-2011 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 import re
-import portage
-import _emerge.depgraph
+from portage.dep import isvalidatom
+
+def insert_category_into_atom(atom, category):
+       alphanum = re.search(r'\w', atom)
+       if alphanum:
+               ret = atom[:alphanum.start()] + "%s/" % category + \
+                       atom[alphanum.start():]
+       else:
+               ret = None
+       return ret
 
 def is_valid_package_atom(x, allow_repo=False):
        if "/" not in x:
-               x2 = _emerge.depgraph.insert_category_into_atom(x, 'cat')
+               x2 = insert_category_into_atom(x, 'cat')
                if x2 != None:
                        x = x2
-       return portage.isvalidatom(x, allow_blockers=False, allow_repo=allow_repo)
+       return isvalidatom(x, allow_blockers=False, allow_repo=allow_repo)