summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/main.py
diff options
context:
space:
mode:
authorSebastian Luther <SebastianLuther@gmx.de>2010-03-30 20:21:09 +0200
committerZac Medico <zmedico@gentoo.org>2010-03-31 14:36:20 -0700
commit06746f86b4c00ede5f7999e2e16e60f90d8f0b3a (patch)
tree4537d990aab95b5e551ce2d1daa5568b5e3c5860 /pym/_emerge/main.py
parent59d910bceb96d1c68687f3a10dbb5147063e6b02 (diff)
downloadportage-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.py13
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 " + \