diff options
author | Joshua Lock <joshuagloe@gmail.com> | 2016-09-05 21:32:56 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-09-09 12:01:24 +0100 |
commit | a6448371b87f754def669adfdc01b07d18003405 (patch) | |
tree | b54f1827d4031b6bffadfabc0e8663666e7c8a05 /scripts | |
parent | 60ca8a8d899b90a4693fd62b6ec97d0c76a9f6c5 (diff) | |
download | openembedded-core-a6448371b87f754def669adfdc01b07d18003405.tar.gz openembedded-core-a6448371b87f754def669adfdc01b07d18003405.tar.bz2 openembedded-core-a6448371b87f754def669adfdc01b07d18003405.zip |
runqemu: assume artefacts are relative to *.qemuboot.conf
When runqemu is started with a *.qemuboot.conf arg assume that image
artefacts are relative to that file, rather than in whatever
directory the DEPLOY_DIR_IMAGE variable in the conf file points to.
Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/runqemu | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/scripts/runqemu b/scripts/runqemu index 7b0bcb24ee..5b719d5ac7 100755 --- a/scripts/runqemu +++ b/scripts/runqemu @@ -143,6 +143,7 @@ class BaseConfig(object): self.nfs_server = '' self.rootfs = '' self.qemuboot = '' + self.qbconfload = False self.kernel = '' self.kernel_cmdline = '' self.kernel_cmdline_script = '' @@ -239,6 +240,7 @@ class BaseConfig(object): """ if p.endswith('.qemuboot.conf'): self.qemuboot = p + self.qbconfload = True elif re.search('\.bin$', p) or re.search('bzImage', p) or \ re.search('zImage', p) or re.search('vmlinux', p) or \ re.search('fitImage', p) or re.search('uImage', p): @@ -250,7 +252,8 @@ class BaseConfig(object): if m: qb = '%s%s' % (re.sub('\.rootfs$', '', m.group(1)), '.qemuboot.conf') if os.path.exists(qb): - self.qemuboot = qb + self.qemuboot = qb + self.qbconfload = True else: logger.warn("%s doesn't exist" % qb) fst = m.group(2) @@ -533,6 +536,7 @@ class BaseConfig(object): qbs = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE).stdout.read().decode('utf-8') if qbs: self.qemuboot = qbs.split()[0] + self.qbconfload = True if not os.path.exists(self.qemuboot): raise Exception("Failed to find <image>.qemuboot.conf!") @@ -545,6 +549,15 @@ class BaseConfig(object): k_upper = k.upper() self.set(k_upper, v) + # When we're started with a *.qemuboot.conf arg assume that image + # artefacts are relative to that file, rather than in whatever + # directory DEPLOY_DIR_IMAGE in the conf file points to. + if self.qbconfload: + imgdir = os.path.dirname(self.qemuboot) + if imgdir != self.get('DEPLOY_DIR_IMAGE'): + logger.info('Setting DEPLOY_DIR_IMAGE to folder containing %s (%s)' % (self.qemuboot, imgdir)) + self.set('DEPLOY_DIR_IMAGE', imgdir) + def print_config(self): logger.info('Continuing with the following parameters:\n') if not self.fstype in self.vmtypes: |