diff options
author | Zac Medico <zmedico@gentoo.org> | 2011-12-18 16:12:57 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2011-12-18 16:12:57 -0800 |
commit | 7a0a0a1dc02487b08f47fef129a29e18f7c226a0 (patch) | |
tree | f2150d11fa004bd29067fe9aceb739501cbe44e6 | |
parent | af7d4ecf7e939818df2f2a210a376d91dd41291d (diff) | |
download | portage-7a0a0a1dc02487b08f47fef129a29e18f7c226a0.tar.gz portage-7a0a0a1dc02487b08f47fef129a29e18f7c226a0.tar.bz2 portage-7a0a0a1dc02487b08f47fef129a29e18f7c226a0.zip |
_run_pkg_pretend: doebuild_environment for clean
-rw-r--r-- | pym/_emerge/Scheduler.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py index 302b905ef..3800b8b1c 100644 --- a/pym/_emerge/Scheduler.py +++ b/pym/_emerge/Scheduler.py @@ -866,6 +866,20 @@ class Scheduler(PollScheduler): # Clean up the existing build dir, in case pkg_pretend # checks for available space (bug #390711). if existing_buildir: + if x.built: + tree = "bintree" + infloc = os.path.join(build_dir_path, "build-info") + ebuild_path = os.path.join(infloc, x.pf + ".ebuild") + else: + tree = "porttree" + portdb = root_config.trees["porttree"].dbapi + ebuild_path = portdb.findname(x.cpv, myrepo=x.repo) + if ebuild_path is None: + raise AssertionError( + "ebuild not found for '%s'" % x.cpv) + portage.package.ebuild.doebuild.doebuild_environment( + ebuild_path, "clean", settings=settings, + db=self.trees[settings['EROOT']][tree].dbapi) clean_phase = EbuildPhase(background=False, phase='clean', scheduler=sched_iface, settings=settings) current_task = clean_phase |