[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