summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbitbake/bin/bitbake-layers21
-rw-r--r--bitbake/lib/bb/cooker.py22
2 files changed, 23 insertions, 20 deletions
diff --git a/bitbake/bin/bitbake-layers b/bitbake/bin/bitbake-layers
index dfbdb7032a..5abf26cfbd 100755
--- a/bitbake/bin/bitbake-layers
+++ b/bitbake/bin/bitbake-layers
@@ -55,7 +55,7 @@ class Commands(cmd.Cmd):
55 55
56 def prepare_cooker(self): 56 def prepare_cooker(self):
57 sys.stderr.write("Parsing recipes..") 57 sys.stderr.write("Parsing recipes..")
58 logger.setLevel(logging.ERROR) 58 logger.setLevel(logging.WARNING)
59 59
60 try: 60 try:
61 while self.cooker.state in (state.initial, state.parsing): 61 while self.cooker.state in (state.initial, state.parsing):
@@ -156,8 +156,6 @@ class Commands(cmd.Cmd):
156 156
157 self.show_appends_for_skipped() 157 self.show_appends_for_skipped()
158 158
159 self.show_appends_with_no_recipes()
160
161 def show_appends_for_pn(self, pn): 159 def show_appends_for_pn(self, pn):
162 filenames = self.cooker_data.pkg_pn[pn] 160 filenames = self.cooker_data.pkg_pn[pn]
163 161
@@ -204,23 +202,6 @@ class Commands(cmd.Cmd):
204 notappended.append(basename) 202 notappended.append(basename)
205 return appended, notappended 203 return appended, notappended
206 204
207 def show_appends_with_no_recipes(self):
208 recipes = set(os.path.basename(f)
209 for f in self.cooker_data.pkg_fn.iterkeys())
210 recipes |= set(os.path.basename(f)
211 for f in self.cooker.skiplist.iterkeys())
212 appended_recipes = self.cooker_data.appends.iterkeys()
213 appends_without_recipes = [self.cooker_data.appends[recipe]
214 for recipe in appended_recipes
215 if recipe not in recipes]
216 if appends_without_recipes:
217 appendlines = (' %s' % append
218 for appends in appends_without_recipes
219 for append in appends)
220 logger.warn('No recipes available for:\n%s',
221 '\n'.join(appendlines))
222 self.returncode |= 4
223
224 def do_EOF(self, line): 205 def do_EOF(self, line):
225 return True 206 return True
226 207
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index 67f0805cbb..7976d299c0 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -483,6 +483,27 @@ class BBCooker:
483 return pri 483 return pri
484 return 0 484 return 0
485 485
486 def show_appends_with_no_recipes( self ):
487 recipes = set(os.path.basename(f)
488 for f in self.status.pkg_fn.iterkeys())
489 recipes |= set(os.path.basename(f)
490 for f in self.skiplist.iterkeys())
491 appended_recipes = self.appendlist.iterkeys()
492 appends_without_recipes = [self.appendlist[recipe]
493 for recipe in appended_recipes
494 if recipe not in recipes]
495 if appends_without_recipes:
496 appendlines = (' %s' % append
497 for appends in appends_without_recipes
498 for append in appends)
499 msg = 'No recipes available for:\n%s' % '\n'.join(appendlines)
500 warn_only = data.getVar("BB_DANGLINGAPPENDS_WARNONLY", \
501 self.configuration.data, False) or "no"
502 if warn_only.lower() in ("1", "yes", "true"):
503 bb.warn(msg)
504 else:
505 bb.fatal(msg)
506
486 def buildDepgraph( self ): 507 def buildDepgraph( self ):
487 all_depends = self.status.all_depends 508 all_depends = self.status.all_depends
488 pn_provides = self.status.pn_provides 509 pn_provides = self.status.pn_provides
@@ -1009,6 +1030,7 @@ class BBCooker:
1009 1030
1010 if not self.parser.parse_next(): 1031 if not self.parser.parse_next():
1011 collectlog.debug(1, "parsing complete") 1032 collectlog.debug(1, "parsing complete")
1033 self.show_appends_with_no_recipes()
1012 self.buildDepgraph() 1034 self.buildDepgraph()
1013 self.state = state.running 1035 self.state = state.running
1014 return None 1036 return None