summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bitbake/lib/bb/cooker.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index d645454c7c..12b526b40c 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -55,6 +55,11 @@ class NothingToBuild(Exception):
55 Exception raised when there is nothing to build 55 Exception raised when there is nothing to build
56 """ 56 """
57 57
58class CollectionError(bb.BBHandledException):
59 """
60 Exception raised when layer configuration is incorrect
61 """
62
58class state: 63class state:
59 initial, parsing, running, shutdown, stop = range(5) 64 initial, parsing, running, shutdown, stop = range(5)
60 65
@@ -893,6 +898,7 @@ class BBCooker:
893 898
894 def handleCollections( self, collections ): 899 def handleCollections( self, collections ):
895 """Handle collections""" 900 """Handle collections"""
901 errors = False
896 self.status.bbfile_config_priorities = [] 902 self.status.bbfile_config_priorities = []
897 if collections: 903 if collections:
898 collection_priorities = {} 904 collection_priorities = {}
@@ -907,6 +913,7 @@ class BBCooker:
907 prio = int(priority) 913 prio = int(priority)
908 except ValueError: 914 except ValueError:
909 parselog.error("invalid value for BBFILE_PRIORITY_%s: \"%s\"", c, priority) 915 parselog.error("invalid value for BBFILE_PRIORITY_%s: \"%s\"", c, priority)
916 errors = True
910 if min_prio == 0 or prio < min_prio: 917 if min_prio == 0 or prio < min_prio:
911 min_prio = prio 918 min_prio = prio
912 collection_priorities[c] = prio 919 collection_priorities[c] = prio
@@ -925,6 +932,7 @@ class BBCooker:
925 depver = int(depsplit[1]) 932 depver = int(depsplit[1])
926 except ValueError: 933 except ValueError:
927 parselog.error("invalid version value in LAYERDEPENDS_%s: \"%s\"", c, dep) 934 parselog.error("invalid version value in LAYERDEPENDS_%s: \"%s\"", c, dep)
935 errors = True
928 continue 936 continue
929 else: 937 else:
930 depver = None 938 depver = None
@@ -939,13 +947,17 @@ class BBCooker:
939 lver = int(layerver) 947 lver = int(layerver)
940 except ValueError: 948 except ValueError:
941 parselog.error("invalid value for LAYERVERSION_%s: \"%s\"", c, layerver) 949 parselog.error("invalid value for LAYERVERSION_%s: \"%s\"", c, layerver)
950 errors = True
942 continue 951 continue
943 if lver <> depver: 952 if lver <> depver:
944 parselog.error("Layer dependency %s of layer %s is at version %d, expected %d", dep, c, lver, depver) 953 parselog.error("Layer dependency %s of layer %s is at version %d, expected %d", dep, c, lver, depver)
954 errors = True
945 else: 955 else:
946 parselog.error("Layer dependency %s of layer %s has no version, expected %d", dep, c, depver) 956 parselog.error("Layer dependency %s of layer %s has no version, expected %d", dep, c, depver)
957 errors = True
947 else: 958 else:
948 parselog.error("Layer dependency %s of layer %s not found", dep, c) 959 parselog.error("Layer dependency %s of layer %s not found", dep, c)
960 errors = True
949 collection_depends[c] = depnamelist 961 collection_depends[c] = depnamelist
950 else: 962 else:
951 collection_depends[c] = [] 963 collection_depends[c] = []
@@ -969,13 +981,18 @@ class BBCooker:
969 regex = self.configuration.data.getVar("BBFILE_PATTERN_%s" % c, 1) 981 regex = self.configuration.data.getVar("BBFILE_PATTERN_%s" % c, 1)
970 if regex == None: 982 if regex == None:
971 parselog.error("BBFILE_PATTERN_%s not defined" % c) 983 parselog.error("BBFILE_PATTERN_%s not defined" % c)
984 errors = True
972 continue 985 continue
973 try: 986 try:
974 cre = re.compile(regex) 987 cre = re.compile(regex)
975 except re.error: 988 except re.error:
976 parselog.error("BBFILE_PATTERN_%s \"%s\" is not a valid regular expression", c, regex) 989 parselog.error("BBFILE_PATTERN_%s \"%s\" is not a valid regular expression", c, regex)
990 errors = True
977 continue 991 continue
978 self.status.bbfile_config_priorities.append((c, regex, cre, collection_priorities[c])) 992 self.status.bbfile_config_priorities.append((c, regex, cre, collection_priorities[c]))
993 if errors:
994 # We've already printed the actual error(s)
995 raise CollectionError("Errors during parsing layer configuration")
979 996
980 def buildSetVars(self): 997 def buildSetVars(self):
981 """ 998 """