summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2012-11-22 21:40:18 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-11-25 21:34:46 +0000
commit07b5f84133ac79aac4e939ea5f24390ad7f940a5 (patch)
tree17d572ccfdb3a98cdff3d1e804cf4d80e2bf039f
parent4548a8f037eaf8d47a77052acc3e9ec264ac41e0 (diff)
downloadbitbake-07b5f84133ac79aac4e939ea5f24390ad7f940a5.tar.gz
fetch2/local: Improve handling of wildcard matches
Currently wildcard matches end up working by FILESDIR being defined in the metadata to a default of "." in FILESPATH which is hacky at best. This patch adds the behaviour into the fetcher so its at least slightly more explicit. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--lib/bb/fetch2/local.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/bb/fetch2/local.py b/lib/bb/fetch2/local.py
index 690532d63..7ea2f3b2e 100644
--- a/lib/bb/fetch2/local.py
+++ b/lib/bb/fetch2/local.py
@@ -62,7 +62,12 @@ class Local(FetchMethod):
if filesdir:
logger.debug(2, "Searching for %s in path: %s" % (path, filesdir))
newpath = os.path.join(filesdir, path)
- if not os.path.exists(newpath) and path.find("*") == -1:
+ if not newpath or not os.path.exists(newpath) and path.find("*") != -1:
+ # For expressions using '*', best we can do is take the first directory in FILESPATH that exists
+ newpath = bb.utils.which(filespath, ".")
+ logger.debug(2, "Searching for %s in path: %s" % (path, newpath))
+ return newpath
+ if not os.path.exists(newpath):
dldirfile = os.path.join(d.getVar("DL_DIR", True), path)
logger.debug(2, "Defaulting to %s for %s" % (dldirfile, path))
bb.utils.mkdirhier(os.path.dirname(dldirfile))