示例#1
0
    def run(self, atoms, options={}, action=None):
        options = options.copy()
        options["--pretend"] = True
        if self.debug:
            options["--debug"] = True

        if action is None:
            if options.get("--depclean"):
                action = "depclean"
            elif options.get("--prune"):
                action = "prune"

        if "--usepkgonly" in options:
            options["--usepkg"] = True

        global_noiselimit = portage.util.noiselimit
        global_emergelog_disable = _emerge.emergelog._disable
        try:

            if not self.debug:
                portage.util.noiselimit = -2
            _emerge.emergelog._disable = True

            if action in ("depclean", "prune"):
                rval, cleanlist, ordered, req_pkg_count = \
                 calc_depclean(self.settings, self.trees, None,
                 options, action, InternalPackageSet(initial_atoms=atoms, allow_wildcard=True), None)
                result = ResolverPlaygroundDepcleanResult(
                    atoms, rval, cleanlist, ordered, req_pkg_count)
            else:
                params = create_depgraph_params(options, action)
                success, depgraph, favorites = backtrack_depgraph(
                    self.settings, self.trees, options, params, action, atoms,
                    None)
                depgraph._show_merge_list()
                depgraph.display_problems()
                result = ResolverPlaygroundResult(atoms, success, depgraph,
                                                  favorites)
        finally:
            portage.util.noiselimit = global_noiselimit
            _emerge.emergelog._disable = global_emergelog_disable

        return result
示例#2
0
	def run(self, atoms, options={}, action=None):
		options = options.copy()
		options["--pretend"] = True
		if self.debug:
			options["--debug"] = True

		if action is None:
			if options.get("--depclean"):
				action = "depclean"
			elif options.get("--prune"):
				action = "prune"

		if "--usepkgonly" in options:
			options["--usepkg"] = True

		global_noiselimit = portage.util.noiselimit
		global_emergelog_disable = _emerge.emergelog._disable
		try:

			if not self.debug:
				portage.util.noiselimit = -2
			_emerge.emergelog._disable = True

			if action in ("depclean", "prune"):
				rval, cleanlist, ordered, req_pkg_count = \
					calc_depclean(self.settings, self.trees, None,
					options, action, InternalPackageSet(initial_atoms=atoms, allow_wildcard=True), None)
				result = ResolverPlaygroundDepcleanResult(
					atoms, rval, cleanlist, ordered, req_pkg_count)
			else:
				params = create_depgraph_params(options, action)
				success, depgraph, favorites = backtrack_depgraph(
					self.settings, self.trees, options, params, action, atoms, None)
				depgraph._show_merge_list()
				depgraph.display_problems()
				result = ResolverPlaygroundResult(atoms, success, depgraph, favorites)
		finally:
			portage.util.noiselimit = global_noiselimit
			_emerge.emergelog._disable = global_emergelog_disable

		return result