Bug #262485 - Handle InvalidAtom from dep_expand(). (trunk r13116)
authorZac Medico <zmedico@gentoo.org>
Tue, 17 Mar 2009 19:13:33 +0000 (19:13 -0000)
committerZac Medico <zmedico@gentoo.org>
Tue, 17 Mar 2009 19:13:33 +0000 (19:13 -0000)
svn path=/main/branches/2.1.6/; revision=13123

bin/quickpkg

index 92bce027cd8f4deffde27badb9ead940dd3950e7..80bb98b320c2640e5abe400273042eddf3b620bd 100755 (executable)
@@ -10,7 +10,7 @@ def quickpkg_main(options, args, eout):
        from portage import catsplit, dep_expand, flatten, isvalidatom, xpak
        from portage.dep import use_reduce, paren_reduce
        from portage.util import ConfigProtect, ensure_dirs
-       from portage.exception import InvalidData, InvalidDependString
+       from portage.exception import InvalidAtom, InvalidData, InvalidDependString
        from portage.dbapi.vartree import dblink, tar_contents
        from portage.checksum import perform_md5
        import tarfile
@@ -43,15 +43,16 @@ def quickpkg_main(options, args, eout):
                        del e
                        missing.append(arg)
                        continue
-               except InvalidData, e:
-                       eout.eerror("Invalid atom: %s" % str(e))
-                       del e
+               except (InvalidAtom, InvalidData):
+                       eout.eerror("Invalid atom: %s" % (arg,))
                        missing.append(arg)
                        continue
-               if not isvalidatom(atom):
-                       eout.eerror("Invalid atom: %s" % atom)
+               if atom[:1] == '=' and arg[:1] != '=':
+                       # dep_expand() allows missing '=' but it's really invalid
+                       eout.eerror("Invalid atom: %s" % (arg,))
                        missing.append(arg)
                        continue
+
                matches = vardb.match(atom)
                pkgs_for_arg = 0
                for cpv in matches: