The commands passed to subprocess are tuples which when passed to a % format are treated as multiple format arguments instead of a single argument to be coerced by "%s". This results in a TypeError being raised with python claiming that not all arguments were consumed.
Fix this by wrapping the command tuple in a str() call, as is done for the logging strings [YOCTO #15078] Signed-off-by: Joshua Watt <[email protected]> --- scripts/runqemu | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/runqemu b/scripts/runqemu index 1a378925ce..6e7575c083 100755 --- a/scripts/runqemu +++ b/scripts/runqemu @@ -1042,7 +1042,7 @@ to your build configuration. cmd = ('runqemu-extract-sdk', src, dest) logger.info('Running %s...' % str(cmd)) if subprocess.call(cmd) != 0: - raise RunQemuError('Failed to run %s' % cmd) + raise RunQemuError('Failed to run %s' % str(cmd)) self.rootfs = dest self.cleanup_files.append(self.rootfs) self.cleanup_files.append('%s.pseudo_state' % self.rootfs) @@ -1051,7 +1051,7 @@ to your build configuration. cmd = ('runqemu-export-rootfs', 'start', self.rootfs) logger.info('Running %s...' % str(cmd)) if subprocess.call(cmd) != 0: - raise RunQemuError('Failed to run %s' % cmd) + raise RunQemuError('Failed to run %s' % str(cmd)) self.nfs_running = True @@ -1060,7 +1060,7 @@ to your build configuration. if cmd != '': logger.info('Running setup command %s' % str(cmd)) if subprocess.call(cmd, shell=True) != 0: - raise RunQemuError('Failed to run %s' % cmd) + raise RunQemuError('Failed to run %s' % str(cmd)) def setup_net_bridge(self): self.set('NETWORK_CMD', '-netdev bridge,br=%s,id=net0,helper=%s -device virtio-net-pci,netdev=net0 ' % ( @@ -1554,7 +1554,7 @@ to your build configuration. if cmd != '': logger.info('Running cleanup command %s' % str(cmd)) if subprocess.call(cmd, shell=True) != 0: - raise RunQemuError('Failed to run %s' % cmd) + raise RunQemuError('Failed to run %s' % str(cmd)) def cleanup(self): if self.cleaned: @@ -1663,7 +1663,7 @@ to your build configuration. return result raise RunQemuError("Native sysroot directory %s doesn't exist" % result) else: - raise RunQemuError("Can't find STAGING_BINDIR_NATIVE in '%s' output" % cmd) + raise RunQemuError("Can't find STAGING_BINDIR_NATIVE in '%s' output" % str(cmd)) def main(): -- 2.33.0
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#178988): https://lists.openembedded.org/g/openembedded-core/message/178988 Mute This Topic: https://lists.openembedded.org/mt/97803667/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
