def _start(self): pkg = self.pkg build_opts = self.build_opts if pkg.installed: # uninstall, executed by self.merge() self.returncode = os.EX_OK self._async_wait() return args_set = self.args_set find_blockers = self.find_blockers logger = self.logger mtimedb = self.mtimedb pkg_count = self.pkg_count scheduler = self.scheduler settings = self.settings world_atom = self.world_atom ldpath_mtimes = mtimedb["ldpath"] action_desc = "Emerging" preposition = "for" pkg_color = "PKG_MERGE" if pkg.type_name == "binary": pkg_color = "PKG_BINARY_MERGE" action_desc += " binary" if build_opts.fetchonly: action_desc = "Fetching" msg = "%s (%s of %s) %s" % \ (action_desc, colorize("MERGE_LIST_PROGRESS", str(pkg_count.curval)), colorize("MERGE_LIST_PROGRESS", str(pkg_count.maxval)), colorize(pkg_color, pkg.cpv + _repo_separator + pkg.repo)) if pkg.root_config.settings["ROOT"] != "/": msg += " %s %s" % (preposition, pkg.root) if not build_opts.pretend: self.statusMessage(msg) logger.log(" >>> emerge (%s of %s) %s to %s" % \ (pkg_count.curval, pkg_count.maxval, pkg.cpv, pkg.root)) if pkg.type_name == "ebuild": build = EbuildBuild(args_set=args_set, background=self.background, config_pool=self.config_pool, find_blockers=find_blockers, ldpath_mtimes=ldpath_mtimes, logger=logger, opts=build_opts, pkg=pkg, pkg_count=pkg_count, prefetcher=self.prefetcher, scheduler=scheduler, settings=settings, world_atom=world_atom) self._install_task = build self._start_task(build, self._default_final_exit) return elif pkg.type_name == "binary": binpkg = Binpkg(background=self.background, find_blockers=find_blockers, ldpath_mtimes=ldpath_mtimes, logger=logger, opts=self.binpkg_opts, pkg=pkg, pkg_count=pkg_count, prefetcher=self.prefetcher, settings=settings, scheduler=scheduler, world_atom=world_atom) self._install_task = binpkg self._start_task(binpkg, self._default_final_exit) return
def _start(self): pkg = self.pkg build_opts = self.build_opts if pkg.installed: # uninstall, executed by self.merge() self.returncode = os.EX_OK self.wait() return args_set = self.args_set find_blockers = self.find_blockers logger = self.logger mtimedb = self.mtimedb pkg_count = self.pkg_count scheduler = self.scheduler settings = self.settings world_atom = self.world_atom ldpath_mtimes = mtimedb["ldpath"] action_desc = "Emerging" preposition = "for" if pkg.type_name == "binary": action_desc += " binary" if build_opts.fetchonly: action_desc = "Fetching" msg = "%s (%s of %s) %s" % \ (action_desc, colorize("MERGE_LIST_PROGRESS", str(pkg_count.curval)), colorize("MERGE_LIST_PROGRESS", str(pkg_count.maxval)), colorize("GOOD", pkg.cpv)) portdb = pkg.root_config.trees["porttree"].dbapi portdir_repo_name = portdb.getRepositoryName(portdb.porttree_root) if portdir_repo_name: pkg_repo_name = pkg.repo if pkg_repo_name != portdir_repo_name: if pkg_repo_name == pkg.UNKNOWN_REPO: pkg_repo_name = "unknown repo" msg += " from %s" % pkg_repo_name if pkg.root_config.settings["ROOT"] != "/": msg += " %s %s" % (preposition, pkg.root) if not build_opts.pretend: self.statusMessage(msg) logger.log(" >>> emerge (%s of %s) %s to %s" % \ (pkg_count.curval, pkg_count.maxval, pkg.cpv, pkg.root)) if pkg.type_name == "ebuild": build = EbuildBuild(args_set=args_set, background=self.background, config_pool=self.config_pool, find_blockers=find_blockers, ldpath_mtimes=ldpath_mtimes, logger=logger, opts=build_opts, pkg=pkg, pkg_count=pkg_count, prefetcher=self.prefetcher, scheduler=scheduler, settings=settings, world_atom=world_atom) self._install_task = build self._start_task(build, self._default_final_exit) return elif pkg.type_name == "binary": binpkg = Binpkg(background=self.background, find_blockers=find_blockers, ldpath_mtimes=ldpath_mtimes, logger=logger, opts=self.binpkg_opts, pkg=pkg, pkg_count=pkg_count, prefetcher=self.prefetcher, settings=settings, scheduler=scheduler, world_atom=world_atom) self._install_task = binpkg self._start_task(binpkg, self._default_final_exit) return