[OE-core] slightly confused about .bbappend file and FILESPATH

Mark Hatle mark.hatle at windriver.com
Thu Dec 6 18:13:41 UTC 2012


On 12/6/12 12:03 PM, Robert P. J. Day wrote:
>
>    currently writing a tutorial page on how .bbappend files and
> FILESPATH work, and i wanted to use a live example, but now i'm
> confused.

The way it works is the same way as PATH in the shell.  It's just a set of 
search paths.

>    using meta-ti layer, i chose to build core-image-minimal for a
> beagleboard, for which the meta-ti layer has the following under
> recipes-core/netbase/ that i want to use as an example:
>
> $ find
> .
> ./netbase_5.0.bbappend
> ./netbase-5.0
> ./netbase-5.0/beagleboard
> ./netbase-5.0/beagleboard/interfaces
> $
>
> where the .bbappend file contains only:
>
> THISDIR := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}"

I believe this is the default value of 'THISDIR' already, so there is no reason 
to specify it in the .bbappend itself.

> FILESPATH =. "${@base_set_filespath(["${THISDIR}/${PN}"], d)}:"

In this example, it's incorrect.  As you have a directory named "netbase-5.0", 
so your FILESPATH should be: ${THISDIR}/${PN}-${PV}

--Mark

>
>    so my *understanding* is that this should result in nothing more
> than the "interfaces" file from the original oe-core recipe being
> overridden, based on the enhanced entries at the front of FILESPATH
> that should search in the meta-ti layer first.
>
>    but here's the problem -- for fun, i used chris larson's bitbake-env
> to print the value of FILESPATH for that recipe when building for
> beagle, and formatted to get:
>
> FILESPATH="/home/rpjday/OE/dist/layers/meta-ti/recipes-core/netbase/netbase/linux-gnueabi
> /home/rpjday/OE/dist/layers/meta-ti/recipes-core/netbase/netbase/arm
> /home/rpjday/OE/dist/layers/meta-ti/recipes-core/netbase/netbase/build-linux
> /home/rpjday/OE/dist/layers/meta-ti/recipes-core/netbase/netbase/pn-netbase
> /home/rpjday/OE/dist/layers/meta-ti/recipes-core/netbase/netbase/beagleboard
> /home/rpjday/OE/dist/layers/meta-ti/recipes-core/netbase/netbase/omap3
> /home/rpjday/OE/dist/layers/meta-ti/recipes-core/netbase/netbase/armv7a
> /home/rpjday/OE/dist/layers/meta-ti/recipes-core/netbase/netbase/
> /home/rpjday/OE/dist/layers/meta-ti/recipes-core/netbase/netbase/class-target
> /home/rpjday/OE/dist/layers/meta-ti/recipes-core/netbase/netbase/forcevariable
> /home/rpjday/OE/dist/layers/meta-ti/recipes-core/netbase/netbase/libc-glibc
> /home/rpjday/OE/dist/layers/meta-ti/recipes-core/netbase/netbase/
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/netbase-5.0/linux-gnueabi
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/netbase-5.0/arm
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/netbase-5.0/build-linux
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/netbase-5.0/pn-netbase
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/netbase-5.0/beagleboard
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/netbase-5.0/omap3
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/netbase-5.0/armv7a
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/netbase-5.0/
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/netbase-5.0/class-target
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/netbase-5.0/forcevariable
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/netbase-5.0/libc-glibc
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/netbase-5.0/
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/netbase/linux-gnueabi
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/netbase/arm
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/netbase/build-linux
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/netbase/pn-netbase
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/netbase/beagleboard
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/netbase/omap3
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/netbase/armv7a
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/netbase/
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/netbase/class-target
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/netbase/forcevariable
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/netbase/libc-glibc
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/netbase/
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/files/linux-gnueabi
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/files/arm
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/files/build-linux
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/files/pn-netbase
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/files/beagleboard
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/files/omap3
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/files/armv7a
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/files/
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/files/class-target
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/files/forcevariable
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/files/libc-glibc
> /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/files/"
>
>    see the oddity?  the first few entries will *not* find the
> interfaces file in the meta-ti layer, as they don't refer to the
> "netbase-5.0" directory (as do the ones in oe-core).
>
>    am i just not understanding something basic here?  i'm building a
> core-image-minimal for a beagle right now to see what i end up with,
> but given the FILESPATH above, how is the build supposed to pick up
> the beagle-specific "intxgerfaces" file without a reference to that
> meta-ti directory "netbase-5.0"?
>
> rday
>





More information about the Openembedded-core mailing list