summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMingli Yu <mingli.yu@windriver.com>2023-04-03 17:35:51 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-04-04 13:11:50 +0100
commit93196f698a7aab014d3999e3d21dd4ffd7a05d79 (patch)
treedd7141bb5d16ba693028b79222b71fea23ab6931
parent6cfa4e540c99ed434b3bf76e91f013691bb5c37e (diff)
downloadpoky-93196f698a7aab014d3999e3d21dd4ffd7a05d79.tar.gz
report-error: catch Nothing PROVIDES error
Make the report-error catch Nothing PROVIDES error and then we can check it directly via error report web. (From OE-Core rev: a57d8f82b83554c821a83eacc02f9c73b263ff02) Signed-off-by: Mingli Yu <mingli.yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/report-error.bbclass27
1 files changed, 26 insertions, 1 deletions
diff --git a/meta/classes/report-error.bbclass b/meta/classes/report-error.bbclass
index 2f692fbbcc..2b2ad56514 100644
--- a/meta/classes/report-error.bbclass
+++ b/meta/classes/report-error.bbclass
@@ -107,6 +107,31 @@ python errorreport_handler () {
107 errorreport_savedata(e, jsondata, "error-report.txt") 107 errorreport_savedata(e, jsondata, "error-report.txt")
108 bb.utils.unlockfile(lock) 108 bb.utils.unlockfile(lock)
109 109
110 elif isinstance(e, bb.event.NoProvider):
111 bb.utils.mkdirhier(logpath)
112 data = {}
113 machine = e.data.getVar("MACHINE")
114 data['machine'] = machine
115 data['build_sys'] = e.data.getVar("BUILD_SYS")
116 data['nativelsb'] = nativelsb()
117 data['distro'] = e.data.getVar("DISTRO")
118 data['target_sys'] = e.data.getVar("TARGET_SYS")
119 data['failures'] = []
120 data['component'] = str(e._item)
121 data['branch_commit'] = str(oe.buildcfg.detect_branch(e.data)) + ": " + str(oe.buildcfg.detect_revision(e.data))
122 data['bitbake_version'] = e.data.getVar("BB_VERSION")
123 data['layer_version'] = get_layers_branch_rev(e.data)
124 data['local_conf'] = get_conf_data(e, 'local.conf')
125 data['auto_conf'] = get_conf_data(e, 'auto.conf')
126 taskdata={}
127 taskdata['log'] = str(e)
128 taskdata['package'] = str(e._item)
129 taskdata['task'] = "Nothing provides " + "'" + str(e._item) + "'"
130 data['failures'].append(taskdata)
131 lock = bb.utils.lockfile(datafile + '.lock')
132 errorreport_savedata(e, data, "error-report.txt")
133 bb.utils.unlockfile(lock)
134
110 elif isinstance(e, bb.event.BuildCompleted): 135 elif isinstance(e, bb.event.BuildCompleted):
111 lock = bb.utils.lockfile(datafile + '.lock') 136 lock = bb.utils.lockfile(datafile + '.lock')
112 jsondata = json.loads(errorreport_getdata(e)) 137 jsondata = json.loads(errorreport_getdata(e))
@@ -120,4 +145,4 @@ python errorreport_handler () {
120} 145}
121 146
122addhandler errorreport_handler 147addhandler errorreport_handler
123errorreport_handler[eventmask] = "bb.event.BuildStarted bb.event.BuildCompleted bb.build.TaskFailed" 148errorreport_handler[eventmask] = "bb.event.BuildStarted bb.event.BuildCompleted bb.build.TaskFailed bb.event.NoProvider"