summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2016-07-07 11:57:10 +1200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-07-12 23:10:15 +0100
commit117c80f9dc95717f4aac3f7ecd9b1f89f304f005 (patch)
tree1aa20d273b618c7ffef43e5667ea44f6d1a3ece7 /scripts
parent7f6f998af2e5bba3871b5fbfeb805da0ff46742e (diff)
downloadpoky-117c80f9dc95717f4aac3f7ecd9b1f89f304f005.tar.gz
devtool: update-recipe: fix --initial-rev option
In OE-Core revision 7baf57ad896112cf2258b3e2c2a1f8b756fb39bc I changed the default update-recipe behaviour to only update patches for commits that were changed; unfortunately I failed to handle the --initial-rev option which was broken after that point. Rework how the initial revision is passed in so that it now operates correctly. (From OE-Core rev: b2ca2523cc9e51a4759b4420b07b0b67b3f5ac43) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/lib/devtool/standard.py13
1 files changed, 5 insertions, 8 deletions
diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py
index ed49a936b9..e2f4f8fca3 100644
--- a/scripts/lib/devtool/standard.py
+++ b/scripts/lib/devtool/standard.py
@@ -811,22 +811,19 @@ def modify(args, config, basepath, workspace):
811 811
812 return 0 812 return 0
813 813
814def _get_patchset_revs(args, srctree, recipe_path): 814def _get_patchset_revs(srctree, recipe_path, initial_rev=None):
815 """Get initial and update rev of a recipe. These are the start point of the 815 """Get initial and update rev of a recipe. These are the start point of the
816 whole patchset and start point for the patches to be re-generated/updated. 816 whole patchset and start point for the patches to be re-generated/updated.
817 """ 817 """
818 import bb 818 import bb
819 819
820 if args.initial_rev: 820 # Parse initial rev from recipe if not specified
821 return args.initial_rev, args.initial_rev
822
823 # Parse initial rev from recipe
824 commits = [] 821 commits = []
825 initial_rev = None
826 with open(recipe_path, 'r') as f: 822 with open(recipe_path, 'r') as f:
827 for line in f: 823 for line in f:
828 if line.startswith('# initial_rev:'): 824 if line.startswith('# initial_rev:'):
829 initial_rev = line.split(':')[-1].strip() 825 if not initial_rev:
826 initial_rev = line.split(':')[-1].strip()
830 elif line.startswith('# commit:'): 827 elif line.startswith('# commit:'):
831 commits.append(line.split(':')[-1].strip()) 828 commits.append(line.split(':')[-1].strip())
832 829
@@ -1125,7 +1122,7 @@ def _update_recipe_patch(args, config, workspace, srctree, rd, config_data):
1125 raise DevtoolError('unable to find workspace bbappend for recipe %s' % 1122 raise DevtoolError('unable to find workspace bbappend for recipe %s' %
1126 args.recipename) 1123 args.recipename)
1127 1124
1128 initial_rev, update_rev, changed_revs = _get_patchset_revs(args, srctree, append) 1125 initial_rev, update_rev, changed_revs = _get_patchset_revs(srctree, append, args.initial_rev)
1129 if not initial_rev: 1126 if not initial_rev:
1130 raise DevtoolError('Unable to find initial revision - please specify ' 1127 raise DevtoolError('Unable to find initial revision - please specify '
1131 'it with --initial-rev') 1128 'it with --initial-rev')