diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2018-03-26 16:59:32 +1300 |
---|---|---|
committer | Paul Eggleton <paul.eggleton@linux.intel.com> | 2018-05-04 23:57:53 +1200 |
commit | acac7d6e9ce77a0e9aedb6ff2429fff5710edfa6 (patch) | |
tree | fb0d52728d80046bfc144811008434f0d6d431c9 /rrs/tools/upgrade_history_internal.py | |
parent | ba27f9fee0c3ac0d04ed801d523837a1df03b4b0 (diff) | |
download | openembedded-core-contrib-acac7d6e9ce77a0e9aedb6ff2429fff5710edfa6.tar.gz |
rrs_upgrade_history.py: ensure we shut down tinfoil safely
Use try...finally to ensure we shut down tinfoil, but since we are
potentially dealing with older bitbake releases when importing older
upgrades, only call shutdown() if it's actually there (and although it's
unlikely, guard against the broken shutdown() in fido as we do in the
main layer index update script).
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Diffstat (limited to 'rrs/tools/upgrade_history_internal.py')
-rw-r--r-- | rrs/tools/upgrade_history_internal.py | 47 |
1 files changed, 25 insertions, 22 deletions
diff --git a/rrs/tools/upgrade_history_internal.py b/rrs/tools/upgrade_history_internal.py index fb015d86a3..82fbe1aff5 100644 --- a/rrs/tools/upgrade_history_internal.py +++ b/rrs/tools/upgrade_history_internal.py @@ -178,30 +178,33 @@ def generate_history(options, layerbranch_id, commit, logger): (tinfoil, d, recipes) = load_recipes(layerbranch, bitbakepath, fetchdir, settings, logger, recipe_files=fns, nocheckout=True) + try: - if options.initial: - title = options.initial - info = 'No maintainer;;' + utils.runcmd("git log --format='%ad;%cd' --date=rfc -n 1 " \ - + commit, destdir=repodir, logger=logger) - recordcommit = '' - else: - title = utils.runcmd("git log --format='%s' -n 1 " + commit, - repodir, logger=logger) - info = utils.runcmd("git log --format='%an;%ae;%ad;%cd' --date=rfc -n 1 " \ - + commit, destdir=repodir, logger=logger) - recordcommit = commit + if options.initial: + title = options.initial + info = 'No maintainer;;' + utils.runcmd("git log --format='%ad;%cd' --date=rfc -n 1 " \ + + commit, destdir=repodir, logger=logger) + recordcommit = '' + else: + title = utils.runcmd("git log --format='%s' -n 1 " + commit, + repodir, logger=logger) + info = utils.runcmd("git log --format='%an;%ae;%ad;%cd' --date=rfc -n 1 " \ + + commit, destdir=repodir, logger=logger) + recordcommit = commit - try: - with transaction.atomic(): - for recipe_data in recipes: - _create_upgrade(recipe_data, layerbranch, recordcommit, title, - info, logger, initial=options.initial) - if options.dry_run: - raise DryRunRollbackException - except DryRunRollbackException: - pass - - tinfoil.shutdown() + try: + with transaction.atomic(): + for recipe_data in recipes: + _create_upgrade(recipe_data, layerbranch, recordcommit, title, + info, logger, initial=options.initial) + if options.dry_run: + raise DryRunRollbackException + except DryRunRollbackException: + pass + + finally: + if tinfoil and hasattr(tinfoil, 'shutdown') and (LooseVersion(bb.__version__) > LooseVersion("1.27")): + tinfoil.shutdown() if __name__=="__main__": |