Otherwise spdx can have references for data that is not packed.
in the package delivered.
During do_package_write_ipk task in do_package_ipk some files
is cleaned up from packages-split directory in the funcion
cleanupcontrol.
This also fixes the following race condictions when the do_create_spdx
task runs the add_package_files function and these files is been deleted
at same time in the task do_package_write_ipk:
ERROR: alsa-topology-conf-1.2.5.1-r0 do_create_spdx: Error executing a python
function in exec_func_python() autogenerated:
The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_func_python() autogenerated', lineno: 2, function: <module>
0001:
*** 0002:do_create_spdx(d)
0003:
File:
'/srv/oe/build/conf/../../layers/openembedded-core/meta/classes/create-spdx.bbclass',
lineno: 567, function: do_create_spdx
0563: package_doc.add_relationship(package_doc, "DESCRIBES",
spdx_package)
0564:
0565: package_archive = deploy_dir_spdx / "packages" /
(package_doc.name + ".tar.zst")
0566: with optional_tarfile(package_archive, archive_packaged)
as archive:
*** 0567: package_files = add_package_files(
0568: d,
0569: package_doc,
0570: spdx_package,
0571: pkgdest / package,
File:
'/srv/oe/build/conf/../../layers/openembedded-core/meta/classes/create-spdx.bbclass',
lineno: 234, function: add_package_files
0230: info.mtime = source_date_epoch
0231:
0232: archive.addfile(info, f)
0233:
*** 0234: sha1 = bb.utils.sha1_file(filepath)
0235: sha1s.append(sha1)
0236: spdx_file.checksums.append(oe.spdx.SPDXChecksum(
0237: algorithm="SHA1",
0238: checksumValue=sha1,
File: '/srv/oe/bitbake/lib/bb/utils.py', lineno: 559, function: sha1_file
0555: """
0556: Return the hex string representation of the SHA1 checksum of the
filename
0557: """
0558: import hashlib
*** 0559: return _hasher(hashlib.sha1(), filename)
0560:
0561:def sha384_file(filename):
0562: """
0563: Return the hex string representation of the SHA384 checksum of
the filename
File: '/srv/oe/bitbake/lib/bb/utils.py', lineno: 528, function: _hasher
0524:
0525:def _hasher(method, filename):
0526: import mmap
0527:
*** 0528: with open(filename, "rb") as f:
0529: try:
0530: with mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ) as
mm:
0531: for chunk in iter(lambda: mm.read(8192), b''):
0532: method.update(chunk)
Exception: FileNotFoundError: [Errno 2] No such file or directory:
'/srv/oe/build/tmp-lmp/work/all-lmp-linux/alsa-topology-conf/1.2.5.1-r0/packages-split/alsa-topology-conf/CONTROL/control'
ERROR: Logfile of failure stored in:
/srv/oe/build/tmp-lmp/work/all-lmp-linux/alsa-topology-conf/1.2.5.1-r0/temp/log.do_create_spdx.998864
INFO: recipe alsa-topology-conf-1.2.5.1-r0: task do_create_spdx: Failed
Signed-off-by: Jose Quaresma <[email protected]>
---
meta/classes/create-spdx.bbclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/classes/create-spdx.bbclass b/meta/classes/create-spdx.bbclass
index 15cccac84b..c4930b0de7 100644
--- a/meta/classes/create-spdx.bbclass
+++ b/meta/classes/create-spdx.bbclass
@@ -588,7 +588,7 @@ python do_create_spdx() {
oe.sbom.write_doc(d, package_doc, "packages",
indent=get_json_indent(d))
}
# NOTE: depending on do_unpack is a hack that is necessary to get it's
dependencies for archive the source
-addtask do_create_spdx after do_package do_packagedata do_unpack before
do_populate_sdk do_build do_rm_work
+addtask do_create_spdx after do_package_write_rpm do_package_write_ipk
do_package_write_deb do_unpack before do_populate_sdk do_build do_rm_work
SSTATETASKS += "do_create_spdx"
do_create_spdx[sstate-inputdirs] = "${SPDXDEPLOY}"
--
2.37.1
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#168597):
https://lists.openembedded.org/g/openembedded-core/message/168597
Mute This Topic: https://lists.openembedded.org/mt/92666627/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-