[Openembedded-architecture] bblayers.conf - Past, Present and Future?

Koen Kooi koen at dominion.thruhere.net
Sun May 15 10:26:50 UTC 2016


> Op 13 mei 2016, om 04:20 heeft Paul Eggleton <paul.eggleton at linux.intel.com> het volgende geschreven:
> 
> On Thu, 12 May 2016 20:46:25 Trevor Woerner wrote:
>> On Fri 2016-05-13 @ 07:55:05 AM, Paul Eggleton wrote:
>>> On Thu, 12 May 2016 09:08:14 Trevor Woerner wrote:
>>>> I often try to start an Angstrom build and then have to go into
>>>> bblayers.conf to disable a bunch of layers because they don't "play
>>>> nice" with each other. Of course bitbake only tells me about them one at
>>>> a time, so I end up having to 1) start a build 2) get an error from
>>>> bitbake about a bad layer 3) edit bblayers.conf 4) goto 1. I usually go
>>>> through this cycle about 5-6 times, then my build can proceed (once the
>>>> 5-6 bad layers have been weeded out).
>>> 
>>> Can you be a bit more specific about the kinds of failures you're
>>> resolving
>>> here? Are they mismatched bbappends, overridden configuration, ... ?
>> 
>> When I setup a build using the angstrom manifest, it initially creates a
>> bblayers.conf file that looks like:
>> 
>>        # LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
>> # changes incompatibly
>>        LCONF_VERSION = "6"
>>        TOPDIR := "${@os.path.dirname(os.path.dirname(d.getVar('FILE',
>> True)))}"
>> 
>>        BBPATH = "${TOPDIR}"
>> 
>>        BBFILES = ""
>> 
>>        # These layers hold recipe metadata not found in OE-core, but lack
>> any machine or distro content BASELAYERS ?= " \
>>          ${TOPDIR}/layers/meta-openembedded/meta-oe \
>>          ${TOPDIR}/layers/meta-openembedded/meta-efl \
>>          ${TOPDIR}/layers/meta-openembedded/meta-gpe \
>>          ${TOPDIR}/layers/meta-openembedded/meta-gnome \
>>          ${TOPDIR}/layers/meta-openembedded/meta-xfce \
>>          ${TOPDIR}/layers/meta-openembedded/meta-initramfs \
>>          ${TOPDIR}/layers/meta-openembedded/meta-multimedia \
>>          ${TOPDIR}/layers/meta-openembedded/meta-networking \
>>          ${TOPDIR}/layers/meta-openembedded/meta-webserver \
>>          ${TOPDIR}/layers/meta-openembedded/meta-ruby \
>>          ${TOPDIR}/layers/meta-openembedded/meta-filesystems \
>>          ${TOPDIR}/layers/meta-openembedded/meta-perl \
>>          ${TOPDIR}/layers/meta-openembedded/meta-python \
>>          ${TOPDIR}/layers/meta-kde4 \
>>          ${TOPDIR}/layers/meta-java \
>>          ${TOPDIR}/layers/meta-browser \
>>          ${TOPDIR}/layers/meta-mono \
>>          ${TOPDIR}/layers/meta-qt5 \
>>          ${TOPDIR}/layers/meta-openembedded/meta-systemd \
>>          ${TOPDIR}/layers/meta-ros \
>>          ${TOPDIR}/layers/meta-uav \
>>          ${TOPDIR}/layers/meta-telephony \
>>          ${TOPDIR}/layers/meta-beagleboard/meta-beagleboard-extras \
>>          ${TOPDIR}/layers/meta-photography \
>>          ${TOPDIR}/layers/meta-musl \
>>          ${TOPDIR}/layers/meta-maker \
>>        "
>> 
>>        # These layers hold machine specific content, aka Board Support
>> Packages BSPLAYERS ?= " \
>>          ${TOPDIR}/layers/meta-beagleboard/common-bsp \
>>          ${TOPDIR}/layers/meta-ti \
>>          ${TOPDIR}/layers/meta-fsl-arm \
>>          ${TOPDIR}/layers/meta-fsl-arm-extra \
>>          ${TOPDIR}/layers/meta-altera \
>>          ${TOPDIR}/layers/meta-jetson-tk1 \
>>          ${TOPDIR}/layers/meta-nslu2 \
>>          ${TOPDIR}/layers/meta-smartphone/meta-htc \
>>          ${TOPDIR}/layers/meta-smartphone/meta-nokia \
>>          ${TOPDIR}/layers/meta-smartphone/meta-openmoko \
>>          ${TOPDIR}/layers/meta-smartphone/meta-palm \
>>          ${TOPDIR}/layers/meta-handheld \
>>          ${TOPDIR}/layers/meta-intel \
>>          ${TOPDIR}/layers/meta-sunxi \
>>          ${TOPDIR}/layers/meta-raspberrypi \
>>          ${TOPDIR}/layers/meta-minnow \
>>          ${TOPDIR}/layers/meta-dominion \
>>          ${TOPDIR}/layers/meta-atmel \
>>          ${TOPDIR}/layers/meta-exynos \
>>          ${TOPDIR}/layers/meta-gumstix-community \
>>          ${TOPDIR}/layers/meta-qcom \
>>          ${TOPDIR}/layers/meta-ettus/common \
>>          ${TOPDIR}/layers/meta-openpandora \
>>          ${TOPDIR}/layers/meta-edison \
>>          ${TOPDIR}/layers/meta-96boards \
>>        "
>> 
>>        # Add your overlay location to EXTRALAYERS
>>        # Make sure to have a conf/layers.conf in there
>>        EXTRALAYERS ?= " \
>>          ${TOPDIR}/layers/meta-linaro/meta-linaro \
>>          ${TOPDIR}/layers/meta-linaro/meta-linaro-toolchain \
>>          ${TOPDIR}/layers/meta-linaro/meta-aarch64 \
>>        "
>> 
>>        BBLAYERS = " \
>>          ${TOPDIR}/layers/meta-angstrom \
>>          ${BASELAYERS} \
>>          ${BSPLAYERS} \
>>          ${EXTRALAYERS} \
>>          ${TOPDIR}/layers/openembedded-core/meta \
>>        "
>> 
>> If I then attempt to
>> 	$ bitbake console-image
>> I get:
>> 
>> -----------------------------------------------------------------
>> issue 1:
>>        ERROR: ParseError at
>> /z/angstrom/test1/layers/meta-kde4/classes/kde_cmake.bbclass:5: Could not
>> inherit file classes/qt4x11.bbclass solution:
>>        remove meta-qt4 from bblayers.conf
> 
> You mean meta-kde4 right? The fact that you don't have meta-qt4 is the problem 
> here.
> 
>> -----------------------------------------------------------------
>> issue 2:
>>        ERROR: ParseError at
>> /z/angstrom/test1/layers/meta-uav/recipes-mavlink/qgroundcontrol/qgroundcon
>> trol_2.0.3.bb:7: Could not inherit file classes/qt4x11.bbclass solution:
>>        remove meta-uav from bblayers.conf
> 
> Same as above - missing meta-qt4.

Dropped meta-kde4 and added meta-qt4

> -----------------------------------------------------------------
>> issue 3:
>>        ERROR: ParseError at
>> /z/angstrom/test1/layers/meta-edison/recipes-images/core/core-image-base-ed
>> ison.bb:30: Could not inherit file classes/bootimg.bbclass solution:
>>        remove meta-edison from bblayers.conf
> 
> OK, this one is meta-edison being out-of-date with respect to krogoth/master.

Fixed that one as well.

> -----------------------------------------------------------------
>> build succeeds, but:
>>        WARNING: No recipes available for:
>> 
>> /z/angstrom/test1/layers/meta-jetson-tk1/recipes-graphics/mesa/mesa_10%.bba
>> ppend
>> /z/angstrom/test1/layers/meta-jetson-tk1/recipes-graphics/wayland/weston_1.
>> 8%.bbappend
>> /z/angstrom/test1/layers/meta-openpandora/recipes-core/netbase/netbase_5.0.
>> bbappend
> 
> meta-openpandora mixing in distro stuff unfortunately :/ It might be argued 
> that meta-jetson-tk1 is doing the same.

Dropped meta-openpandora

> /z/angstrom/test1/layers/meta-musl/recipes-core/systemd/systemd_225.bbappen
>> d
> 
> Is meta-musl needed anymore? I thought Khem had all the necessary support for 
> musl in OE-Core by now.

Dropped that one as well for the time being.

> /z/angstrom/test1/layers/meta-maker/recipes-python/pyyaml/python-pyyaml_3.1
>> 0.bbappend
> 
> This fix is already in meta-python - Koen, why is this hack still in 
> meta-maker?

A combination of not having a ‘jethro’ branch and missing both ‘master’ and ‘krogoth’ CI loops in the angstrom jenkins.

> So some of this is layers doing things they shouldn't, but it also looks like 
> there's some misconfiguration as well.

Thanks for looking into this, I’ve fixed the layers I have commit access to and dropped the ones where I don’t have access to. I’ve added ‘add “krogoth” branches were needed’ and ‘add CI loops’ to my TODO. If the weather forecast is to believed I’ll have ample time to look into it during this long weekend.

regards,

Koen


More information about the Openembedded-architecture mailing list