On 9/23/21 5:16 AM, Joshua Watt wrote:


On Thu, Sep 23, 2021, 5:27 AM Peter Kjellerstedt <[email protected] <mailto:[email protected]>> wrote:

     > -----Original Message-----
     > From: [email protected]
    <mailto:[email protected]> <openembedded-
     > [email protected] <mailto:[email protected]>>
    On Behalf Of Konrad Weihmann
     > Sent: den 23 september 2021 10:24
     > To: Saul Wold <[email protected]
    <mailto:[email protected]>>; openembedded-
     > [email protected] <mailto:[email protected]>;
    [email protected] <mailto:[email protected]>
     > Subject: Re: [OE-core] [PATCH] create-spdx: Don't collect natives
    sources
     >
     >
     >
     > On 23.09.21 00:14, Saul Wold wrote:
     > > When the collect_dep_sources() runs, it collects sources from both
     > native
     > > and non-native recipes. Later when the GENERATED_FROM matching
    occurs it
     > > 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 <[email protected]
    <mailto:[email protected]>>
     > > ---
     > >   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
     > > 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
    
<https://urldefense.com/v3/__http://dep.recipe.name__;!!AjveYdw8EvQ!KhzFBhUyb3qZAcSIhlUVGRaWHWWBWh2YZu-s_7VeaS3HaafxJOuneeo9xWwBCOboCok$>:
     >
     > 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

I will re-work the patch and work on adding the is_native to the Recipe object.

Sau!


     > > +            continue
     > >           recipe_files = set(dep.recipe.hasFiles)
     > >
     > >           for spdx_file in dep.doc.files:

    //Peter


--
Sau!
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156266): 
https://lists.openembedded.org/g/openembedded-core/message/156266
Mute This Topic: https://lists.openembedded.org/mt/85801677/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to