1
0
mirror of https://git.yoctoproject.org/poky synced 2026-06-02 01:19:52 +00:00

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=/'

(From OE-Core rev: b6a23572b8f14e27d4341892b9069e7cac1e9c14)

Signed-off-by: Shiqun Lin <Shiqun.Lin@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Shiqun Lin
2015-01-07 15:00:31 +08:00
committed by Richard Purdie
parent 9ceff87e71
commit 66e2eef21d
+4 -4
View File
@@ -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") 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(":") 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 " \ 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 "\ "layer configuration is adding empty elements to BBPATH.\n\t "\
"Please check your layer.conf files and other BBPATH " \ "Please check your layer.conf files and other BBPATH " \
"settings to remove the current working directory " \ "settings to remove the current working directory " \
@@ -693,8 +693,8 @@ def check_sanity_everybuild(status, d):
sanity_check_conffiles(status, d) sanity_check_conffiles(status, d)
paths = d.getVar('PATH', True).split(":") paths = d.getVar('PATH', True).split(":")
if "." in paths or "" in paths: 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") 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 # Check that the DISTRO is valid, if set
# need to take into account DISTRO renaming DISTRO # need to take into account DISTRO renaming DISTRO