bitbake: bitbake-diffsigs/bitbake-layers: Ensure tinfoil is shut down correctly

We should always shut down tinfoil when we're finished with it, either
by explicitly calling the shutdown() method or by using it as a
context manager ("with ...").

(Bitbake rev: 131e6dc4bbd197774d35d2b266bfb0816f6e6b1e)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Paul Eggleton 2015-08-05 15:47:12 +01:00 committed by Richard Purdie
parent 8f277fcf33
commit f551e67fa7
2 changed files with 26 additions and 23 deletions

View File

@ -115,9 +115,9 @@ parser.add_option("-t", "--task",
options, args = parser.parse_args(sys.argv) options, args = parser.parse_args(sys.argv)
if options.taskargs: if options.taskargs:
tinfoil = bb.tinfoil.Tinfoil() with bb.tinfoil.Tinfoil() as tinfoil:
tinfoil.prepare(config_only = True) tinfoil.prepare(config_only=True)
find_compare_task(tinfoil, options.taskargs[0], options.taskargs[1]) find_compare_task(tinfoil, options.taskargs[0], options.taskargs[1])
else: else:
if len(args) == 1: if len(args) == 1:
parser.print_help() parser.print_help()

View File

@ -87,31 +87,34 @@ def main():
plugins = [] plugins = []
tinfoil = tinfoil_init(False) tinfoil = tinfoil_init(False)
for path in ([topdir] + try:
tinfoil.config_data.getVar('BBPATH', True).split(':')): for path in ([topdir] +
pluginpath = os.path.join(path, 'lib', 'bblayers') tinfoil.config_data.getVar('BBPATH', True).split(':')):
bb.utils.load_plugins(logger, plugins, pluginpath) pluginpath = os.path.join(path, 'lib', 'bblayers')
bb.utils.load_plugins(logger, plugins, pluginpath)
registered = False registered = False
for plugin in plugins: for plugin in plugins:
if hasattr(plugin, 'register_commands'): if hasattr(plugin, 'register_commands'):
registered = True registered = True
plugin.register_commands(subparsers) plugin.register_commands(subparsers)
if hasattr(plugin, 'tinfoil_init'): if hasattr(plugin, 'tinfoil_init'):
plugin.tinfoil_init(tinfoil) plugin.tinfoil_init(tinfoil)
if not registered: if not registered:
logger.error("No commands registered - missing plugins?") logger.error("No commands registered - missing plugins?")
sys.exit(1) sys.exit(1)
args = parser.parse_args(unparsed_args, namespace=global_args) args = parser.parse_args(unparsed_args, namespace=global_args)
if getattr(args, 'parserecipes', False): if getattr(args, 'parserecipes', False):
tinfoil.config_data.disableTracking() tinfoil.config_data.disableTracking()
tinfoil.parseRecipes() tinfoil.parseRecipes()
tinfoil.config_data.enableTracking() tinfoil.config_data.enableTracking()
return args.func(args) return args.func(args)
finally:
tinfoil.shutdown()
if __name__ == "__main__": if __name__ == "__main__":