[oe] [oe-commits] Shiqun Lin : sanity.bbclass: improve the sanity check for PATH and BBPATH

Paul Eggleton paul.eggleton at linux.intel.com
Fri May 22 08:41:25 UTC 2015


On Friday 22 May 2015 07:15:36 Andreas Müller wrote:
> On Wed, May 20, 2015 at 11:20 PM,  <git at git.openembedded.org> wrote:
> > Module: openembedded-core.git
> > Branch: master-next
> > Commit: b6a23572b8f14e27d4341892b9069e7cac1e9c14
> > URL:   
> > http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=b6a23572b
> > 8f14e27d4341892b9069e7cac1e9c14
> > 
> > Author: Shiqun Lin <Shiqun.Lin at windriver.com>
> > Date:   Wed Jan  7 15:00:31 2015 +0800
> > 
> > sanity.bbclass: improve the sanity check for PATH and BBPATH
> > 
> > Build fails if "./" is in the PATH
> > 
> > To reproduce the issue:
> >   $ export PATH="./:$PATH"
> >   $ make -C build-tools elfutils
> >   
> >   Error: ./ld: unrecognized option '--sysroot=/'
> > 
> > Signed-off-by: Shiqun Lin <Shiqun.Lin at windriver.com>
> > Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
> > 
> > ---
> > 
> >  meta/classes/sanity.bbclass | 8 ++++----
> >  1 file changed, 4 insertions(+), 4 deletions(-)
> > 
> > diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
> > index fc8c980..e738110 100644
> > --- a/meta/classes/sanity.bbclass
> > +++ b/meta/classes/sanity.bbclass
> > 
> > @@ -653,9 +653,9 @@ def check_sanity_version_change(status, d):
> >              status.addresult("You have a 32-bit libc, but no 32-bit
> >              headers.  You must install the 32-bit libc headers.\n")>      
> >      bbpaths = d.getVar('BBPATH', True).split(":")
> > 
> > -    if ("." in bbpaths or "" in bbpaths) and not status.reparse:
> > 
> > +    if ("." in bbpaths or "./" in bbpaths or "" in bbpaths) and not 
status.reparse:
> >          status.addresult("BBPATH references the current directory, either
> >          through "    \> 
> > -                "an empty entry, or a '.'.\n\t This is unsafe and means
> > your "\ +                "an empty entry, a './' or a '.'.\n\t This is
> > unsafe and means your "\> 
> >                  "layer configuration is adding empty elements to
> >                  BBPATH.\n\t "\
> >                  "Please check your layer.conf files and other BBPATH "   
> >                      \
> >                  "settings to remove the current working directory "      
> >                      \
> > 
> > @@ -693,8 +693,8 @@ def check_sanity_everybuild(status, d):
> >      sanity_check_conffiles(status, d)
> >      
> >      paths = d.getVar('PATH', True).split(":")
> > 
> > -    if "." in paths or "" in paths:
> > -        status.addresult("PATH contains '.' or '' (empty element), which
> > will break the build, please remove this.\nParsed PATH is " + str(paths)
> > + "\n") +    if "." in paths or "./" in paths or "" in paths:
> > +        status.addresult("PATH contains '.', './' or '' (empty element),
> > which will break the build, please remove this.\nParsed PATH is " +
> > str(paths) + "\n")> 
> >      # Check that the DISTRO is valid, if set
> >      # need to take into account DISTRO renaming DISTRO
> > 
> > --
> 
> The PATH part is problematic: My system (fedora 22) or my user - have
> not yet checked where it comes from - sets './' in PATH. I am not
> happy risking fallout on my system for yocto's sanity.

FWIW, it's not in PATH for my account on F21.

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre



More information about the Openembedded-devel mailing list