From 2e2348dbf283fe186a7e45a4823b56fed70d47f0 Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Fri, 11 May 2007 11:43:28 +0000 Subject: devshell.bbclass, patch.bbclass: Check exit code of TERMCMD* commands to see if they were found at all. * Fixes #2274. --- classes/devshell.bbclass | 4 ++++ classes/patch.bbclass | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/classes/devshell.bbclass b/classes/devshell.bbclass index 06152ef8bc..09ce100fc4 100644 --- a/classes/devshell.bbclass +++ b/classes/devshell.bbclass @@ -6,6 +6,10 @@ do_devshell[nostamp] = "1" devshell_do_devshell() { export TERMWINDOWTITLE="Bitbake Developer Shell" ${TERMCMD} + if [ $? -eq 127 ]; then + echo "Fatal: '${TERMCMD}' not found. Check TERMCMD variable." + exit 1 + fi } addtask devshell after do_patch diff --git a/classes/patch.bbclass b/classes/patch.bbclass index 84cca7f5a0..7a5dcac57a 100644 --- a/classes/patch.bbclass +++ b/classes/patch.bbclass @@ -376,7 +376,10 @@ def patch_init(d): os.environ['TERMWINDOWTITLE'] = "Bitbake: Please fix patch rejects manually" os.environ['TERMRCFILE'] = rcfile - os.system(bb.data.getVar('TERMCMDRUN', d, 1)) + rc = os.system(bb.data.getVar('TERMCMDRUN', d, 1)) + if os.WIFEXITED(rc) and os.WEXITSTATUS(rc) == 127: + bb.msg.fatal(bb.msg.domain.Build, ("Cannot proceed with manual patch resolution - '%s' not found. " \ + + "Check TERMCMDRUN variable.") % bb.data.getVar('TERMCMDRUN', d, 1)) # Construct a new PatchSet after the user's changes, compare the # sets, checking patches for modifications, and doing a remote -- cgit v1.2.3