diff options
author | Zac Medico <zmedico@gentoo.org> | 2010-08-14 08:25:45 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2010-08-14 08:25:45 -0700 |
commit | 553c12294d16a652109d14a43ce4fdf7bc73ebea (patch) | |
tree | 1911a1de75757571f6d74ffaf88f3890c3339be0 /pym/portage | |
parent | 1b667b6bf20ed8991e198ac686afe6354715846b (diff) | |
download | portage-553c12294d16a652109d14a43ce4fdf7bc73ebea.tar.gz portage-553c12294d16a652109d14a43ce4fdf7bc73ebea.tar.bz2 portage-553c12294d16a652109d14a43ce4fdf7bc73ebea.zip |
Fix EbuildSpawnProcess to use self.settings.environ() for the spawn
environment, so all AbstractEbuildProcess subclasses are consistent
in this way.
Diffstat (limited to 'pym/portage')
-rw-r--r-- | pym/portage/package/ebuild/doebuild.py | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/pym/portage/package/ebuild/doebuild.py b/pym/portage/package/ebuild/doebuild.py index 7405b6f12..e85785528 100644 --- a/pym/portage/package/ebuild/doebuild.py +++ b/pym/portage/package/ebuild/doebuild.py @@ -1053,17 +1053,7 @@ def spawn(mystring, mysettings, debug=0, free=0, droppriv=0, sesandbox=0, fakero 1. The return code of the spawned process. """ - if isinstance(mysettings, dict): - env=mysettings - keywords["opt_name"]="[ %s ]" % "portage" - else: - check_config_instance(mysettings) - env=mysettings.environ() - if mysettings.mycpv is not None: - keywords["opt_name"] = "[%s]" % mysettings.mycpv - else: - keywords["opt_name"] = "[%s/%s]" % \ - (mysettings.get("CATEGORY",""), mysettings.get("PF","")) + check_config_instance(mysettings) fd_pipes = keywords.get("fd_pipes") if fd_pipes is None: @@ -1098,6 +1088,12 @@ def spawn(mystring, mysettings, debug=0, free=0, droppriv=0, sesandbox=0, fakero if not free and not (fakeroot or portage.process.sandbox_capable): free = True + if mysettings.mycpv is not None: + keywords["opt_name"] = "[%s]" % mysettings.mycpv + else: + keywords["opt_name"] = "[%s/%s]" % \ + (mysettings.get("CATEGORY",""), mysettings.get("PF","")) + if free or "SANDBOX_ACTIVE" in os.environ: keywords["opt_name"] += " bash" spawn_func = portage.process.spawn_bash @@ -1114,12 +1110,11 @@ def spawn(mystring, mysettings, debug=0, free=0, droppriv=0, sesandbox=0, fakero mysettings["PORTAGE_SANDBOX_T"]) if keywords.get("returnpid"): - return spawn_func(mystring, env=env, **keywords) + return spawn_func(mystring, env=mysettings.environ(), **keywords) sched = TaskScheduler() proc = EbuildSpawnProcess( - background=False, - args=mystring, env=env, + background=False, args=mystring, scheduler=sched.sched_iface, spawn_func=spawn_func, settings=mysettings, **keywords) |