bitbake/cooker.py: Fix -b option regexp handling

bitbake -b core-image was showing no matches when it should list all targets
containing the fragment "core-image". This patch only calls os.path.abspath()
on things that look like paths and passed the path around more consistently to
various functions to get this use case working again.

(Bitbake rev: 6e9119c42d3f4cb3dab3d25856eee8b4bf4ad94f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2011-05-27 15:11:49 +01:00
parent a667251041
commit 65b5553278
1 changed files with 6 additions and 7 deletions

View File

@ -679,22 +679,22 @@ class BBCooker:
bb.data.setVar("BUILDNAME", time.strftime('%Y%m%d%H%M'), self.configuration.data)
bb.data.setVar("BUILDSTART", time.strftime('%m/%d/%Y %H:%M:%S', time.gmtime()), self.configuration.data)
def matchFiles(self, buildfile):
def matchFiles(self, bf):
"""
Find the .bb files which match the expression in 'buildfile'.
"""
bf = os.path.abspath(buildfile)
if bf.startswith("/") or bf.startswith("../"):
bf = os.path.abspath(bf)
filelist, masked = self.collect_bbfiles()
try:
os.stat(bf)
return [bf]
except OSError:
regexp = re.compile(buildfile)
regexp = re.compile(bf)
matches = []
for f in filelist:
if regexp.search(f) and os.path.isfile(f):
bf = f
matches.append(f)
return matches
@ -725,8 +725,7 @@ class BBCooker:
task = self.configuration.cmd
fn, cls = bb.cache.Cache.virtualfn2realfn(buildfile)
fn = os.path.abspath(fn)
buildfile = self.matchFile(fn)
fn = self.matchFile(fn)
self.buildSetVars()
@ -735,7 +734,7 @@ class BBCooker:
self.configuration.data)
infos = dict(infos)
fn = bb.cache.Cache.realfn2virtual(buildfile, cls)
fn = bb.cache.Cache.realfn2virtual(fn, cls)
try:
maininfo = infos[fn]
except KeyError: