aboutsummaryrefslogtreecommitdiffstats
path: root/lib/bb
diff options
context:
space:
mode:
authorMichael 'Mickey' Lauer <mickey@vanille-media.de>2005-06-01 14:08:52 +0000
committerMichael 'Mickey' Lauer <mickey@vanille-media.de>2005-06-01 14:08:52 +0000
commit3b29d981085aa7338c7863123537bb8468f5584c (patch)
treea15bbfce76a4f1dc486347681cb6c41a11ee72a1 /lib/bb
parent92eb4f94106f2b438a92bff9de4dcb29de76f6d2 (diff)
downloadbitbake-3b29d981085aa7338c7863123537bb8468f5584c.tar.gz
use cooker.findBestProvider() for the 'which' command
Diffstat (limited to 'lib/bb')
-rw-r--r--lib/bb/shell.py29
1 files changed, 15 insertions, 14 deletions
diff --git a/lib/bb/shell.py b/lib/bb/shell.py
index 921f1c0b8..7fde38960 100644
--- a/lib/bb/shell.py
+++ b/lib/bb/shell.py
@@ -49,8 +49,8 @@ import sys, os, imp, readline
imp.load_source( "bitbake", os.path.dirname( sys.argv[0] )+"/bitbake" )
from bb import make, data, parse, fatal
-__version__ = 0.3
-__credits__ = """BitBake Shell Version %2.1f (C) 2005 Michael 'Mickey' Lauer <mickey@Vanille.de>
+__version__ = "0.3.5"
+__credits__ = """BitBake Shell Version %s (C) 2005 Michael 'Mickey' Lauer <mickey@Vanille.de>
Type 'help' for more information, press CTRL-D to exit.""" % __version__
cmds = {}
@@ -238,23 +238,24 @@ def whichCommand( params ):
if not parsed:
print "SHELL: D'oh! The .bb files haven't been parsed yet. Next time call 'parse' before building stuff. This time I'll do it for 'ya."
parseCommand( None )
+
+ preferred = data.getVar( "PREFERRED_PROVIDER_%s" % item, make.cfg, 1 )
+ if not preferred: preferred = item
+
+ try:
+ lv, lf, pv, pf = cooker.findBestProvider( preferred )
+ except KeyError:
+ lv, lf, pv, pf = (None,)*4
+
try:
providers = cooker.status.providers[item]
except KeyError:
- print "SHELL: ERROR: Nothing provides", item
+ print "SHELL: ERROR: Nothing provides", preferred
else:
- pv = data.getVar( "PREFERRED_VERSION_%s" % item, make.cfg, 1 )
- pp = data.getVar( "PREFERRED_PROVIDER_%s" % item, make.cfg, 1 )
-
- print "Providers for '%s':" % item
- print "------------------------------------------------------"
for provider in providers:
- if pp and data.getVar( "P", make.pkgdata[provider], 1 ).startswith( pp ):
- print "[P]", provider
- else:
- print " ", provider
- if pv: print "Preferred version for '%s': %s" % ( item, pv )
- if pp: print "Preferred version for '%s': %s" % ( item, pp )
+ if provider == pf: provider = " (***) %s" % provider
+ else: provider = " %s" % provider
+ print provider
##########################################################################
# Common helper functions