summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2009-10-13 08:25:34 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2009-10-13 08:38:13 +0100
commit44549775ebc01edbca7d934875a43a2d315bdd9b (patch)
treeb7ff54eed32b10f6b5caea78bd5952605a762e03
parent74016daa3a9131129974463452221e4a740bb860 (diff)
downloadopenembedded-core-44549775ebc01edbca7d934875a43a2d315bdd9b.tar.gz
openembedded-core-44549775ebc01edbca7d934875a43a2d315bdd9b.tar.bz2
openembedded-core-44549775ebc01edbca7d934875a43a2d315bdd9b.zip
bitbake: Add bb and os to __builtins__, not the exec function global
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
-rw-r--r--bitbake-dev/lib/bb/build.py9
-rw-r--r--bitbake/lib/bb/build.py14
2 files changed, 15 insertions, 8 deletions
diff --git a/bitbake-dev/lib/bb/build.py b/bitbake-dev/lib/bb/build.py
index 05b7d94d13..b37bcf63bc 100644
--- a/bitbake-dev/lib/bb/build.py
+++ b/bitbake-dev/lib/bb/build.py
@@ -28,6 +28,13 @@
from bb import data, event, mkdirhier, utils
import bb, os, sys
+# When we execute a python function we'd like certain things
+# in all namespaces, hence we add them to __builtins__
+# If we do not do this and use the exec globals, they will
+# not be available to subfunctions.
+__builtins__['bb'] = bb
+__builtins__['os'] = os
+
# events
class FuncFailed(Exception):
"""
@@ -205,8 +212,6 @@ def exec_func_python(func, d, runfile, logfile):
f.write(tmp)
comp = utils.better_compile(tmp, func, bbfile)
g = {} # globals
- g['bb'] = bb
- g['os'] = os
g['d'] = d
try:
utils.better_exec(comp, g, tmp, bbfile)
diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py
index e56f4bcf16..447aa48058 100644
--- a/bitbake/lib/bb/build.py
+++ b/bitbake/lib/bb/build.py
@@ -28,6 +28,13 @@
from bb import data, fetch, event, mkdirhier, utils
import bb, os
+# When we execute a python function we'd like certain things
+# in all namespaces, hence we add them to __builtins__
+# If we do not do this and use the exec globals, they will
+# not be available to subfunctions.
+__builtins__['bb'] = bb
+__builtins__['os'] = os
+
# events
class FuncFailed(Exception):
"""Executed function failed"""
@@ -122,20 +129,15 @@ def exec_func(func, d, dirs = None):
def exec_func_python(func, d):
"""Execute a python BB 'function'"""
- import re, os
+ import re
bbfile = bb.data.getVar('FILE', d, 1)
tmp = "def " + func + "():\n%s" % data.getVar(func, d)
tmp += '\n' + func + '()'
comp = utils.better_compile(tmp, func, bbfile)
- prevdir = os.getcwd()
g = {} # globals
- g['bb'] = bb
- g['os'] = os
g['d'] = d
utils.better_exec(comp, g, tmp, bbfile)
- if os.path.exists(prevdir):
- os.chdir(prevdir)
def exec_func_shell(func, d, flags):
"""Execute a shell BB 'function' Returns true if execution was successful.