mirror of
https://git.yoctoproject.org/poky
synced 2026-04-20 00:32:13 +02:00
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: 1d350fd2a0db57617fbc62eb1d65f3ffa2667551) Signed-off-by: Saul Wold <saul.wold@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 18eab77ee65c73b17225e69c7ba446ab1c69fa92) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
10a700c094
commit
07c12415c6
@@ -53,10 +53,8 @@ def recipe_spdx_is_native(d, recipe):
|
||||
a.annotator == "Tool: %s - %s" % (d.getVar("SPDX_TOOL_NAME"), d.getVar("SPDX_TOOL_VERSION")) and
|
||||
a.comment == "isNative" for a in recipe.annotations)
|
||||
|
||||
def is_work_shared(d):
|
||||
pn = d.getVar('PN')
|
||||
return bb.data.inherits_class('kernel', d) or pn.startswith('gcc-source')
|
||||
|
||||
def is_work_shared_spdx(d):
|
||||
return bb.data.inherits_class('kernel', d) or ('work-shared' in d.getVar('WORKDIR'))
|
||||
|
||||
python() {
|
||||
import json
|
||||
@@ -747,7 +745,7 @@ def spdx_get_src(d):
|
||||
|
||||
try:
|
||||
# The kernel class functions require it to be on work-shared, so we dont change WORKDIR
|
||||
if not is_work_shared(d):
|
||||
if not is_work_shared_spdx(d):
|
||||
# Change the WORKDIR to make do_unpack do_patch run in another dir.
|
||||
d.setVar('WORKDIR', spdx_workdir)
|
||||
# Restore the original path to recipe's native sysroot (it's relative to WORKDIR).
|
||||
@@ -760,7 +758,7 @@ def spdx_get_src(d):
|
||||
|
||||
bb.build.exec_func('do_unpack', d)
|
||||
# Copy source of kernel to spdx_workdir
|
||||
if is_work_shared(d):
|
||||
if is_work_shared_spdx(d):
|
||||
d.setVar('WORKDIR', spdx_workdir)
|
||||
d.setVar('STAGING_DIR_NATIVE', spdx_sysroot_native)
|
||||
src_dir = spdx_workdir + "/" + d.getVar('PN')+ "-" + d.getVar('PV') + "-" + d.getVar('PR')
|
||||
@@ -776,7 +774,7 @@ def spdx_get_src(d):
|
||||
shutils.rmtree(git_path)
|
||||
|
||||
# Make sure gcc and kernel sources are patched only once
|
||||
if not (d.getVar('SRC_URI') == "" or is_work_shared(d)):
|
||||
if not (d.getVar('SRC_URI') == "" or is_work_shared_spdx(d)):
|
||||
bb.build.exec_func('do_patch', d)
|
||||
|
||||
# Some userland has no source.
|
||||
|
||||
Reference in New Issue
Block a user