if data.secpass > 1 and os.environ.get("SANDBOX_ON") != "1":
close_portdbapi_caches()
-def create_trees(config_root=None, target_root=None, trees=None):
+def create_trees(config_root=None, target_root=None, trees=None, env=None):
if trees is None:
trees = {}
else:
portdbapi.portdbapi_instances.remove(portdb)
del trees[myroot]["porttree"], myroot, portdb
- eprefix = os.environ.get("__PORTAGE_TEST_EPREFIX")
+ if env is None:
+ env = os.environ
+ eprefix = env.get("__PORTAGE_TEST_EPREFIX")
settings = config(config_root=config_root, target_root=target_root,
- config_incrementals=portage.const.INCREMENTALS, _eprefix=eprefix)
+ env=env, _eprefix=eprefix)
settings.lock()
myroots = [(settings["ROOT"], settings)]
portdir_overlay.append(path)
env = {
+ "__PORTAGE_TEST_EPREFIX": self.eprefix,
"ACCEPT_KEYWORDS": "x86",
"DISTDIR" : self.distdir,
+ "PKGDIR": os.path.join(self.eroot, "usr/portage/packages"),
"PORTDIR": self.portdir,
"PORTDIR_OVERLAY": " ".join(portdir_overlay),
'PORTAGE_TMPDIR' : os.path.join(self.eroot, 'var/tmp'),
if 'PORTAGE_GRPNAME' in os.environ:
env['PORTAGE_GRPNAME'] = os.environ['PORTAGE_GRPNAME']
- settings = config(_eprefix=self.eprefix, env=env)
- settings.lock()
-
- trees = {
- self.root: {
- "vartree": vartree(settings=settings),
- "porttree": portagetree(self.root, settings=settings),
- "bintree": binarytree(self.root,
- os.path.join(self.eroot, "usr/portage/packages"),
- settings=settings)
- }
- }
-
+ trees = portage.create_trees(env=env)
for root, root_trees in trees.items():
settings = root_trees["vartree"].settings
settings._init_dirs()