[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 08:47:13 UTC 2015


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

Andreas



More information about the Openembedded-devel mailing list