From 06746f86b4c00ede5f7999e2e16e60f90d8f0b3a Mon Sep 17 00:00:00 2001 From: Sebastian Luther Date: Tue, 30 Mar 2010 20:21:09 +0200 Subject: Allow running pkg_info on non-installed packages --- pym/_emerge/main.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'pym/_emerge/main.py') 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 " + \ -- cgit v1.2.3-1-g7c22