summaryrefslogtreecommitdiffstats
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-11-08 23:47:13 +0000
commitc3c25ac53da127bc481be6c07e3d5eb4f73bd22e (patch)
treed00a029c134cb0a68c27e9547019e808a167a947
parent7343438092667d32878d18a33ab9a69c07a016df (diff)
downloadpoky-c3c25ac53da127bc481be6c07e3d5eb4f73bd22e.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) (From OE-Core rev: d62aa298b80af78bc89f6e64736ce7383c3fa2de) 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> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-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 77a82d5590..711399a1fc 100644
--- a/scripts/lib/devtool/standard.py
+++ b/scripts/lib/devtool/standard.py
@@ -809,22 +809,19 @@ def modify(args, config, basepath, workspace):
809 809
810 return 0 810 return 0
811 811
812def _get_patchset_revs(args, srctree, recipe_path): 812def _get_patchset_revs(srctree, recipe_path, initial_rev=None):
813 """Get initial and update rev of a recipe. These are the start point of the 813 """Get initial and update rev of a recipe. These are the start point of the
814 whole patchset and start point for the patches to be re-generated/updated. 814 whole patchset and start point for the patches to be re-generated/updated.
815 """ 815 """
816 import bb 816 import bb
817 817
818 if args.initial_rev: 818 # Parse initial rev from recipe if not specified
819 return args.initial_rev, args.initial_rev
820
821 # Parse initial rev from recipe
822 commits = [] 819 commits = []
823 initial_rev = None
824 with open(recipe_path, 'r') as f: 820 with open(recipe_path, 'r') as f:
825 for line in f: 821 for line in f:
826 if line.startswith('# initial_rev:'): 822 if line.startswith('# initial_rev:'):
827 initial_rev = line.split(':')[-1].strip() 823 if not initial_rev:
824 initial_rev = line.split(':')[-1].strip()
828 elif line.startswith('# commit:'): 825 elif line.startswith('# commit:'):
829 commits.append(line.split(':')[-1].strip()) 826 commits.append(line.split(':')[-1].strip())
830 827
@@ -1123,7 +1120,7 @@ def _update_recipe_patch(args, config, workspace, srctree, rd, config_data):
1123 raise DevtoolError('unable to find workspace bbappend for recipe %s' % 1120 raise DevtoolError('unable to find workspace bbappend for recipe %s' %
1124 args.recipename) 1121 args.recipename)
1125 1122
1126 initial_rev, update_rev, changed_revs = _get_patchset_revs(args, srctree, append) 1123 initial_rev, update_rev, changed_revs = _get_patchset_revs(srctree, append, args.initial_rev)
1127 if not initial_rev: 1124 if not initial_rev:
1128 raise DevtoolError('Unable to find initial revision - please specify ' 1125 raise DevtoolError('Unable to find initial revision - please specify '
1129 'it with --initial-rev') 1126 'it with --initial-rev')