| Message ID | 20231215171046.2926492-1-jpuhlman@mvista.com |
|---|---|
| State | Accepted, archived |
| Commit | bb9f2a9c0ff5dcdeaf1a0beb6a614d0d022a2481 |
| Headers | show |
| Series | create-spdx-2.2: combine spdx can try to write before dir creation | expand |
LGTM, Thanks Reviewed-By: Joshua Watt <JPEWhacker@gmail.com> On Fri, Dec 15, 2023 at 10:11 AM Jeremy Puhlman via lists.openembedded.org <jpuhlman=mvista.com@lists.openembedded.org> wrote: > > From: "Jeremy A. Puhlman" <jpuhlman@mvista.com> > > On occasion a file is attmpeded to be opened prior to the > creation of the spdx_workdir. Create the directory before > the open, just in case. > > File: '/build/layers/poky/meta/classes/create-spdx-2.2.bbclass', lineno: 1081, function: combine_spdx > 1077: ) > 1078: > 1079: image_spdx_path = spdx_workdir / (rootfs_name + ".spdx.json") > 1080: > *** 1081: with image_spdx_path.open("wb") as f: > 1082: doc.to_json(f, sort_keys=True, indent=get_json_indent(d)) > > Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com> > --- > meta/classes/create-spdx-2.2.bbclass | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/meta/classes/create-spdx-2.2.bbclass b/meta/classes/create-spdx-2.2.bbclass > index b0aef80db1..486efadba9 100644 > --- a/meta/classes/create-spdx-2.2.bbclass > +++ b/meta/classes/create-spdx-2.2.bbclass > @@ -1075,7 +1075,7 @@ def combine_spdx(d, rootfs_name, rootfs_deploydir, rootfs_spdxid, packages, spdx > "%s:%s" % (runtime_ref.externalDocumentId, runtime_doc.SPDXID), > comment="Runtime dependencies for %s" % name > ) > - > + bb.utils.mkdirhier(spdx_workdir) > image_spdx_path = spdx_workdir / (rootfs_name + ".spdx.json") > > with image_spdx_path.open("wb") as f: > -- > 2.35.2 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#192536): https://lists.openembedded.org/g/openembedded-core/message/192536 > Mute This Topic: https://lists.openembedded.org/mt/103194653/3616693 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [JPEWhacker@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
Hello,
Most of the builds failed do_rootfs with:
ERROR: core-image-sato-1.0-r0 do_rootfs: 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:image_combine_spdx(d)
0003:
File: '/home/pokybuild/yocto-worker/qemuarm64-ltp/build/meta/classes/create-spdx-2.2.bbclass', lineno: 964, function: image_combine_spdx
0960: imgdeploydir = Path(d.getVar("IMGDEPLOYDIR"))
0961: img_spdxid = oe.sbom.get_image_spdxid(image_name)
0962: packages = image_list_installed_packages(d)
0963:
*** 0964: combine_spdx(d, image_name, imgdeploydir, img_spdxid, packages, Path(d.getVar("SPDXIMAGEWORK")))
0965:
0966: def make_image_link(target_path, suffix):
0967: if image_link_name:
0968: link = imgdeploydir / (image_link_name + suffix)
File: '/home/pokybuild/yocto-worker/qemuarm64-ltp/build/meta/classes/create-spdx-2.2.bbclass', lineno: 1078, function: combine_spdx
1074: "OTHER",
1075: "%s:%s" % (runtime_ref.externalDocumentId, runtime_doc.SPDXID),
1076: comment="Runtime dependencies for %s" % name
1077: )
*** 1078: bb.utils.mkdirhier(spdx_workdir)
1079: image_spdx_path = spdx_workdir / (rootfs_name + ".spdx.json")
1080:
1081: with image_spdx_path.open("wb") as f:
1082: doc.to_json(f, sort_keys=True, indent=get_json_indent(d))
File: '/home/pokybuild/yocto-worker/qemuarm64-ltp/build/bitbake/lib/bb/utils.py', lineno: 764, function: mkdirhier
0760:def mkdirhier(directory):
0761: """Create a directory like 'mkdir -p', but does not complain if
0762: directory already exists like os.makedirs
0763: """
*** 0764: if directory.find('${') != -1:
0765: bb.fatal("Directory name {} contains unexpanded bitbake variable. This may cause build failures and WORKDIR polution.".format(directory))
0766: try:
0767: os.makedirs(directory)
0768: except OSError as e:
Exception: AttributeError: 'PosixPath' object has no attribute 'find'
On 15/12/2023 09:10:46-0800, Jeremy Puhlman via lists.openembedded.org wrote:
> From: "Jeremy A. Puhlman" <jpuhlman@mvista.com>
>
> On occasion a file is attmpeded to be opened prior to the
> creation of the spdx_workdir. Create the directory before
> the open, just in case.
>
> File: '/build/layers/poky/meta/classes/create-spdx-2.2.bbclass', lineno: 1081, function: combine_spdx
> 1077: )
> 1078:
> 1079: image_spdx_path = spdx_workdir / (rootfs_name + ".spdx.json")
> 1080:
> *** 1081: with image_spdx_path.open("wb") as f:
> 1082: doc.to_json(f, sort_keys=True, indent=get_json_indent(d))
>
> Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
> ---
> meta/classes/create-spdx-2.2.bbclass | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/meta/classes/create-spdx-2.2.bbclass b/meta/classes/create-spdx-2.2.bbclass
> index b0aef80db1..486efadba9 100644
> --- a/meta/classes/create-spdx-2.2.bbclass
> +++ b/meta/classes/create-spdx-2.2.bbclass
> @@ -1075,7 +1075,7 @@ def combine_spdx(d, rootfs_name, rootfs_deploydir, rootfs_spdxid, packages, spdx
> "%s:%s" % (runtime_ref.externalDocumentId, runtime_doc.SPDXID),
> comment="Runtime dependencies for %s" % name
> )
> -
> + bb.utils.mkdirhier(spdx_workdir)
> image_spdx_path = spdx_workdir / (rootfs_name + ".spdx.json")
>
> with image_spdx_path.open("wb") as f:
> --
> 2.35.2
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#192536): https://lists.openembedded.org/g/openembedded-core/message/192536
> Mute This Topic: https://lists.openembedded.org/mt/103194653/3617179
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
diff --git a/meta/classes/create-spdx-2.2.bbclass b/meta/classes/create-spdx-2.2.bbclass index b0aef80db1..486efadba9 100644 --- a/meta/classes/create-spdx-2.2.bbclass +++ b/meta/classes/create-spdx-2.2.bbclass @@ -1075,7 +1075,7 @@ def combine_spdx(d, rootfs_name, rootfs_deploydir, rootfs_spdxid, packages, spdx "%s:%s" % (runtime_ref.externalDocumentId, runtime_doc.SPDXID), comment="Runtime dependencies for %s" % name ) - + bb.utils.mkdirhier(spdx_workdir) image_spdx_path = spdx_workdir / (rootfs_name + ".spdx.json") with image_spdx_path.open("wb") as f: