summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-05-24 22:03:27 +0000
committerZac Medico <zmedico@gentoo.org>2008-05-24 22:03:27 +0000
commit535c83185b1f6990044b02cb9bdafb39a4bc2d3d (patch)
tree80a70e8640475d4a6bd6dc19a95cecfec769d8e7
parent22570f366563067cb6fafc683500dc8f57bf5e4d (diff)
downloadportage-535c83185b1f6990044b02cb9bdafb39a4bc2d3d.tar.gz
portage-535c83185b1f6990044b02cb9bdafb39a4bc2d3d.tar.bz2
portage-535c83185b1f6990044b02cb9bdafb39a4bc2d3d.zip
For dep_expand() backward compatibility, handle atoms with missing '='
prefix which did not raise an error here before the portage.dep.Atom class was introduced. svn path=/main/trunk/; revision=10394
-rw-r--r--pym/portage/__init__.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py
index a42f99894..dfe7ddeb0 100644
--- a/pym/portage/__init__.py
+++ b/pym/portage/__init__.py
@@ -5720,8 +5720,15 @@ def dep_expand(mydep, mydb=None, use_cache=1, settings=None):
myindex = orig_dep.index(mydep)
prefix = orig_dep[:myindex]
postfix = orig_dep[myindex+len(mydep):]
- return portage.dep.Atom(prefix + cpv_expand(
- mydep, mydb=mydb, use_cache=use_cache, settings=settings) + postfix)
+ expanded = cpv_expand(mydep, mydb=mydb,
+ use_cache=use_cache, settings=settings)
+ try:
+ return portage.dep.Atom(prefix + expanded + postfix)
+ except portage.exception.InvalidAtom:
+ # Missing '=' prefix is allowed for backward compatibility.
+ if not isvalidatom("=" + prefix + expanded + postfix):
+ raise
+ return portage.dep.Atom("=" + prefix + expanded + postfix)
def dep_check(depstring, mydbapi, mysettings, use="yes", mode=None, myuse=None,
use_cache=1, use_binaries=0, myroot="/", trees=None):