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

Robert P. J. Day rpjday at crashcourse.ca
Thu Dec 6 18:03:52 UTC 2012


  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.

  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))}"
FILESPATH =. "${@base_set_filespath(["${THISDIR}/${PN}"], d)}:"


  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

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                        http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================




More information about the Openembedded-core mailing list