[OE-core] [PATCH] cross.bbclass: Preserve the bitbake configuration

Valluri, Amarnath amarnath.valluri at intel.com
Sun May 7 18:45:01 UTC 2017



> -----Original Message-----
> From: Richard Purdie [mailto:richard.purdie at linuxfoundation.org]
> Sent: Friday, May 5, 2017 4:10 PM
> To: Valluri, Amarnath <amarnath.valluri at intel.com>; openembedded-
> core at lists.openembedded.org
> Subject: Re: [OE-core] [PATCH] cross.bbclass: Preserve the bitbake
> configuration
> 
> On Fri, 2017-05-05 at 15:03 +0300, Amarnath Valluri wrote:
> > While preparing target_libdir and target_base_libdir we should
> > preserve the bitbake configuration used for 'base_libdir' and 'libdir'
> > instead of assuming ${base|exec}_prefix/${baselib}, which is not true
> > in case of merged '/usr'.
> >
> > Signed-off-by: Amarnath Valluri <amarnath.valluri at intel.com>
> > ---
> >  meta/classes/cross.bbclass | 6 ++++--
> >  1 file changed, 4 insertions(+), 2 deletions(-)
> >
> > diff --git a/meta/classes/cross.bbclass b/meta/classes/cross.bbclass
> > index 8757303..0195b26 100644
> > --- a/meta/classes/cross.bbclass
> > +++ b/meta/classes/cross.bbclass
> > @@ -53,8 +53,10 @@ SSTATE_SCAN_CMD ?=
> "${SSTATE_SCAN_CMD_NATIVE}"
> >  target_base_prefix := "${base_prefix}"
> >  target_prefix := "${prefix}"
> >  target_exec_prefix := "${exec_prefix}"
> > -target_base_libdir = "${target_base_prefix}/${baselib}"
> > -target_libdir = "${target_exec_prefix}/${baselib}"
> > +base_libdir_suffix := "${@base_libdir.split(base_prefix)[1] if
> > base_prefix != "" else base_libdir}"
> > +libdir_suffix := "${@libdir.split(exec_prefix)[1] if exec_prefix !=
> > "" else libdir}"
> > +target_base_libdir = "${target_base_prefix}${base_libdir_suffix}"
> > +target_libdir = "${target_exec_prefix}${libdir_suffix}"
> >  target_includedir := "${includedir}"
> 
> I think both Ross and myself have fairly strong reservations about making
> core class files practically unreadable in pursuit of this "merged usr" goal.
> 
> Why can't you simply add a conf/distro/include/mergedusr.inc which does
> something like:
> 
> target_base_libdir_class-cross = "xxx"
> 
> ?
> 
> You'd then have a single include file which anyone wanting to do this can
> select rather than complicating files which really don't need more
> complication.
We are using the similar custom configuration for achieving merged /usr, but felt like referring a undocumented class variable(target_base_libdir) in distro configuration is not right.

And this fix is not only limited to merged usr, cross.bbclass is not respecting the modified bitbake configuration(base_libdir). 

- Amarnath


More information about the Openembedded-core mailing list