[OE-core] Overriding fixmepath

Kristian Amlie kristian.amlie at mender.io
Wed Jan 25 13:53:16 UTC 2017


>> Take a look at the attached file, to me the inclusion of .a files in
>> the
>> fixmepath file seems wrong, so I can start with that, unless you have
>> better idea.
> 
> I think this is a very good lead. The code searches for replacements to
> make with: "grep -Irl" (see sstate.bbclass) and it looks like its
> matching these files and shouldn't. We may need to make sstate.bbclass
> look something like:
> 
> SSTATE_SCAN_CMD ?= 'find ${SSTATE_BUILDDIR} \( -name "${@"\" -o -name \"".join(d.getVar("SSTATE_SCAN_FILES").split())}" \) -type f'
> SSTATE_SCAN_CMD_NATIVE ?= 'grep -Irl -e ${RECIPE_SYSROOT} -e ${RECIPE_SYSROOT_NATIVE} ${SSTATE_BUILDDIR}'
> 
> and then:
>     if bb.data.inherits_class('native', d) or bb.data.inherits_class('cross', d) or bb.data.inherits_class('sdk', d) or bb.data.inherits_class('crosssdk', d):
>         d.setVar('SSTATE_SCAN_CMD', '${SSTATE_SCAN_CMD_NATIVE}')
> 
> which means you'd be able to override the command being used to exclude
> .a files?

Thanks, good suggestion!

In order to make this overridable from any recipe, may I propose the following
patch instead? It has the advantage of avoiding the Python logic altogether, and
using weak defaults so that it can be easily overridden. One thing to note is
that I couldn't find the "sdk" class that was referenced in the Python
code. Does it exist anymore?

The mentioned patch is what I used, and it worked for me when I also added:

  SSTATE_SCAN_CMD = "true"

to the Go recipe.

-- 
Kristian



More information about the Openembedded-core mailing list