[oe] [PATCH] Reverse the order of OVERRIDES

Martin Jansa martin.jansa at gmail.com
Sat Oct 16 18:04:08 UTC 2010


On Fri, Oct 15, 2010 at 5:36 AM, Chris Larson <kergoth at gmail.com> wrote:
> From: Chris Larson <chris_larson at mentor.com>
>
> Given the current implementation of OVERRIDES in bitbake, the variable is
> expected to contain elements in the order least specific to most specific,
> however, our current usage of it does not match that.  As one example, "local"
> is supposed to always be the most specific override, yet currently it's the
> least specific.  As another example, currently the target architecture is seen
> as more specific than the machine, which is also clearly wrong.
>
> It becomes clear that a reversal of the current value will bring us to a more
> sane behavior, and avoids the need for the dual overrides hack mentioned in
> the comments, so clean those up as well.
>
> This also introduces a MACHINE_OVERRIDES variable as a generic mechanism to
> inject overrides elements which are more specific than the distro but less
> specific than the machine, which is where things like MACHINE_CLASS or
> SOC_FAMILY or the like would go.  This variable is *space* separated, to make
> it easier and more convenient to assemble the variable incrementally, and it's
> then translated to : separated when used in OVERRIDES.
>
> Signed-off-by: Chris Larson <chris_larson at mentor.com>
> ---
>  conf/bitbake.conf                             |   17 +++--------------
>  conf/distro/include/arm-thumb.inc             |    6 +++---
>  conf/distro/micro.conf                        |    6 +++---
>  conf/distro/minimal.conf                      |    5 +++--
>  conf/distro/shr.conf                          |    5 +++--
>  conf/machine/fsg3be.conf                      |    2 +-
>  conf/machine/kixrp435.conf                    |    2 +-
>  conf/machine/nslu2be.conf                     |    2 +-
>  conf/machine/nslu2le.conf                     |    2 +-
>  recipes/binutils/binutils_csl-arm-20050416.bb |    2 +-
>  recipes/binutils/binutils_csl-arm-20050603.bb |    2 +-
>  recipes/eglibc/eglibc-package.bbclass         |    2 +-
>  recipes/glibc/glibc-package.inc               |    2 +-
>  recipes/prelink/prelink_20061027.bb           |    2 +-
>  recipes/prelink/prelink_20071009.bb           |    2 +-
>  recipes/prelink/prelink_20090925.bb           |    2 +-
>  16 files changed, 26 insertions(+), 35 deletions(-)

I'm sorry to notice too late, but this changes breaks do_unpack
behavior, machine dir in FILESPATHPKG are no longer preferred ie for
xorg-conf unpack:

now I get:

NOTE: package xserver-xorg-conf-0.1-r36: task do_unpack: Started
NOTE: Unpacking xserver-xorg-conf/xorg.conf to
/OE/tmpdir-shr/work/om-gta02-oe-linux-gnueabi/xserver-xorg-conf-0.1-r36/
NOTE: package xserver-xorg-conf-0.1-r36: task do_unpack: Succeeded

if I revert this commit:

NOTE: package xserver-xorg-conf-0.1-r36: task do_unpack: Started
NOTE: Unpacking xserver-xorg-conf/om-gta02/xorg.conf to
/OE/tmpdir-shr/work/om-gta02-oe-linux-gnueabi/xserver-xorg-conf-0.1-r36/
NOTE: package xserver-xorg-conf-0.1-r36: task do_unpack: Succeeded

Works OK if there is no "default" file (ie after rm
xserver-xorg-conf/xorg.conf).

Probably needs reversed OVERRIDES order also in bitbake.conf FILESPATH

FILESPATH = "${@':'.join([os.path.normpath(os.path.join(fp, p, o)) for
fp in d.getVar('FILESPATHBASE', 1).split(':') for p in
d.getVar('FILESPATHPKG', 1).split(':') for o in (d.getVar('OVERRIDES',
1) + ':').split(':')])}"

I'll try it and send patch.

Regards,




More information about the Openembedded-devel mailing list