scripts/runqemu: fix checking for <file>.cpio.gz
When "runqemu /path/to/<file>.cpio.gz", it used the last suffix "gz" as the fstype which was wrong. Check filename against self.fstypes firstly can fix the problem. (From OE-Core rev: 68c7589b67a83977331a04356b53aa51680a1d9d) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
55aa669750
commit
65a8d4d185
|
@ -269,19 +269,29 @@ class BaseConfig(object):
|
||||||
self.kernel = p
|
self.kernel = p
|
||||||
elif os.path.exists(p) and (not os.path.isdir(p)) and re.search('-image-', os.path.basename(p)):
|
elif os.path.exists(p) and (not os.path.isdir(p)) and re.search('-image-', os.path.basename(p)):
|
||||||
self.rootfs = p
|
self.rootfs = p
|
||||||
dirpath = os.path.dirname(p)
|
# Check filename against self.fstypes can hanlde <file>.cpio.gz,
|
||||||
m = re.search('(.*)\.(.*)$', p)
|
# otherwise, its type would be "gz", which is incorrect.
|
||||||
if m:
|
fst = ""
|
||||||
qb = '%s%s' % (re.sub('\.rootfs$', '', m.group(1)), '.qemuboot.conf')
|
for t in self.fstypes:
|
||||||
|
if p.endswith(t):
|
||||||
|
fst = t
|
||||||
|
break
|
||||||
|
if not fst:
|
||||||
|
m = re.search('.*\.(.*)$', self.rootfs)
|
||||||
|
if m:
|
||||||
|
fst = m.group(1)
|
||||||
|
if fst:
|
||||||
|
self.check_arg_fstype(fst)
|
||||||
|
qb = re.sub('\.' + fst + "$", '', self.rootfs)
|
||||||
|
qb = '%s%s' % (re.sub('\.rootfs$', '', qb), '.qemuboot.conf')
|
||||||
if os.path.exists(qb):
|
if os.path.exists(qb):
|
||||||
self.qemuboot = qb
|
self.qemuboot = qb
|
||||||
self.qbconfload = True
|
self.qbconfload = True
|
||||||
else:
|
else:
|
||||||
logger.warn("%s doesn't exist" % qb)
|
logger.warn("%s doesn't exist" % qb)
|
||||||
fst = m.group(2)
|
|
||||||
self.check_arg_fstype(fst)
|
|
||||||
else:
|
else:
|
||||||
raise Exception("Can't find FSTYPE from: %s" % p)
|
raise Exception("Can't find FSTYPE from: %s" % p)
|
||||||
|
|
||||||
elif os.path.isdir(p) or re.search(':', arg) and re.search('/', arg):
|
elif os.path.isdir(p) or re.search(':', arg) and re.search('/', arg):
|
||||||
if self.is_deploy_dir_image(p):
|
if self.is_deploy_dir_image(p):
|
||||||
logger.info('DEPLOY_DIR_IMAGE: %s' % p)
|
logger.info('DEPLOY_DIR_IMAGE: %s' % p)
|
||||||
|
|
Loading…
Reference in New Issue