--- pym/portage.py 2007/01/09 01:03:37 1.1 +++ pym/portage.py 2007/01/09 02:21:04 @@ -3296,15 +3296,11 @@ def doebuild(myebuild, mydo, myroot, mys #initial dep checks complete; time to process main commands - nosandbox = (("userpriv" in features) and \ + userpriv_nosandbox = (("userpriv" in features) and \ ("usersandbox" not in features) and \ ("userpriv" not in mysettings["RESTRICT"]) and \ ("nouserpriv" not in mysettings["RESTRICT"])) - if nosandbox and ("userpriv" not in features or \ - "userpriv" in mysettings["RESTRICT"] or \ - "nouserpriv" in mysettings["RESTRICT"]): - nosandbox = ("sandbox" not in features and \ - "usersandbox" not in features) + restrict_sandbox = "sandbox" in mysettings["RESTRICT"] sesandbox = mysettings.selinux_enabled() and \ "sesandbox" in mysettings.features @@ -3313,14 +3309,18 @@ def doebuild(myebuild, mydo, myroot, mys # args are for the to spawn function actionmap = { -"depend": {"cmd":ebuild_sh, "args":{"droppriv":1, "free":0, "sesandbox":0}}, -"setup": {"cmd":ebuild_sh, "args":{"droppriv":0, "free":1, "sesandbox":0}}, -"unpack": {"cmd":ebuild_sh, "args":{"droppriv":1, "free":0, "sesandbox":sesandbox}}, -"compile":{"cmd":ebuild_sh, "args":{"droppriv":1, "free":nosandbox, "sesandbox":sesandbox}}, -"test": {"cmd":ebuild_sh, "args":{"droppriv":1, "free":nosandbox, "sesandbox":sesandbox}}, -"install":{"cmd":ebuild_sh, "args":{"droppriv":0, "free":0, "sesandbox":sesandbox}}, -"rpm": {"cmd":misc_sh, "args":{"droppriv":0, "free":0, "sesandbox":0}}, -"package":{"cmd":misc_sh, "args":{"droppriv":0, "free":0, "sesandbox":0}}, +"depend": {"cmd":ebuild_sh, "args":{"droppriv":1, "sesandbox":0, "free":0}}, +"setup": {"cmd":ebuild_sh, "args":{"droppriv":0, "sesandbox":0, "free":1}}, +"unpack": {"cmd":ebuild_sh, "args":{"droppriv":1, "sesandbox":sesandbox, + "free":restrict_sandbox or userpriv_nosandbox}}, +"compile":{"cmd":ebuild_sh, "args":{"droppriv":1, "sesandbox":sesandbox, + "free":restrict_sandbox or userpriv_nosandbox}}, +"test": {"cmd":ebuild_sh, "args":{"droppriv":1, "sesandbox":sesandbox, + "free":restrict_sandbox or userpriv_nosandbox}}, +"install":{"cmd":ebuild_sh, "args":{"droppriv":0, "sesandbox":sesandbox, + "free":restrict_sandbox}}, +"rpm": {"cmd":misc_sh, "args":{"droppriv":0, "sesandbox":0, "free":0}}, +"package":{"cmd":misc_sh, "args":{"droppriv":0, "sesandbox":0, "free":0}}, } # merge the deps in so we have again a 'full' actionmap