diff options
Diffstat (limited to 'scripts/lib/devtool')
-rw-r--r-- | scripts/lib/devtool/standard.py | 38 |
1 files changed, 22 insertions, 16 deletions
diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py index f46ce34ad1..d64e18e179 100644 --- a/scripts/lib/devtool/standard.py +++ b/scripts/lib/devtool/standard.py | |||
@@ -1409,6 +1409,18 @@ def _export_local_files(srctree, rd, destdir, srctreebase): | |||
1409 | updated = OrderedDict() | 1409 | updated = OrderedDict() |
1410 | added = OrderedDict() | 1410 | added = OrderedDict() |
1411 | removed = OrderedDict() | 1411 | removed = OrderedDict() |
1412 | |||
1413 | # Get current branch and return early with empty lists | ||
1414 | # if on one of the override branches | ||
1415 | # (local files are provided only for the main branch and processing | ||
1416 | # them against lists from recipe overrides will result in mismatches | ||
1417 | # and broken modifications to recipes). | ||
1418 | stdout, _ = bb.process.run('git rev-parse --abbrev-ref HEAD', | ||
1419 | cwd=srctree) | ||
1420 | branchname = stdout.rstrip() | ||
1421 | if branchname.startswith(override_branch_prefix): | ||
1422 | return (updated, added, removed) | ||
1423 | |||
1412 | local_files_dir = os.path.join(srctreebase, 'oe-local-files') | 1424 | local_files_dir = os.path.join(srctreebase, 'oe-local-files') |
1413 | git_files = _git_ls_tree(srctree) | 1425 | git_files = _git_ls_tree(srctree) |
1414 | if 'oe-local-files' in git_files: | 1426 | if 'oe-local-files' in git_files: |
@@ -1638,31 +1650,25 @@ def _update_recipe_patch(recipename, workspace, srctree, rd, appendlayerdir, wil | |||
1638 | tempdir = tempfile.mkdtemp(prefix='devtool') | 1650 | tempdir = tempfile.mkdtemp(prefix='devtool') |
1639 | try: | 1651 | try: |
1640 | local_files_dir = tempfile.mkdtemp(dir=tempdir) | 1652 | local_files_dir = tempfile.mkdtemp(dir=tempdir) |
1641 | if filter_patches: | 1653 | upd_f, new_f, del_f = _export_local_files(srctree, rd, local_files_dir, srctreebase) |
1642 | upd_f = {} | ||
1643 | new_f = {} | ||
1644 | del_f = {} | ||
1645 | else: | ||
1646 | upd_f, new_f, del_f = _export_local_files(srctree, rd, local_files_dir, srctreebase) | ||
1647 | |||
1648 | remove_files = [] | ||
1649 | if not no_remove: | ||
1650 | # Get all patches from source tree and check if any should be removed | ||
1651 | all_patches_dir = tempfile.mkdtemp(dir=tempdir) | ||
1652 | _, _, del_p = _export_patches(srctree, rd, initial_rev, | ||
1653 | all_patches_dir) | ||
1654 | # Remove deleted local files and patches | ||
1655 | remove_files = list(del_f.values()) + list(del_p.values()) | ||
1656 | 1654 | ||
1657 | # Get updated patches from source tree | 1655 | # Get updated patches from source tree |
1658 | patches_dir = tempfile.mkdtemp(dir=tempdir) | 1656 | patches_dir = tempfile.mkdtemp(dir=tempdir) |
1659 | upd_p, new_p, _ = _export_patches(srctree, rd, update_rev, | 1657 | upd_p, new_p, _ = _export_patches(srctree, rd, update_rev, |
1660 | patches_dir, changed_revs) | 1658 | patches_dir, changed_revs) |
1659 | # Get all patches from source tree and check if any should be removed | ||
1660 | all_patches_dir = tempfile.mkdtemp(dir=tempdir) | ||
1661 | _, _, del_p = _export_patches(srctree, rd, initial_rev, | ||
1662 | all_patches_dir) | ||
1661 | logger.debug('Pre-filtering: update: %s, new: %s' % (dict(upd_p), dict(new_p))) | 1663 | logger.debug('Pre-filtering: update: %s, new: %s' % (dict(upd_p), dict(new_p))) |
1662 | if filter_patches: | 1664 | if filter_patches: |
1663 | new_p = OrderedDict() | 1665 | new_p = OrderedDict() |
1664 | upd_p = OrderedDict((k,v) for k,v in upd_p.items() if k in filter_patches) | 1666 | upd_p = OrderedDict((k,v) for k,v in upd_p.items() if k in filter_patches) |
1665 | remove_files = [f for f in remove_files if f in filter_patches] | 1667 | del_p = OrderedDict((k,v) for k,v in del_p.items() if k in filter_patches) |
1668 | remove_files = [] | ||
1669 | if not no_remove: | ||
1670 | # Remove deleted local files and patches | ||
1671 | remove_files = list(del_f.values()) + list(del_p.values()) | ||
1666 | updatefiles = False | 1672 | updatefiles = False |
1667 | updaterecipe = False | 1673 | updaterecipe = False |
1668 | destpath = None | 1674 | destpath = None |