diff options
author | Hongxu Jia <hongxu.jia@windriver.com> | 2024-10-29 22:07:43 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2024-11-01 12:07:12 +0000 |
commit | 8f4759806ee868a32a063943059345641eb26f22 (patch) | |
tree | b089368474236cc82d71a569ff14e705b334f887 /meta/classes | |
parent | 29c65baf76f54258ab40b75c6ad205a3ebd06316 (diff) | |
download | poky-8f4759806ee868a32a063943059345641eb26f22.tar.gz |
create-spdx-{2.2,3.0}: fix do_create_spdx dependency while spdx include sources
Call function ${@create_spdx_source_deps(d)} or ${create_spdx_source_deps(d)}
along with addtask not working, use task do_create_spdx flag 'depends'
to instead
Move function create_spdx_source_deps to spdx-common.bbclass for both of
create-spdx-2.2.bbclass and create-spdx-3.0.bbclass
(From OE-Core rev: dda4b7ccd416ef370634babd150e944f2aa9116e)
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Reviewed-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r-- | meta/classes/create-spdx-2.2.bbclass | 5 | ||||
-rw-r--r-- | meta/classes/create-spdx-3.0.bbclass | 19 | ||||
-rw-r--r-- | meta/classes/spdx-common.bbclass | 21 |
3 files changed, 29 insertions, 16 deletions
diff --git a/meta/classes/create-spdx-2.2.bbclass b/meta/classes/create-spdx-2.2.bbclass index cd1d6819bf..27242ecf70 100644 --- a/meta/classes/create-spdx-2.2.bbclass +++ b/meta/classes/create-spdx-2.2.bbclass | |||
@@ -584,7 +584,10 @@ addtask do_create_spdx_setscene | |||
584 | 584 | ||
585 | do_create_spdx[dirs] = "${SPDXWORK}" | 585 | do_create_spdx[dirs] = "${SPDXWORK}" |
586 | do_create_spdx[cleandirs] = "${SPDXDEPLOY} ${SPDXWORK}" | 586 | do_create_spdx[cleandirs] = "${SPDXDEPLOY} ${SPDXWORK}" |
587 | do_create_spdx[depends] += "${PATCHDEPENDENCY}" | 587 | do_create_spdx[depends] += " \ |
588 | ${PATCHDEPENDENCY} \ | ||
589 | ${@create_spdx_source_deps(d)} \ | ||
590 | " | ||
588 | 591 | ||
589 | python do_create_runtime_spdx() { | 592 | python do_create_runtime_spdx() { |
590 | from datetime import datetime, timezone | 593 | from datetime import datetime, timezone |
diff --git a/meta/classes/create-spdx-3.0.bbclass b/meta/classes/create-spdx-3.0.bbclass index 5f0590198f..bc23d2d211 100644 --- a/meta/classes/create-spdx-3.0.bbclass +++ b/meta/classes/create-spdx-3.0.bbclass | |||
@@ -132,22 +132,8 @@ addtask do_create_spdx after \ | |||
132 | do_collect_spdx_deps \ | 132 | do_collect_spdx_deps \ |
133 | do_deploy_source_date_epoch \ | 133 | do_deploy_source_date_epoch \ |
134 | do_populate_sysroot do_package do_packagedata \ | 134 | do_populate_sysroot do_package do_packagedata \ |
135 | ${create_spdx_source_deps(d)} \ | ||
136 | before do_populate_sdk do_populate_sdk_ext do_build do_rm_work | 135 | before do_populate_sdk do_populate_sdk_ext do_build do_rm_work |
137 | 136 | ||
138 | def create_spdx_source_deps(d): | ||
139 | deps = [] | ||
140 | if d.getVar("SPDX_INCLUDE_SOURCES") == "1": | ||
141 | deps.extend([ | ||
142 | # do_unpack is a hack for now; we only need it to get the | ||
143 | # dependencies do_unpack already has so we can extract the source | ||
144 | # ourselves | ||
145 | "do_unpack", | ||
146 | # For kernel source code | ||
147 | "do_shared_workdir", | ||
148 | ]) | ||
149 | return " ".join(deps) | ||
150 | |||
151 | SSTATETASKS += "do_create_spdx" | 137 | SSTATETASKS += "do_create_spdx" |
152 | do_create_spdx[sstate-inputdirs] = "${SPDXDEPLOY}" | 138 | do_create_spdx[sstate-inputdirs] = "${SPDXDEPLOY}" |
153 | do_create_spdx[sstate-outputdirs] = "${DEPLOY_DIR_SPDX}" | 139 | do_create_spdx[sstate-outputdirs] = "${DEPLOY_DIR_SPDX}" |
@@ -159,7 +145,10 @@ addtask do_create_spdx_setscene | |||
159 | 145 | ||
160 | do_create_spdx[dirs] = "${SPDXWORK}" | 146 | do_create_spdx[dirs] = "${SPDXWORK}" |
161 | do_create_spdx[cleandirs] = "${SPDXDEPLOY} ${SPDXWORK}" | 147 | do_create_spdx[cleandirs] = "${SPDXDEPLOY} ${SPDXWORK}" |
162 | do_create_spdx[depends] += "${PATCHDEPENDENCY}" | 148 | do_create_spdx[depends] += " \ |
149 | ${PATCHDEPENDENCY} \ | ||
150 | ${@create_spdx_source_deps(d)} \ | ||
151 | " | ||
163 | 152 | ||
164 | python do_create_package_spdx() { | 153 | python do_create_package_spdx() { |
165 | import oe.spdx30_tasks | 154 | import oe.spdx30_tasks |
diff --git a/meta/classes/spdx-common.bbclass b/meta/classes/spdx-common.bbclass index cd9cc0db98..ad02da5cd6 100644 --- a/meta/classes/spdx-common.bbclass +++ b/meta/classes/spdx-common.bbclass | |||
@@ -39,6 +39,27 @@ SPDX_CUSTOM_ANNOTATION_VARS ??= "" | |||
39 | 39 | ||
40 | SPDX_MULTILIB_SSTATE_ARCHS ??= "${SSTATE_ARCHS}" | 40 | SPDX_MULTILIB_SSTATE_ARCHS ??= "${SSTATE_ARCHS}" |
41 | 41 | ||
42 | def create_spdx_source_deps(d): | ||
43 | import oe.spdx_common | ||
44 | |||
45 | deps = [] | ||
46 | if d.getVar("SPDX_INCLUDE_SOURCES") == "1": | ||
47 | pn = d.getVar('PN') | ||
48 | # do_unpack is a hack for now; we only need it to get the | ||
49 | # dependencies do_unpack already has so we can extract the source | ||
50 | # ourselves | ||
51 | if oe.spdx_common.has_task(d, "do_unpack"): | ||
52 | deps.append("%s:do_unpack" % pn) | ||
53 | |||
54 | if oe.spdx_common.is_work_shared_spdx(d) and \ | ||
55 | oe.spdx_common.process_sources(d): | ||
56 | # For kernel source code | ||
57 | if oe.spdx_common.has_task(d, "do_shared_workdir"): | ||
58 | deps.append("%s:do_shared_workdir" % pn) | ||
59 | |||
60 | return " ".join(deps) | ||
61 | |||
62 | |||
42 | python do_collect_spdx_deps() { | 63 | python do_collect_spdx_deps() { |
43 | # This task calculates the build time dependencies of the recipe, and is | 64 | # This task calculates the build time dependencies of the recipe, and is |
44 | # required because while a task can deptask on itself, those dependencies | 65 | # required because while a task can deptask on itself, those dependencies |