diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2018-02-27 17:17:16 +1300 |
---|---|---|
committer | Paul Eggleton <paul.eggleton@linux.intel.com> | 2018-05-04 23:57:52 +1200 |
commit | 252578e26d5d3d24de45bf4af7e04ecb5ff2cda6 (patch) | |
tree | c1e11876bdc58c86d157c3108eee4b11edbde337 | |
parent | 8370c10306f46d84d2a1f3cc096e8cb028820a2c (diff) | |
download | openembedded-core-contrib-252578e26d5d3d24de45bf4af7e04ecb5ff2cda6.tar.gz |
rrs_upgrade_history.py: add maintenance plan handling
Instead of processing all layerbranches, only process those associated
with an enabled maintenance plan. This is one step towards being able to
use the RRS together with a more general layer index database.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
-rwxr-xr-x | rrs/tools/rrs_upgrade_history.py | 58 |
1 files changed, 32 insertions, 26 deletions
diff --git a/rrs/tools/rrs_upgrade_history.py b/rrs/tools/rrs_upgrade_history.py index 1300745fad..51d7debb13 100755 --- a/rrs/tools/rrs_upgrade_history.py +++ b/rrs/tools/rrs_upgrade_history.py @@ -212,6 +212,7 @@ def do_loop(layerbranch, ct, logger, dry_run): """ def upgrade_history(options, logger): from layerindex.models import LayerBranch + from rrs.models import MaintenancePlan # start date now = datetime.today() @@ -223,32 +224,37 @@ def upgrade_history(options, logger): else: since = (now - timedelta(days=8)).strftime("%Y-%m-%d") - # do - for layerbranch in LayerBranch.objects.all(): - layer = layerbranch.layer - urldir = layer.get_fetch_dir() - repodir = os.path.join(fetchdir, urldir) - layerdir = os.path.join(repodir, layerbranch.vcs_subdir) - - commits = utils.runcmd("git log --since='" + since + - "' --format='%H' --reverse", repodir, - logger=logger) - commit_list = commits.split('\n') - - if options.initial: - logger.debug("Adding initial upgrade history ....") - - ct = commit_list.pop(0) - do_initial(layerbranch, ct, logger, options.dry_run) - - logger.debug("Adding upgrade history from %s to %s ..." % (since, today)) - for ct in commit_list: - if ct: - logger.debug("Analysing commit %s ..." % ct) - do_loop(layerbranch, ct, logger, options.dry_run) - - if commit_list: - utils.runcmd("git clean -dfx", repodir, logger=logger) + maintplans = MaintenancePlan.objects.filter(updates_enabled=True) + if not maintplans.exists(): + logger.error('No enabled maintenance plans found') + sys.exit(1) + for maintplan in maintplans: + for maintplanbranch in maintplan.maintenanceplanlayerbranch_set.all(): + layerbranch = maintplanbranch.layerbranch + layer = layerbranch.layer + urldir = layer.get_fetch_dir() + repodir = os.path.join(fetchdir, urldir) + layerdir = os.path.join(repodir, layerbranch.vcs_subdir) + + commits = utils.runcmd("git log --since='" + since + + "' --format='%H' --reverse", repodir, + logger=logger) + commit_list = commits.split('\n') + + if options.initial: + logger.debug("Adding initial upgrade history ....") + + ct = commit_list.pop(0) + do_initial(layerbranch, ct, logger, options.dry_run) + + logger.debug("Adding upgrade history from %s to %s ..." % (since, today)) + for ct in commit_list: + if ct: + logger.debug("Analysing commit %s ..." % ct) + do_loop(layerbranch, ct, logger, options.dry_run) + + if commit_list: + utils.runcmd("git clean -dfx", repodir, logger=logger) if __name__=="__main__": parser = optparse.OptionParser(usage = """%prog [options]""") |