Patchwork [v3,1/2] sanity.bbclass: warn the user if BBPATH contains wrong entries

login
register
mail settings
Submitter Laurentiu Palcu
Date June 13, 2012, 11:20 a.m.
Message ID <1339586425-702-2-git-send-email-laurentiu.palcu@intel.com>
Download mbox | patch
Permalink /patch/29785/
State New
Headers show

Comments

Laurentiu Palcu - June 13, 2012, 11:20 a.m.
If BBPATH references the working directory, the user is warned and asked
to fix the problem.

[Yocto #1465]

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
---
 meta/classes/sanity.bbclass |   11 +++++++++++
 1 file changed, 11 insertions(+)

Patch

diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
index f79fc3f..6ed1e6f 100644
--- a/meta/classes/sanity.bbclass
+++ b/meta/classes/sanity.bbclass
@@ -387,6 +387,17 @@  def check_sanity(sanity_data):
     if "." in paths or "" in paths:
         messages = messages + "PATH contains '.' or '', which will break the build, please remove this."
 
+    bbpaths = sanity_data.getVar('BBPATH', True).split(":")
+    if "." in bbpaths or "" in bbpaths:
+        # TODO: change the following message to fatal when all BBPATH issues
+        # are fixed
+        bb.warn("BBPATH references the current directory, either through "    \
+                "an empty entry, 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 "           \
+                "references.");
+
     if sanity_data.getVar('TARGET_ARCH', True) == "arm":
         # This path is no longer user-readable in modern (very recent) Linux
         try: