Patchwork [bitbake-devel,RFC] parse: Return IOError when including file with absolute path

mail settings
Submitter Martin Jansa
Date Aug. 23, 2013, 4:48 p.m.
Message ID <>
Download mbox | patch
Permalink /patch/56427/
State Accepted, archived
Headers show


Martin Jansa - Aug. 23, 2013, 4:48 p.m.
* resolve_file was behaving different when relative and absolute
  paths were passed to it

* include relative-path/
  works correctly resolve_file throws IOError,
  doesn't catch it, catches IOError and shows:
  DEBUG: CONF file 'relative-path/' not found
* include /absolute-path/
  was failing, because resolve_file just returns fn, calls bb.parse.mark_dependency(d, abs_fn)
  which throws:
  OSError: [Errno 2] No such file or directory: '/absolute-path/'
  and parsing fails.
  Ad isfile() test for absolute fn and throw IOError to make
  resolve_file behavior consistent for both paths.

* I know we had some issues with -b and
  absolute path, so consider this patch only as RFC and documentation of
  this problem

Signed-off-by: Martin Jansa <>
 lib/bb/parse/ | 3 +++
 1 file changed, 3 insertions(+)


diff --git a/lib/bb/parse/ b/lib/bb/parse/
index 3f93ad2..c973f6f 100644
--- a/lib/bb/parse/
+++ b/lib/bb/parse/
@@ -107,6 +107,9 @@  def resolve_file(fn, d):
             raise IOError("file %s not found in %s" % (fn, bbpath))
         fn = newfn
+    if not os.path.isfile(fn):
+        raise IOError("file %s not found" % fn)
     logger.debug(2, "LOAD %s", fn)
     return fn