aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2018-02-27 17:17:16 +1300
committerPaul Eggleton <paul.eggleton@linux.intel.com>2018-05-04 23:57:52 +1200
commit252578e26d5d3d24de45bf4af7e04ecb5ff2cda6 (patch)
treec1e11876bdc58c86d157c3108eee4b11edbde337
parent8370c10306f46d84d2a1f3cc096e8cb028820a2c (diff)
downloadopenembedded-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-xrrs/tools/rrs_upgrade_history.py58
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]""")