aboutsummaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
Diffstat (limited to 'bin')
-rwxr-xr-xbin/bitbake23
1 files changed, 16 insertions, 7 deletions
diff --git a/bin/bitbake b/bin/bitbake
index 697783d29..7a7288887 100755
--- a/bin/bitbake
+++ b/bin/bitbake
@@ -94,13 +94,18 @@ def try_build(fn, virtual):
bb.error("upwards chain is: %s" % (" -> ".join(__build_path)))
return False
- __building_list.append(fn)
-
the_data = make.pkgdata[fn]
item = bb.data.getVar('PN', the_data, 1)
+
+ if bb.build.stamp_is_current('do_%s' % make.options.cmd, the_data):
+ return True
+
+ __building_list.append(fn)
+
pathstr = "%s (%s)" % (item, virtual)
__build_path.append(pathstr)
+
depends_list = (bb.data.getVar('DEPENDS', the_data, 1) or "").split()
if make.options.verbose:
bb.note("current path: %s" % (" -> ".join(__build_path)))
@@ -262,6 +267,7 @@ def showVersions():
print "%-30s %20s %20s" % (p, latest[0][0] + "-" + latest[0][1],
prefstr)
+__consider_msgs_cache = []
def buildPackage(item):
fn = None
@@ -418,11 +424,14 @@ def buildPackage(item):
break
if len(eligible) > 1 and discriminated == False:
- providers_list = []
- for fn in eligible:
- providers_list.append(bb.data.getVar('PN', make.pkgdata[fn], 1))
- bb.note("multiple providers are available (%s);" % ", ".join(providers_list))
- bb.note("consider defining PREFERRED_PROVIDER_%s" % item)
+ if item not in __consider_msgs_cache:
+ providers_list = []
+ for fn in eligible:
+ providers_list.append(bb.data.getVar('PN', make.pkgdata[fn], 1))
+ bb.note("multiple providers are available (%s);" % ", ".join(providers_list))
+ bb.note("consider defining PREFERRED_PROVIDER_%s" % item)
+ __consider_msgs_cache.append(item)
+
# run through the list until we find one that we can build
for fn in eligible: