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

Andreas Müller schnitzeltony at googlemail.com
Fri May 22 09:18:20 UTC 2015


On Fri, May 22, 2015 at 10:47 AM, Andreas Müller
<schnitzeltony at googlemail.com> wrote:
> On Fri, May 22, 2015 at 10:41 AM, Paul Eggleton
> <paul.eggleton at linux.intel.com> wrote:
>> 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
> FWIW2 (forgive me - I was without coffee): Have F20 here not F22
>
OK I checked: the entry comes from my .bash_profile in home. As
/etc/skel/.bash_profile does not have it and fedora did not touch that
file for a while [1] it must have been me who added (although I cannot
remember) and we should close this with a 'sorry for the noise'.

[1] http://pkgs.fedoraproject.org/cgit/bash.git/log/dot-bash_profile

Andreas



More information about the Openembedded-core mailing list