diff options
author | Markus Lehtonen <markus.lehtonen@linux.intel.com> | 2015-05-21 18:04:01 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-06-18 09:14:04 +0100 |
commit | 1f4830734ae7c69095238e3a8a5bf8c448f64985 (patch) | |
tree | ae95dcb6849a65b39faa7109ce12352cd39c3a08 | |
parent | 5d7437ea86960b4428ff13c57a90543cab140702 (diff) | |
download | poky-1f4830734ae7c69095238e3a8a5bf8c448f64985.tar.gz |
devtool: simplify the logic of determining patches to be removed
A slight simplification of the code.
(From OE-Core rev: aff88bcebe335b0277df660ac22eeed28d65da44)
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | scripts/lib/devtool/standard.py | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py index c8ba2474b1..aa95e6eeaf 100644 --- a/scripts/lib/devtool/standard.py +++ b/scripts/lib/devtool/standard.py | |||
@@ -657,26 +657,23 @@ def update_recipe(args, config, basepath, workspace): | |||
657 | existing_patches = oe.recipeutils.get_recipe_patches(rd) | 657 | existing_patches = oe.recipeutils.get_recipe_patches(rd) |
658 | 658 | ||
659 | removepatches = [] | 659 | removepatches = [] |
660 | seqpatch_re = re.compile('^[0-9]{4}-') | 660 | seqpatch_re = re.compile('^([0-9]{4}-)?(.+)') |
661 | if not args.no_remove: | 661 | if not args.no_remove: |
662 | # Get all patches from source tree and check if any should be removed | 662 | # Get all patches from source tree and check if any should be removed |
663 | tempdir = tempfile.mkdtemp(prefix='devtool') | 663 | tempdir = tempfile.mkdtemp(prefix='devtool') |
664 | try: | 664 | try: |
665 | GitApplyTree.extractPatches(srctree, initial_rev, tempdir) | 665 | GitApplyTree.extractPatches(srctree, initial_rev, tempdir) |
666 | newpatches = os.listdir(tempdir) | 666 | # Strip numbering from patch names. If it's a git sequence |
667 | # named patch, the numbers might not match up since we are | ||
668 | # starting from a different revision This does assume that | ||
669 | # people are using unique shortlog values, but they ought to be | ||
670 | # anyway... | ||
671 | newpatches = [seqpatch_re.match(fname).group(2) for fname in | ||
672 | os.listdir(tempdir)] | ||
667 | for patch in existing_patches: | 673 | for patch in existing_patches: |
668 | # If it's a git sequence named patch, the numbers might not match up | 674 | basename = seqpatch_re.match( |
669 | # since we are starting from a different revision | 675 | os.path.basename(patch)).group(2) |
670 | # This does assume that people are using unique shortlog values, but | 676 | if basename not in newpatches: |
671 | # they ought to be anyway... | ||
672 | patchfile = os.path.basename(patch) | ||
673 | if seqpatch_re.search(patchfile): | ||
674 | for newpatch in newpatches: | ||
675 | if seqpatch_re.search(newpatch) and patchfile[5:] == newpatch[5:]: | ||
676 | break | ||
677 | else: | ||
678 | removepatches.append(patch) | ||
679 | elif patchfile not in newpatches: | ||
680 | removepatches.append(patch) | 677 | removepatches.append(patch) |
681 | finally: | 678 | finally: |
682 | shutil.rmtree(tempdir) | 679 | shutil.rmtree(tempdir) |