diff options
Diffstat (limited to 'setuptools/sandbox.py')
-rwxr-xr-x | setuptools/sandbox.py | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/setuptools/sandbox.py b/setuptools/sandbox.py index 0e6f5964..8aa58f8d 100755 --- a/setuptools/sandbox.py +++ b/setuptools/sandbox.py @@ -1,13 +1,11 @@ -import os, sys, __builtin__ +import os, sys, __builtin__, tempfile _os = sys.modules[os.name] _open = open - __all__ = [ "AbstractSandbox", "DirectorySandbox", "SandboxViolation", "run_setup", ] - def run_setup(setup_script, args): """Run a distutils setup script, sandboxed in its directory""" @@ -15,8 +13,12 @@ def run_setup(setup_script, args): save_argv = sys.argv[:] save_path = sys.path[:] setup_dir = os.path.abspath(os.path.dirname(setup_script)) + temp_dir = os.path.join(setup_dir,'temp') + if not os.path.isdir(temp_dir): os.makedirs(temp_dir) + save_tmp = tempfile.tempdir try: + tempfile.tempdir = temp_dir os.chdir(setup_dir) try: sys.argv[:] = [setup_script]+list(args) @@ -35,9 +37,7 @@ def run_setup(setup_script, args): os.chdir(old_dir) sys.path[:] = save_path sys.argv[:] = save_argv - - - + tempfile.tempdir = save_tmp class AbstractSandbox: """Wrap 'os' module and 'open()' builtin for virtualizing setup scripts""" |