mirror of
https://git.yoctoproject.org/poky
synced 2026-05-09 05:29:32 +00:00
bitbake: 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. (Bitbake rev: c712e622d20c61a07c9c172b60e9dc6beae14197) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
5232ba83fd
commit
095bb006c3
+20
-17
@@ -254,19 +254,8 @@ def exec_func_python(func, d, runfile, cwd=None):
|
|||||||
except OSError:
|
except OSError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def exec_func_shell(func, d, runfile, cwd=None):
|
def shell_trap_code():
|
||||||
"""Execute a shell function from the metadata
|
return '''#!/bin/sh\n
|
||||||
|
|
||||||
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
|
|
||||||
# Emit a useful diagnostic if something fails:
|
# Emit a useful diagnostic if something fails:
|
||||||
bb_exit_handler() {
|
bb_exit_handler() {
|
||||||
ret=$?
|
ret=$?
|
||||||
@@ -282,7 +271,21 @@ bb_exit_handler() {
|
|||||||
}
|
}
|
||||||
trap 'bb_exit_handler' 0
|
trap 'bb_exit_handler' 0
|
||||||
set -e
|
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)
|
bb.data.emit_func(func, script, d)
|
||||||
|
|
||||||
@@ -473,12 +476,12 @@ def _exec_task(fn, task, d, quieterr):
|
|||||||
return 0
|
return 0
|
||||||
|
|
||||||
def exec_task(fn, task, d, profile = False):
|
def exec_task(fn, task, d, profile = False):
|
||||||
try:
|
try:
|
||||||
quieterr = False
|
quieterr = False
|
||||||
if d.getVarFlag(task, "quieterrors") is not None:
|
if d.getVarFlag(task, "quieterrors") is not None:
|
||||||
quieterr = True
|
quieterr = True
|
||||||
|
|
||||||
if profile:
|
if profile:
|
||||||
profname = "profile-%s.log" % (d.getVar("PN", True) + "-" + task)
|
profname = "profile-%s.log" % (d.getVar("PN", True) + "-" + task)
|
||||||
try:
|
try:
|
||||||
import cProfile as profile
|
import cProfile as profile
|
||||||
@@ -576,7 +579,7 @@ def make_stamp(task, d, file_name = None):
|
|||||||
if name.endswith('.taint'):
|
if name.endswith('.taint'):
|
||||||
continue
|
continue
|
||||||
os.unlink(name)
|
os.unlink(name)
|
||||||
|
|
||||||
stamp = stamp_internal(task, d, file_name)
|
stamp = stamp_internal(task, d, file_name)
|
||||||
# Remove the file and recreate to force timestamp
|
# Remove the file and recreate to force timestamp
|
||||||
# change on broken NFS filesystems
|
# change on broken NFS filesystems
|
||||||
|
|||||||
Reference in New Issue
Block a user