[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