diff options
-rw-r--r-- | bitbake/lib/bb/cooker.py | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index 194046ea91..6041410575 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py | |||
@@ -44,9 +44,9 @@ buildlog = logging.getLogger("BitBake.Build") | |||
44 | parselog = logging.getLogger("BitBake.Parsing") | 44 | parselog = logging.getLogger("BitBake.Parsing") |
45 | providerlog = logging.getLogger("BitBake.Provider") | 45 | providerlog = logging.getLogger("BitBake.Provider") |
46 | 46 | ||
47 | class MultipleMatches(Exception): | 47 | class NoSpecificMatch(bb.BBHandledException): |
48 | """ | 48 | """ |
49 | Exception raised when multiple file matches are found | 49 | Exception raised when no or multiple file matches are found |
50 | """ | 50 | """ |
51 | 51 | ||
52 | class NothingToBuild(Exception): | 52 | class NothingToBuild(Exception): |
@@ -979,10 +979,15 @@ class BBCooker: | |||
979 | """ | 979 | """ |
980 | matches = self.matchFiles(buildfile) | 980 | matches = self.matchFiles(buildfile) |
981 | if len(matches) != 1: | 981 | if len(matches) != 1: |
982 | parselog.error("Unable to match %s (%s matches found):" % (buildfile, len(matches))) | 982 | if matches: |
983 | for f in matches: | 983 | msg = "Unable to match '%s' to a specific recipe file - %s matches found:" % (buildfile, len(matches)) |
984 | parselog.error(" %s" % f) | 984 | if matches: |
985 | raise MultipleMatches | 985 | for f in matches: |
986 | msg += "\n %s" % f | ||
987 | parselog.error(msg) | ||
988 | else: | ||
989 | parselog.error("Unable to find any recipe file matching '%s'" % buildfile) | ||
990 | raise NoSpecificMatch | ||
986 | return matches[0] | 991 | return matches[0] |
987 | 992 | ||
988 | def buildFile(self, buildfile, task): | 993 | def buildFile(self, buildfile, task): |