[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