summaryrefslogtreecommitdiffstats
path: root/lib/bb/build.py
diff options
context:
space:
mode:
authorLaurentiu Palcu <laurentiu.palcu@intel.com>2014-02-03 13:33:07 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-02-09 10:01:10 +0000
commitc712e622d20c61a07c9c172b60e9dc6beae14197 (patch)
tree61c5e1fe224e4a7fb75ef7c7ab77fa24157642b5 /lib/bb/build.py
parentb84d010144de687667cf855ddcb41c9b863c236e (diff)
downloadopenembedded-core-contrib-c712e622d20c61a07c9c172b60e9dc6beae14197.tar.gz
bitbake: build.py: create separate function for shell trap creation code
Currently, the shell trap code was created in exec_func_shell(). Split the function so that we can create the code separately. Also, some whitespaces were automatically deleted by my editor. Since this is not necessarily a bad thing, leave these changes too. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib/bb/build.py')
-rw-r--r--lib/bb/build.py37
1 files changed, 20 insertions, 17 deletions
diff --git a/lib/bb/build.py b/lib/bb/build.py
index 3aa63758c1..692b91ec1b 100644
--- a/lib/bb/build.py
+++ b/lib/bb/build.py
@@ -254,19 +254,8 @@ def exec_func_python(func, d, runfile, cwd=None):
except OSError:
pass
-def exec_func_shell(func, d, runfile, cwd=None):
- """Execute a shell function from the metadata
-
- Note on directory behavior. The 'dirs' varflag should contain a list
- of the directories you need created prior to execution. The last
- item in the list is where we will chdir/cd to.
- """
-
- # Don't let the emitted shell script override PWD
- d.delVarFlag('PWD', 'export')
-
- with open(runfile, 'w') as script:
- script.write('''#!/bin/sh\n
+def shell_trap_code():
+ return '''#!/bin/sh\n
# Emit a useful diagnostic if something fails:
bb_exit_handler() {
ret=$?
@@ -282,7 +271,21 @@ bb_exit_handler() {
}
trap 'bb_exit_handler' 0
set -e
-''')
+'''
+
+def exec_func_shell(func, d, runfile, cwd=None):
+ """Execute a shell function from the metadata
+
+ Note on directory behavior. The 'dirs' varflag should contain a list
+ of the directories you need created prior to execution. The last
+ item in the list is where we will chdir/cd to.
+ """
+
+ # Don't let the emitted shell script override PWD
+ d.delVarFlag('PWD', 'export')
+
+ with open(runfile, 'w') as script:
+ script.write(shell_trap_code())
bb.data.emit_func(func, script, d)
@@ -473,12 +476,12 @@ def _exec_task(fn, task, d, quieterr):
return 0
def exec_task(fn, task, d, profile = False):
- try:
+ try:
quieterr = False
if d.getVarFlag(task, "quieterrors") is not None:
quieterr = True
- if profile:
+ if profile:
profname = "profile-%s.log" % (d.getVar("PN", True) + "-" + task)
try:
import cProfile as profile
@@ -576,7 +579,7 @@ def make_stamp(task, d, file_name = None):
if name.endswith('.taint'):
continue
os.unlink(name)
-
+
stamp = stamp_internal(task, d, file_name)
# Remove the file and recreate to force timestamp
# change on broken NFS filesystems