diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2016-07-07 11:57:10 +1200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-07-12 23:10:15 +0100 |
commit | 117c80f9dc95717f4aac3f7ecd9b1f89f304f005 (patch) | |
tree | 1aa20d273b618c7ffef43e5667ea44f6d1a3ece7 /scripts/lib/devtool | |
parent | 7f6f998af2e5bba3871b5fbfeb805da0ff46742e (diff) | |
download | poky-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/lib/devtool')
-rw-r--r-- | scripts/lib/devtool/standard.py | 13 |
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 | ||
814 | def _get_patchset_revs(args, srctree, recipe_path): | 814 | def _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') |