Thread (5 messages) 5 messages, 4 authors, 2021-09-23

Re: [OE-core] [PATCH] create-spdx: Don't collect natives sources

From: Joshua Watt <hidden>
Date: 2021-09-23 12:16:36

On Thu, Sep 23, 2021, 5:27 AM Peter Kjellerstedt <
peter.kjellerstedt@axis.com> wrote:
quoted
-----Original Message-----
From: openembedded-core@lists.openembedded.org <openembedded-
core@lists.openembedded.org> On Behalf Of Konrad Weihmann
Sent: den 23 september 2021 10:24
To: Saul Wold <redacted>; openembedded-
core@lists.openembedded.org; JPEWhacker@gmail.com
Subject: Re: [OE-core] [PATCH] create-spdx: Don't collect natives sources



On 23.09.21 00:14, Saul Wold wrote:
quoted
When the collect_dep_sources() runs, it collects sources from both
native
quoted
and non-native recipes. Later when the GENERATED_FROM matching occurs
it
quoted
quoted
may find the file (via checksum) from the native recipe since it's the
same checksum as the target file. The that are generated DocumentRefs
point to the native recipe rather than the target recipe DocumentRef.

Signed-off-by: Saul Wold <redacted>
---
  meta/classes/create-spdx.bbclass | 4 ++++
  1 file changed, 4 insertions(+)
diff --git a/meta/classes/create-spdx.bbclass b/meta/classes/create-
spdx.bbclass
quoted
index 3c73c21c04..8f7fae43f1 100644
--- a/meta/classes/create-spdx.bbclass
+++ b/meta/classes/create-spdx.bbclass
@@ -336,6 +336,10 @@ def collect_dep_sources(d, dep_recipes):

      sources = {}
      for dep in dep_recipes:
+        # Don't collect sources from native recipes as they
+        # match non-native sources also.
+        if "-native" in dep.recipe.name:
That looks a bit too fuzzy to me - I would have expected

if dep.recipe.name.endswith("-native"):

here. Otherwise this is very prone to false positives
Absolutely. E.g., we have a recipe called crate-native-tls for
the native-tls Rust crate.

At the same time I hate all these hardcoded tests for recipe types
all over OE Core as they assume only the types that are in OE Core
exist without any (easy) way of extending the tests for non-OE Core
recipe types.

Would it instead be possible to add the is_native in do_create_spdx()
to the recipe object so that it is available here?
Yes. We should be able to add a custom annotation when we create the recipe
that we can check later

quoted
quoted
+            continue
          recipe_files = set(dep.recipe.hasFiles)

          for spdx_file in dep.doc.files:
//Peter
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help