diff options
author | Sebastian Luther <SebastianLuther@gmx.de> | 2010-03-30 20:21:09 +0200 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2010-03-31 14:36:20 -0700 |
commit | 06746f86b4c00ede5f7999e2e16e60f90d8f0b3a (patch) | |
tree | 4537d990aab95b5e551ce2d1daa5568b5e3c5860 /pym/_emerge/main.py | |
parent | 59d910bceb96d1c68687f3a10dbb5147063e6b02 (diff) | |
download | portage-06746f86b4c00ede5f7999e2e16e60f90d8f0b3a.tar.gz portage-06746f86b4c00ede5f7999e2e16e60f90d8f0b3a.tar.bz2 portage-06746f86b4c00ede5f7999e2e16e60f90d8f0b3a.zip |
Allow running pkg_info on non-installed packages
Diffstat (limited to 'pym/_emerge/main.py')
-rw-r--r-- | pym/_emerge/main.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py index 3e89e2905..21888f590 100644 --- a/pym/_emerge/main.py +++ b/pym/_emerge/main.py @@ -1498,12 +1498,21 @@ def emerge_main(): # Ensure atoms are valid before calling unmerge(). vardb = trees[settings["ROOT"]]["vartree"].dbapi + portdb = trees[settings["ROOT"]]["porttree"].dbapi + bindb = trees[settings["ROOT"]]["bintree"].dbapi valid_atoms = [] for x in myfiles: if is_valid_package_atom(x): try: - valid_atoms.append( - dep_expand(x, mydb=vardb, settings=settings)) + #look at the installed files first, if there is no match + #look at the ebuilds, since EAPI 4 allows running pkg_info + #on non-installed packages + valid_atom = dep_expand(x, mydb=vardb, settings=settings) + if valid_atom.cp.split("/")[0] == "null": + valid_atom = dep_expand(x, mydb=portdb, settings=settings) + if valid_atom.cp.split("/")[0] == "null" and "--usepkg" in myopts: + valid_atom = dep_expand(x, mydb=bindb, settings=settings) + valid_atoms.append(valid_atom) except portage.exception.AmbiguousPackageName as e: msg = "The short ebuild name \"" + x + \ "\" is ambiguous. Please specify " + \ |