summaryrefslogtreecommitdiffstats
path: root/meta/lib/oe/patch.py
diff options
context:
space:
mode:
Diffstat (limited to 'meta/lib/oe/patch.py')
-rw-r--r--meta/lib/oe/patch.py16
1 files changed, 8 insertions, 8 deletions
diff --git a/meta/lib/oe/patch.py b/meta/lib/oe/patch.py
index d5ad4f3dc1..70cdb1d9c0 100644
--- a/meta/lib/oe/patch.py
+++ b/meta/lib/oe/patch.py
@@ -474,9 +474,9 @@ class GitApplyTree(PatchTree):
474 out = runcmd(["sh", "-c", " ".join(shellcmd)], os.path.join(tree, name)) 474 out = runcmd(["sh", "-c", " ".join(shellcmd)], os.path.join(tree, name))
475 if out: 475 if out:
476 for srcfile in out.split(): 476 for srcfile in out.split():
477 outfile = os.path.basename(srcfile)
477 for encoding in ['utf-8', 'latin-1']: 478 for encoding in ['utf-8', 'latin-1']:
478 patchlines = [] 479 patchlines = []
479 outfile = None
480 try: 480 try:
481 with open(srcfile, 'r', encoding=encoding, newline='') as f: 481 with open(srcfile, 'r', encoding=encoding, newline='') as f:
482 for line in f: 482 for line in f:
@@ -484,7 +484,8 @@ class GitApplyTree(PatchTree):
484 outfile = line.split()[-1].strip() 484 outfile = line.split()[-1].strip()
485 continue 485 continue
486 if line.startswith(GitApplyTree.ignore_commit_prefix): 486 if line.startswith(GitApplyTree.ignore_commit_prefix):
487 continue 487 outfile = None
488 break
488 patchlines.append(line) 489 patchlines.append(line)
489 except UnicodeDecodeError: 490 except UnicodeDecodeError:
490 continue 491 continue
@@ -492,12 +493,11 @@ class GitApplyTree(PatchTree):
492 else: 493 else:
493 raise PatchError('Unable to find a character encoding to decode %s' % srcfile) 494 raise PatchError('Unable to find a character encoding to decode %s' % srcfile)
494 495
495 if not outfile: 496 if outfile:
496 outfile = os.path.basename(srcfile) 497 bb.utils.mkdirhier(os.path.join(outdir, name))
497 bb.utils.mkdirhier(os.path.join(outdir, name)) 498 with open(os.path.join(outdir, name, outfile), 'w') as of:
498 with open(os.path.join(outdir, name, outfile), 'w') as of: 499 for line in patchlines:
499 for line in patchlines: 500 of.write(line)
500 of.write(line)
501 finally: 501 finally:
502 shutil.rmtree(tempdir) 502 shutil.rmtree(tempdir)
503 503