[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 05:15:36 UTC 2015


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=b6a23572b8f14e27d4341892b9069e7cac1e9c14
>
> 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.

Andreas



More information about the Openembedded-devel mailing list