A random example: # echo "x11-libs/qt" >> /etc/portage/profile/package.provided # emerge -pv scribus These are the packages that I would merge, in order: Calculating dependencies - Invalid package name: x11-libs/qt # This is not a very illuminating error message. Note that versionless items in package.provided work as expected for depstrings without version specifiers.
Obviously the fix to this depends on whether a versionless package name in package.provided should be understood to satisfy depstrings with version specifiers. The way I understand it, it should not. In that case, something like this should work: @@ -3914,8 +3914,11 @@ def match_from_list(mydep,candidate_list elif operator in [">", ">=", "<", "<="]: for x in candidate_list: + xs = pkgsplit(x) + if xs == None: + continue try: - result = pkgcmp(pkgsplit(x), [cat+"/"+pkg,ver,rev]) + result = pkgcmp(xs, [cat+"/"+pkg,ver,rev]) except SystemExit, e: raise except:
No. package.provided represents packages that you have installed that aren't managed by portage. It is not possible that you could have a package installed that does not have a version.