diff options
| author | Mike Crowe <mac@mcrowe.com> | 2021-10-15 15:39:54 +0100 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-10-17 11:56:33 +0100 |
| commit | cdeb02654fbaa47677b5c68521d05a5a575ac90d (patch) | |
| tree | a8951fd93b91b0a3c64336a79bd74c68fba7c8d3 /meta/classes/license_image.bbclass | |
| parent | 51b1611e204b32b3e65176ef86d4562e2f330835 (diff) | |
| download | poky-cdeb02654fbaa47677b5c68521d05a5a575ac90d.tar.gz | |
insane,license,license_image: Allow treating license problems as errors
Use the same WARN_WA and ERROR_QA variables as insane.bbclass to allow
individual recipes, the distro or other configuration to determine
whether the various detected license errors should be treated as a
warning (as now) or as an error.
oe.qa.handle_error isn't immediately fatal, so oe.qa.exit_if_errors must
be called at the end of do_populate_lic to fail the task.
(From OE-Core rev: bb164adca94b5a43751aabe6b6d702a3d60dfdc7)
Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/license_image.bbclass')
| -rw-r--r-- | meta/classes/license_image.bbclass | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/meta/classes/license_image.bbclass b/meta/classes/license_image.bbclass index 5490d121f1..bf70bee99b 100644 --- a/meta/classes/license_image.bbclass +++ b/meta/classes/license_image.bbclass | |||
| @@ -75,7 +75,7 @@ def write_license_files(d, license_manifest, pkg_dic, rootfs=True): | |||
| 75 | pkg_dic[pkg]["LICENSES"] = re.sub(r' *', ' ', pkg_dic[pkg]["LICENSES"]) | 75 | pkg_dic[pkg]["LICENSES"] = re.sub(r' *', ' ', pkg_dic[pkg]["LICENSES"]) |
| 76 | pkg_dic[pkg]["LICENSES"] = pkg_dic[pkg]["LICENSES"].split() | 76 | pkg_dic[pkg]["LICENSES"] = pkg_dic[pkg]["LICENSES"].split() |
| 77 | if pkg in whitelist: | 77 | if pkg in whitelist: |
| 78 | bb.warn("Including %s with an incompatible license %s into the image, because it has been whitelisted." %(pkg, pkg_dic[pkg]["LICENSE"])) | 78 | oe.qa.handle_error('license-incompatible', "Including %s with an incompatible license %s into the image, because it has been whitelisted." %(pkg, pkg_dic[pkg]["LICENSE"]), d) |
| 79 | 79 | ||
| 80 | if not "IMAGE_MANIFEST" in pkg_dic[pkg]: | 80 | if not "IMAGE_MANIFEST" in pkg_dic[pkg]: |
| 81 | # Rootfs manifest | 81 | # Rootfs manifest |
| @@ -105,10 +105,10 @@ def write_license_files(d, license_manifest, pkg_dic, rootfs=True): | |||
| 105 | continue | 105 | continue |
| 106 | 106 | ||
| 107 | if not os.path.exists(lic_file): | 107 | if not os.path.exists(lic_file): |
| 108 | bb.warn("The license listed %s was not in the "\ | 108 | oe.qa.handle_error('license-file-missing', |
| 109 | "licenses collected for recipe %s" | 109 | "The license listed %s was not in the "\ |
| 110 | % (lic, pkg_dic[pkg]["PN"])) | 110 | "licenses collected for recipe %s" |
| 111 | 111 | % (lic, pkg_dic[pkg]["PN"]), d) | |
| 112 | # Two options here: | 112 | # Two options here: |
| 113 | # - Just copy the manifest | 113 | # - Just copy the manifest |
| 114 | # - Copy the manifest and the license directories | 114 | # - Copy the manifest and the license directories |
| @@ -274,6 +274,7 @@ do_rootfs[recrdeptask] += "do_populate_lic" | |||
| 274 | 274 | ||
| 275 | python do_populate_lic_deploy() { | 275 | python do_populate_lic_deploy() { |
| 276 | license_deployed_manifest(d) | 276 | license_deployed_manifest(d) |
| 277 | oe.qa.exit_if_errors(d) | ||
| 277 | } | 278 | } |
| 278 | 279 | ||
| 279 | addtask populate_lic_deploy before do_build after do_image_complete | 280 | addtask populate_lic_deploy before do_build after do_image_complete |
