diff options
| author | Saul Wold <Saul.Wold@windriver.com> | 2021-11-17 10:08:13 -0800 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-11-21 11:05:02 +0000 |
| commit | e1e8531c64b2663767546adf0f46bc6c96c12360 (patch) | |
| tree | 730cb55f5f94e0808e1e8487076b8109edb68c40 /meta/classes/create-spdx.bbclass | |
| parent | dbf4c65541cde5d308a7597ebeab5344bddb3a0c (diff) | |
| download | poky-e1e8531c64b2663767546adf0f46bc6c96c12360.tar.gz | |
create_spdx: ensure is_work_shared() is unique
There is a function with the same name is_work_shared() in the archiver class
this causes a conflict when both classes are included. Use work-shared as the
check in WORKDIR to allow for other packages beyond the kernel and gcc that
use a common shared-work source directory.
(From OE-Core rev: 18eab77ee65c73b17225e69c7ba446ab1c69fa92)
Signed-off-by: Saul Wold <saul.wold@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/create-spdx.bbclass')
| -rw-r--r-- | meta/classes/create-spdx.bbclass | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/meta/classes/create-spdx.bbclass b/meta/classes/create-spdx.bbclass index eb1d446f3f..1d5c8b3bc1 100644 --- a/meta/classes/create-spdx.bbclass +++ b/meta/classes/create-spdx.bbclass | |||
| @@ -53,10 +53,8 @@ def recipe_spdx_is_native(d, recipe): | |||
| 53 | a.annotator == "Tool: %s - %s" % (d.getVar("SPDX_TOOL_NAME"), d.getVar("SPDX_TOOL_VERSION")) and | 53 | a.annotator == "Tool: %s - %s" % (d.getVar("SPDX_TOOL_NAME"), d.getVar("SPDX_TOOL_VERSION")) and |
| 54 | a.comment == "isNative" for a in recipe.annotations) | 54 | a.comment == "isNative" for a in recipe.annotations) |
| 55 | 55 | ||
| 56 | def is_work_shared(d): | 56 | def is_work_shared_spdx(d): |
| 57 | pn = d.getVar('PN') | 57 | return bb.data.inherits_class('kernel', d) or ('work-shared' in d.getVar('WORKDIR')) |
| 58 | return bb.data.inherits_class('kernel', d) or pn.startswith('gcc-source') | ||
| 59 | |||
| 60 | 58 | ||
| 61 | python() { | 59 | python() { |
| 62 | import json | 60 | import json |
| @@ -747,7 +745,7 @@ def spdx_get_src(d): | |||
| 747 | 745 | ||
| 748 | try: | 746 | try: |
| 749 | # The kernel class functions require it to be on work-shared, so we dont change WORKDIR | 747 | # The kernel class functions require it to be on work-shared, so we dont change WORKDIR |
| 750 | if not is_work_shared(d): | 748 | if not is_work_shared_spdx(d): |
| 751 | # Change the WORKDIR to make do_unpack do_patch run in another dir. | 749 | # Change the WORKDIR to make do_unpack do_patch run in another dir. |
| 752 | d.setVar('WORKDIR', spdx_workdir) | 750 | d.setVar('WORKDIR', spdx_workdir) |
| 753 | # Restore the original path to recipe's native sysroot (it's relative to WORKDIR). | 751 | # Restore the original path to recipe's native sysroot (it's relative to WORKDIR). |
| @@ -760,7 +758,7 @@ def spdx_get_src(d): | |||
| 760 | 758 | ||
| 761 | bb.build.exec_func('do_unpack', d) | 759 | bb.build.exec_func('do_unpack', d) |
| 762 | # Copy source of kernel to spdx_workdir | 760 | # Copy source of kernel to spdx_workdir |
| 763 | if is_work_shared(d): | 761 | if is_work_shared_spdx(d): |
| 764 | d.setVar('WORKDIR', spdx_workdir) | 762 | d.setVar('WORKDIR', spdx_workdir) |
| 765 | d.setVar('STAGING_DIR_NATIVE', spdx_sysroot_native) | 763 | d.setVar('STAGING_DIR_NATIVE', spdx_sysroot_native) |
| 766 | src_dir = spdx_workdir + "/" + d.getVar('PN')+ "-" + d.getVar('PV') + "-" + d.getVar('PR') | 764 | src_dir = spdx_workdir + "/" + d.getVar('PN')+ "-" + d.getVar('PV') + "-" + d.getVar('PR') |
| @@ -776,7 +774,7 @@ def spdx_get_src(d): | |||
| 776 | shutils.rmtree(git_path) | 774 | shutils.rmtree(git_path) |
| 777 | 775 | ||
| 778 | # Make sure gcc and kernel sources are patched only once | 776 | # Make sure gcc and kernel sources are patched only once |
| 779 | if not (d.getVar('SRC_URI') == "" or is_work_shared(d)): | 777 | if not (d.getVar('SRC_URI') == "" or is_work_shared_spdx(d)): |
| 780 | bb.build.exec_func('do_patch', d) | 778 | bb.build.exec_func('do_patch', d) |
| 781 | 779 | ||
| 782 | # Some userland has no source. | 780 | # Some userland has no source. |
