diff options
| -rw-r--r-- | meta/classes/sanity.bbclass | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass index b58e23fe69..7c1533e846 100644 --- a/meta/classes/sanity.bbclass +++ b/meta/classes/sanity.bbclass | |||
| @@ -4,7 +4,16 @@ | |||
| 4 | 4 | ||
| 5 | SANITY_REQUIRED_UTILITIES ?= "patch diffstat texi2html makeinfo svn bzip2 tar gzip gawk chrpath wget cpio" | 5 | SANITY_REQUIRED_UTILITIES ?= "patch diffstat texi2html makeinfo svn bzip2 tar gzip gawk chrpath wget cpio" |
| 6 | 6 | ||
| 7 | def raise_sanity_error(msg): | 7 | def raise_sanity_error(msg, d): |
| 8 | if d.getVar("SANITY_USE_EVENTS", True) == "1": | ||
| 9 | # FIXME: handle when BitBake version is too old to support bb.event.SanityCheckFailed | ||
| 10 | # We can just fire the event directly once the minimum version is bumped beyond 1.15.1 | ||
| 11 | try: | ||
| 12 | bb.event.fire(bb.event.SanityCheckFailed(msg), d) | ||
| 13 | return | ||
| 14 | except AttributeError: | ||
| 15 | pass | ||
| 16 | |||
| 8 | bb.fatal(""" OE-core's config sanity checker detected a potential misconfiguration. | 17 | bb.fatal(""" OE-core's config sanity checker detected a potential misconfiguration. |
| 9 | Either fix the cause of this error or at your own risk disable the checker (see sanity.conf). | 18 | Either fix the cause of this error or at your own risk disable the checker (see sanity.conf). |
| 10 | Following is the list of potential problems / advisories: | 19 | Following is the list of potential problems / advisories: |
| @@ -295,7 +304,7 @@ def check_sanity(sanity_data): | |||
| 295 | return | 304 | return |
| 296 | 305 | ||
| 297 | if 0 == os.getuid(): | 306 | if 0 == os.getuid(): |
| 298 | raise_sanity_error("Do not use Bitbake as root.") | 307 | raise_sanity_error("Do not use Bitbake as root.", sanity_data) |
| 299 | 308 | ||
| 300 | messages = "" | 309 | messages = "" |
| 301 | 310 | ||
| @@ -529,7 +538,7 @@ def check_sanity(sanity_data): | |||
| 529 | messages = messages + "Error, you have a space in your COREBASE directory path. Please move the installation to a directory which doesn't include a space." | 538 | messages = messages + "Error, you have a space in your COREBASE directory path. Please move the installation to a directory which doesn't include a space." |
| 530 | 539 | ||
| 531 | if messages != "": | 540 | if messages != "": |
| 532 | raise_sanity_error(messages) | 541 | raise_sanity_error(messages, sanity_data) |
| 533 | 542 | ||
| 534 | # Create a copy of the datastore and finalise it to ensure appends and | 543 | # Create a copy of the datastore and finalise it to ensure appends and |
| 535 | # overrides are set - the datastore has yet to be finalised at ConfigParsed | 544 | # overrides are set - the datastore has yet to be finalised at ConfigParsed |
| @@ -545,6 +554,7 @@ python check_sanity_eventhandler() { | |||
| 545 | check_sanity(sanity_data) | 554 | check_sanity(sanity_data) |
| 546 | elif bb.event.getName(e) == "SanityCheck": | 555 | elif bb.event.getName(e) == "SanityCheck": |
| 547 | sanity_data = copy_data(e) | 556 | sanity_data = copy_data(e) |
| 557 | sanity_data.setVar("SANITY_USE_EVENTS", "1") | ||
| 548 | check_sanity(sanity_data) | 558 | check_sanity(sanity_data) |
| 549 | bb.event.fire(bb.event.SanityCheckPassed(), e.data) | 559 | bb.event.fire(bb.event.SanityCheckPassed(), e.data) |
| 550 | 560 | ||
