diff options
author | Richard Purdie <rpurdie@linux.intel.com> | 2009-10-13 08:25:34 +0100 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2009-10-13 08:38:13 +0100 |
commit | 44549775ebc01edbca7d934875a43a2d315bdd9b (patch) | |
tree | b7ff54eed32b10f6b5caea78bd5952605a762e03 | |
parent | 74016daa3a9131129974463452221e4a740bb860 (diff) | |
download | openembedded-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.py | 9 | ||||
-rw-r--r-- | bitbake/lib/bb/build.py | 14 |
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. |