summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-11-03 22:00:55 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-11-04 17:05:32 +0000
commit9d1f10ed012de6976141a29ba483e0b96781fe28 (patch)
tree9f49f1c01bb2d97aa000aaa50019ad471207450d /meta
parent3b856e1cdf38705f1ae79df09e7e6f388673a683 (diff)
downloadast2050-yocto-poky-9d1f10ed012de6976141a29ba483e0b96781fe28.zip
ast2050-yocto-poky-9d1f10ed012de6976141a29ba483e0b96781fe28.tar.gz
patch: Convert to use oe_terminal
Unfortunately we can't access oe_terminal directly from patch.py so we have to pass in the correct terminal function pointer. [YOCTO #1587] (From OE-Core rev: 9e0a21dda24f285a1c4878488e887485a749f3f2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/classes/patch.bbclass4
-rw-r--r--meta/lib/oe/patch.py17
2 files changed, 9 insertions, 12 deletions
diff --git a/meta/classes/patch.bbclass b/meta/classes/patch.bbclass
index 7622163..86046e1 100644
--- a/meta/classes/patch.bbclass
+++ b/meta/classes/patch.bbclass
@@ -5,6 +5,8 @@ QUILTRCFILE ?= "${STAGING_BINDIR_NATIVE}/quiltrc"
PATCHDEPENDENCY = "${PATCHTOOL}-native:do_populate_sysroot"
+inherit terminal
+
python patch_do_patch() {
import oe.patch
@@ -124,7 +126,7 @@ python patch_do_patch() {
if not patchdir in classes:
patchset = cls(patchdir, d)
- resolver = rcls(patchset)
+ resolver = rcls(patchset, oe_terminal)
classes[patchdir] = (patchset, resolver)
patchset.Clean()
else:
diff --git a/meta/lib/oe/patch.py b/meta/lib/oe/patch.py
index 9768be0..75fb91e 100644
--- a/meta/lib/oe/patch.py
+++ b/meta/lib/oe/patch.py
@@ -311,7 +311,7 @@ class QuiltTree(PatchSet):
self._runcmd(args)
class Resolver(object):
- def __init__(self, patchset):
+ def __init__(self, patchset, terminal):
raise NotImplementedError()
def Resolve(self):
@@ -324,8 +324,9 @@ class Resolver(object):
raise NotImplementedError()
class NOOPResolver(Resolver):
- def __init__(self, patchset):
+ def __init__(self, patchset, terminal):
self.patchset = patchset
+ self.terminal = terminal
def Resolve(self):
olddir = os.path.abspath(os.curdir)
@@ -341,13 +342,13 @@ class NOOPResolver(Resolver):
# resolution, with the exception of refreshing the remote copy of the patch
# files (the urls).
class UserResolver(Resolver):
- def __init__(self, patchset):
+ def __init__(self, patchset, terminal):
self.patchset = patchset
+ self.terminal = terminal
# Force a push in the patchset, then drop to a shell for the user to
# resolve any rejected hunks
def Resolve(self):
-
olddir = os.path.abspath(os.curdir)
os.chdir(self.patchset.dir)
try:
@@ -368,16 +369,10 @@ class UserResolver(Resolver):
f.write("echo 'Run \"quilt refresh\" when patch is corrected, press CTRL+D to exit.'\n")
f.write("echo ''\n")
f.write(" ".join(patchcmd) + "\n")
- f.write("#" + bb.data.getVar('TERMCMDRUN', self.patchset.d, 1))
f.close()
os.chmod(rcfile, 0775)
- os.environ['TERMWINDOWTITLE'] = "Bitbake: Please fix patch rejects manually"
- os.environ['SHELLCMDS'] = "bash --rcfile " + rcfile
- rc = os.system(bb.data.getVar('TERMCMDRUN', self.patchset.d, 1))
- if os.WIFEXITED(rc) and os.WEXITSTATUS(rc) != 0:
- bb.msg.fatal("Build", ("Cannot proceed with manual patch resolution - '%s' not found. " \
- + "Check TERMCMDRUN variable.") % bb.data.getVar('TERMCMDRUN', self.patchset.d, 1))
+ self.terminal("bash --rcfile " + rcfile, 'Patch Rejects: Please fix patch rejects manually', self.patchset.d)
# Construct a new PatchSet after the user's changes, compare the
# sets, checking patches for modifications, and doing a remote
OpenPOWER on IntegriCloud