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-11-08 23:47:13 +0000 |
| commit | c3c25ac53da127bc481be6c07e3d5eb4f73bd22e (patch) | |
| tree | d00a029c134cb0a68c27e9547019e808a167a947 | |
| parent | 7343438092667d32878d18a33ab9a69c07a016df (diff) | |
| download | poky-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.py | 13 |
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 | ||
| 812 | def _get_patchset_revs(args, srctree, recipe_path): | 812 | def _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') |
