summaryrefslogtreecommitdiffstats
path: root/meta/classes
diff options
context:
space:
mode:
Diffstat (limited to 'meta/classes')
-rw-r--r--meta/classes/create-spdx-3.0.bbclass1
-rw-r--r--meta/classes/create-spdx-image-3.0.bbclass145
2 files changed, 1 insertions, 145 deletions
diff --git a/meta/classes/create-spdx-3.0.bbclass b/meta/classes/create-spdx-3.0.bbclass
index 2eb44ba808..c1241e5856 100644
--- a/meta/classes/create-spdx-3.0.bbclass
+++ b/meta/classes/create-spdx-3.0.bbclass
@@ -115,6 +115,7 @@ SPDX_PACKAGE_SUPPLIER[doc] = "The base variable name to describe the Agent who \
115 115
116 116
117IMAGE_CLASSES:append = " create-spdx-image-3.0" 117IMAGE_CLASSES:append = " create-spdx-image-3.0"
118SDK_CLASSES += "create-spdx-sdk-3.0"
118 119
119oe.spdx30_tasks.set_timestamp_now[vardepsexclude] = "SPDX_INCLUDE_TIMESTAMPS" 120oe.spdx30_tasks.set_timestamp_now[vardepsexclude] = "SPDX_INCLUDE_TIMESTAMPS"
120oe.spdx30_tasks.get_package_sources_from_debug[vardepsexclude] += "STAGING_KERNEL_DIR" 121oe.spdx30_tasks.get_package_sources_from_debug[vardepsexclude] += "STAGING_KERNEL_DIR"
diff --git a/meta/classes/create-spdx-image-3.0.bbclass b/meta/classes/create-spdx-image-3.0.bbclass
deleted file mode 100644
index 1cad8537d1..0000000000
--- a/meta/classes/create-spdx-image-3.0.bbclass
+++ /dev/null
@@ -1,145 +0,0 @@
1#
2# Copyright OpenEmbedded Contributors
3#
4# SPDX-License-Identifier: GPL-2.0-only
5#
6# SPDX image tasks
7
8SPDX_ROOTFS_PACKAGES = "${SPDXDIR}/rootfs-packages.json"
9SPDXIMAGEDEPLOYDIR = "${SPDXDIR}/image-deploy"
10SPDXROOTFSDEPLOY = "${SPDXDIR}/rootfs-deploy"
11
12python spdx_collect_rootfs_packages() {
13 import json
14 from pathlib import Path
15 from oe.rootfs import image_list_installed_packages
16
17 root_packages_file = Path(d.getVar("SPDX_ROOTFS_PACKAGES"))
18
19 packages = image_list_installed_packages(d)
20 if not packages:
21 packages = {}
22
23 root_packages_file.parent.mkdir(parents=True, exist_ok=True)
24 with root_packages_file.open("w") as f:
25 json.dump(packages, f)
26}
27ROOTFS_POSTUNINSTALL_COMMAND =+ "spdx_collect_rootfs_packages"
28
29python do_create_rootfs_spdx() {
30 import oe.spdx30_tasks
31 oe.spdx30_tasks.create_rootfs_spdx(d)
32}
33addtask do_create_rootfs_spdx after do_rootfs before do_image
34SSTATETASKS += "do_create_rootfs_spdx"
35do_create_rootfs_spdx[sstate-inputdirs] = "${SPDXROOTFSDEPLOY}"
36do_create_rootfs_spdx[sstate-outputdirs] = "${DEPLOY_DIR_SPDX}"
37do_create_rootfs_spdx[recrdeptask] += "do_create_spdx do_create_package_spdx"
38do_create_rootfs_spdx[cleandirs] += "${SPDXROOTFSDEPLOY}"
39
40python do_create_rootfs_spdx_setscene() {
41 sstate_setscene(d)
42}
43addtask do_create_rootfs_spdx_setscene
44
45python do_create_image_spdx() {
46 import oe.spdx30_tasks
47 oe.spdx30_tasks.create_image_spdx(d)
48}
49addtask do_create_image_spdx after do_image_complete do_create_rootfs_spdx before do_build
50SSTATETASKS += "do_create_image_spdx"
51SSTATE_SKIP_CREATION:task-combine-image-type-spdx = "1"
52do_create_image_spdx[sstate-inputdirs] = "${SPDXIMAGEWORK}"
53do_create_image_spdx[sstate-outputdirs] = "${DEPLOY_DIR_SPDX}"
54do_create_image_spdx[cleandirs] = "${SPDXIMAGEWORK}"
55do_create_image_spdx[dirs] = "${SPDXIMAGEWORK}"
56
57python do_create_image_spdx_setscene() {
58 sstate_setscene(d)
59}
60addtask do_create_image_spdx_setscene
61
62
63python do_create_image_sbom_spdx() {
64 import oe.spdx30_tasks
65 oe.spdx30_tasks.create_image_sbom_spdx(d)
66}
67addtask do_create_image_sbom_spdx after do_create_rootfs_spdx do_create_image_spdx before do_build
68SSTATETASKS += "do_create_image_sbom_spdx"
69SSTATE_SKIP_CREATION:task-create-image-sbom = "1"
70do_create_image_sbom_spdx[sstate-inputdirs] = "${SPDXIMAGEDEPLOYDIR}"
71do_create_image_sbom_spdx[sstate-outputdirs] = "${DEPLOY_DIR_IMAGE}"
72do_create_image_sbom_spdx[stamp-extra-info] = "${MACHINE_ARCH}"
73do_create_image_sbom_spdx[cleandirs] = "${SPDXIMAGEDEPLOYDIR}"
74do_create_image_sbom_spdx[recrdeptask] += "do_create_spdx do_create_package_spdx"
75
76python do_create_image_sbom_spdx_setscene() {
77 sstate_setscene(d)
78}
79addtask do_create_image_sbom_spdx_setscene
80
81do_populate_sdk[recrdeptask] += "do_create_spdx do_create_package_spdx"
82do_populate_sdk[cleandirs] += "${SPDXSDKWORK}"
83do_populate_sdk[postfuncs] += "sdk_create_sbom"
84POPULATE_SDK_POST_HOST_COMMAND:append:task-populate-sdk = " sdk_host_create_spdx"
85POPULATE_SDK_POST_TARGET_COMMAND:append:task-populate-sdk = " sdk_target_create_spdx"
86
87do_populate_sdk_ext[recrdeptask] += "do_create_spdx do_create_package_spdx"
88do_populate_sdk_ext[cleandirs] += "${SPDXSDKEXTWORK}"
89do_populate_sdk_ext[postfuncs] += "sdk_ext_create_sbom"
90POPULATE_SDK_POST_HOST_COMMAND:append:task-populate-sdk-ext = " sdk_ext_host_create_spdx"
91POPULATE_SDK_POST_TARGET_COMMAND:append:task-populate-sdk-ext = " sdk_ext_target_create_spdx"
92
93python sdk_host_create_spdx() {
94 from pathlib import Path
95 import oe.spdx30_tasks
96 spdx_work_dir = Path(d.getVar('SPDXSDKWORK'))
97
98 oe.spdx30_tasks.sdk_create_spdx(d, "host", spdx_work_dir, d.getVar("TOOLCHAIN_OUTPUTNAME"))
99}
100
101python sdk_target_create_spdx() {
102 from pathlib import Path
103 import oe.spdx30_tasks
104 spdx_work_dir = Path(d.getVar('SPDXSDKWORK'))
105
106 oe.spdx30_tasks.sdk_create_spdx(d, "target", spdx_work_dir, d.getVar("TOOLCHAIN_OUTPUTNAME"))
107}
108
109python sdk_ext_host_create_spdx() {
110 from pathlib import Path
111 import oe.spdx30_tasks
112 spdx_work_dir = Path(d.getVar('SPDXSDKEXTWORK'))
113
114 # TODO: This doesn't seem to work
115 oe.spdx30_tasks.sdk_create_spdx(d, "host", spdx_work_dir, d.getVar("TOOLCHAINEXT_OUTPUTNAME"))
116}
117
118python sdk_ext_target_create_spdx() {
119 from pathlib import Path
120 import oe.spdx30_tasks
121 spdx_work_dir = Path(d.getVar('SPDXSDKEXTWORK'))
122
123 # TODO: This doesn't seem to work
124 oe.spdx30_tasks.sdk_create_spdx(d, "target", spdx_work_dir, d.getVar("TOOLCHAINEXT_OUTPUTNAME"))
125}
126
127
128python sdk_create_sbom() {
129 from pathlib import Path
130 import oe.spdx30_tasks
131 sdk_deploydir = Path(d.getVar("SDKDEPLOYDIR"))
132 spdx_work_dir = Path(d.getVar('SPDXSDKWORK'))
133
134 oe.spdx30_tasks.create_sdk_sbom(d, sdk_deploydir, spdx_work_dir, d.getVar("TOOLCHAIN_OUTPUTNAME"))
135}
136
137python sdk_ext_create_sbom() {
138 from pathlib import Path
139 import oe.spdx30_tasks
140 sdk_deploydir = Path(d.getVar("SDKEXTDEPLOYDIR"))
141 spdx_work_dir = Path(d.getVar('SPDXSDKEXTWORK'))
142
143 oe.spdx30_tasks.create_sdk_sbom(d, sdk_deploydir, spdx_work_dir, d.getVar("TOOLCHAINEXT_OUTPUTNAME"))
144}
145