package.bbclass: Fix populate_packages for glob expansion issues

Submitted by Richard Purdie on April 17, 2013, 3:20 p.m. | Patch ID: 48451


Message ID 1366212033.25282.35.camel@ted
State Accepted
Commit 138c5f3af892e33f576fc7dd268e122b179f82a1
Headers show

Commit Message

Richard Purdie April 17, 2013, 3:20 p.m.
If we put a valid glob like "*/foo/*" into FILES, populate_packages
breaks with a "file exists" message. This is because the glob expansion
does not have "./" prefix however there may already be an entry in
the seen list which does have such a prefix. The easiest/simplest fix
right now is to add the prefix if it doesn't exist which only happens
for certain globs.

(From OE-Core rev: 3c6b1730412e3c5b6f628a70b854c0631e7bd9dc)

Signed-off-by: Richard Purdie <>

Patch hide | download patch | download mbox

diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 4e9b79e..5765e12 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -946,6 +946,8 @@  python populate_packages () {
         for file in files:
             if os.path.isabs(file):
                 file = '.' + file
+            if not file.startswith("./"):
+                file = './' + file
             if not cpath.islink(file):
                 if cpath.isdir(file):
                     newfiles =  [ os.path.join(file,x) for x in os.listdir(file) ]