--- equery 2004-04-20 00:51:31.285820076 -0700 +++ equery.new 2004-04-20 00:51:41.902798437 -0700 @@ -458,6 +458,7 @@ pkgtbl.append(cpv) + try: for x in pkg.get_runtime_deps(): suffix = "" cpv = x[2] @@ -471,6 +472,14 @@ if len(x[1]) and opts["displayUSEFlags"]: suffix += " [ " + string.join(x[1]) + " ]" pkgtbl = self._graph(pkg, opts, level+1, pkgtbl, suffix) + except KeyError: + # This package's ebuild file could not be found. Installed version could be too old. + # Portage module has already printed a warning. Add a message to clarify. + # It would be better in this case for Portage to not print the message. + indent = level + 1 + if opts["fancyFormatting"]: + indent = indent + 4 + print indent*" " + "(dependencies unknown -- ebuild missing)" return pkgtbl def shortHelp(self): @@ -819,7 +828,12 @@ pkgmask = 0 if pkg.is_masked(): pkgmask = pkgmask + 3 + try: keywords = pkg.get_env_var("KEYWORDS").split() + except KeyError: + # ebuild does not exist. + print (5+1+4+1)*" " + pkg.get_cpv() + " (unknown -- ebuild missing)" + continue if "~"+gentoolkit.settings["ARCH"] in keywords: pkgmask = pkgmask + 1 elif "-*" in keywords or "-"+gentoolkit.settings["ARCH"] in keywords: