From patchwork Thu Nov 22 21:40:18 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [bitbake-devel] fetch2/local: Improve handling of wildcard matches Date: Thu, 22 Nov 2012 21:40:18 -0000 From: Richard Purdie X-Patchwork-Id: 39513 Message-Id: <1353620418.10459.63.camel@ted> To: bitbake-devel 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 --- diff --git a/bitbake/lib/bb/fetch2/local.py b/bitbake/lib/bb/fetch2/local.py index 690532d..7ea2f3b 100644 --- a/bitbake/lib/bb/fetch2/local.py +++ b/bitbake/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))