From: Chris Larson Date: Tue, 5 Sep 2006 11:32:08 +0000 (+0000) Subject: patch.bbclass: fix issue encountered by zecke, where PatchTree was only doing a ... X-Git-Tag: Release-2010-05/1~9453^2~875^2~50 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=331ec17a16ea8be41fe2a0e5c4fa272b568f319b;p=openembedded.git patch.bbclass: fix issue encountered by zecke, where PatchTree was only doing a --dry-run, never actually applying the patch. Only quilt-native in oe was using that. --- diff --git a/classes/patch.bbclass b/classes/patch.bbclass index 5e40b3dc0d..f0232adf1e 100644 --- a/classes/patch.bbclass +++ b/classes/patch.bbclass @@ -120,21 +120,20 @@ def patch_init(d): self.patches.insert(self._current or 0, patch) def _applypatch(self, patch, force = None, reverse = None): - shellcmd = ["patch", "<", patch['file'], "-p", patch['strippath']] + shellcmd = ["cat", patch['file'], "|", "patch", "-p", patch['strippath']] if reverse: shellcmd.append('-R') - shellcmd.append('--dry-run') - try: - output = runcmd(["sh", "-c", " ".join(shellcmd)], self.dir) - except CmdError: - if force: - shellcmd.pop(len(shellcmd) - 1) - output = runcmd(["sh", "-c", " ".join(shellcmd)], self.dir) - else: - import sys - raise sys.exc_value + if not force: + shellcmd.append('--dry-run') + + output = runcmd(["sh", "-c", " ".join(shellcmd)], self.dir) + + if force: + return + shellcmd.pop(len(shellcmd) - 1) + output = runcmd(["sh", "-c", " ".join(shellcmd)], self.dir) return output def Push(self, force = None, all = None):