[OE-core] [bitbake-devel] how to store a modification of a bbclass in the poky layer in my own layer.

Davis Roman davis.roman84 at gmail.com
Fri Aug 17 23:07:21 UTC 2018


Hi Christopher,

I think I get it now.

Thank you so much for your time!

Davis

On Fri, Aug 17, 2018, 6:57 PM Christopher Larson <kergoth at gmail.com> wrote:

> Layer priority as defined by BBFILE_PRIORITY controls recipe selection,
> not bbclass and config file parsing. See the bitbake reference manual for
> more detail.
>
> On Fri, Aug 17, 2018 at 3:54 PM Davis Roman <davis.roman84 at gmail.com>
> wrote:
>
>> Hi Christopher,
>>
>> I am very intrigued by your response.
>>
>> Initially I had mentioned that the 'bitbake-layers show-layers'
>> command indicates that my layer, meta-hon-grip, has a priority of 8
>> which is among the highest while the meta layer only has a priority of
>> 5.
>>
>> However, now that you mentioned the bblayers.conf file, I see that the
>> meta-hon-grip layer is defined after the meta layer.
>>
>> Therefore it appears to me that my bblayers.conf contradicts
>> 'bitbake-layers show-layers'
>>
>> Could you please help me make sense of this?
>>
>> Thank you,
>>
>> Davis
>>
>>
>>
>> --------------------------------------------------------------------------------------------
>>
>> POKY_BBLAYERS_CONF_VERSION = "2"
>>
>> BBPATH = "${TOPDIR}"
>> BSPDIR := "${@os.path.abspath(os.path.dirname(d.getVar('FILE', True))
>> + '/../..')}"
>>
>> BBFILES ?= ""
>> BBLAYERS = " \
>>   ${BSPDIR}/sources/poky/meta \
>>   ${BSPDIR}/sources/poky/meta-poky \
>>   \
>>   ${BSPDIR}/sources/meta-openembedded/meta-oe \
>>   ${BSPDIR}/sources/meta-openembedded/meta-multimedia \
>>   \
>>   ${BSPDIR}/sources/meta-fsl-arm \
>>   ${BSPDIR}/sources/meta-fsl-arm-extra \
>>   ${BSPDIR}/sources/meta-fsl-demos \
>> "
>> ##Freescale Yocto Project Release layer
>> BBLAYERS += " ${BSPDIR}/sources/meta-fsl-bsp-release/imx/meta-bsp "
>> BBLAYERS += " ${BSPDIR}/sources/meta-fsl-bsp-release/imx/meta-sdk "
>> BBLAYERS += " ${BSPDIR}/sources/meta-browser "
>> BBLAYERS += " ${BSPDIR}/sources/meta-openembedded/meta-gnome "
>> BBLAYERS += " ${BSPDIR}/sources/meta-openembedded/meta-networking "
>> BBLAYERS += " ${BSPDIR}/sources/meta-openembedded/meta-python "
>> BBLAYERS += " ${BSPDIR}/sources/meta-openembedded/meta-filesystems "
>> BBLAYERS += " ${BSPDIR}/sources/meta-qt5 "
>> BBLAYERS += " ${BSPDIR}/sources/meta-hon-grip "
>> BBLAYERS += " ${BSPDIR}/sources/meta-java "
>> BBLAYERS += " ${BSPDIR}/sources/meta-swupdate "
>> BBLAYERS += " ${BSPDIR}/sources/meta-bc "
>> BBLAYERS += " ${BSPDIR}/sources/meta-updater "
>> BBLAYERS += " ${BSPDIR}/sources/meta-gplv2 "
>>
>> On Fri, Aug 17, 2018 at 6:01 PM, Christopher Larson <kergoth at gmail.com>
>> wrote:
>> > Your layer has to be before poky/meta in BBLAYERS, as that determines
>> > BBPATH, which is how bbclasses and config files are found (much like
>> PATH).
>> >
>> > On Fri, Aug 17, 2018 at 12:11 PM Davis Roman <davis.roman84 at gmail.com>
>> > wrote:
>> >>
>> >> Hello!
>> >>
>> >>
>> >> I've made a modification in poky/meta/classes/libc-package.bbclass (
>> >> shown below)
>> >>
>> >> However I don't want this change to be stored here long term and
>> >> instead feel that it should live in my project specific layer,
>> >> meta-hon-grip.
>> >>
>> >> After checking with bitbake-layers, I saw that my layer has a higher
>> >> priority than the poky layer so my layer should be checked first ( or
>> >> so I thought)
>> >>
>> >> I copied the modified version of libc-packages.bbclass into
>> >> meta-hon-grip/classes and I restored the version in the poky layer to
>> >> its original state.
>> >>
>> >> After making this change, I found that the modified version in my
>> >> layer is not being used and instead the version in the poky layer is
>> >> the one in play.
>> >>
>> >> I'm trying to figure out what else to try.
>> >>
>> >> Any suggestions would be greatly appreciated!
>> >>
>> >> Thank you,
>> >>
>> >> Davis
>> >>
>> >> diff --git a/meta/classes/libc-package.bbclass
>> >> b/meta/classes/libc-package.bbclass
>> >> index 467d567..72d447a 100644
>> >> --- a/meta/classes/libc-package.bbclass
>> >> +++ b/meta/classes/libc-package.bbclass
>> >> @@ -287,7 +287,7 @@ python package_do_split_gconvs () {
>> >>                  bb.error("locale_arch_options not found for
>> >> target_arch=" + target_arch)
>> >>                  raise bb.build.FuncFailed("unknown arch:" +
>> >> target_arch + " for locale_arch_options")
>> >>
>> >> -            localedef_opts += " --force --old-style --no-archive
>> >> --prefix=%s \
>> >> +            localedef_opts += " --force --no-archive --prefix=%s \
>> >>                  --inputfile=%s/%s/i18n/locales/%s --charmap=%s %s/%s"
>> \
>> >>                  % (treedir, treedir, datadir, locale, encoding,
>> >> outputpath, name)
>> >>
>> >> @@ -295,7 +295,7 @@ python package_do_split_gconvs () {
>> >>                  (path, i18npath, gconvpath, localedef_opts)
>> >>          else: # earlier slower qemu way
>> >>              qemu = qemu_target_binary(d)
>> >> -            localedef_opts = "--force --old-style --no-archive
>> >> --prefix=%s \
>> >> +            localedef_opts = "--force --no-archive --prefix=%s \
>> >>                  --inputfile=%s/i18n/locales/%s --charmap=%s %s" \
>> >>                  % (treedir, datadir, locale, encoding, name)
>> >> --
>> >> _______________________________________________
>> >> bitbake-devel mailing list
>> >> bitbake-devel at lists.openembedded.org
>> >> http://lists.openembedded.org/mailman/listinfo/bitbake-devel
>> >
>> >
>> >
>> > --
>> > Christopher Larson
>> > kergoth at gmail dot com
>> > Founder - BitBake, OpenEmbedded, OpenZaurus
>> > Senior Software Engineer, Mentor Graphics
>>
>
>
> --
> Christopher Larson
> kergoth at gmail dot com
> Founder - BitBake, OpenEmbedded, OpenZaurus
> Senior Software Engineer, Mentor Graphics
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20180817/8a3ef4be/attachment-0002.html>


More information about the Openembedded-core mailing list