Ejemplo n.º 1
0
def main(input_args):
	"""Parse input and run the program"""
	short_opts = "hadD" # -d, --direct was old option for default action
	long_opts = ('help', 'all-packages', 'direct', 'indirect', 'depth=')

	try:
		module_opts, queries = gnu_getopt(input_args, short_opts, long_opts)
	except GetoptError as err:
		sys.stderr.write(pp.error("Module %s" % err))
		print()
		print_help(with_description=False)
		sys.exit(2)

	parse_module_options(module_opts)

	if not queries:
		print_help()
		sys.exit(2)

	#
	# Output
	#

	dep_print = DependPrinter(verbose=CONFIG['verbose'])

	first_run = True
	got_match = False
	for query in queries:
		if not first_run:
			print()

		pkg = Dependencies(query)
		if QUERY_OPTS['include_masked']:
			pkggetter = get_cpvs
		else:
			pkggetter = get_installed_cpvs

		if CONFIG['verbose']:
			print(" * These packages depend on %s:" % pp.emph(pkg.cpv))
		if pkg.graph_reverse_depends(
			pkgset=sorted(pkggetter(), key=CPV),
			max_depth=QUERY_OPTS["max_depth"],
			only_direct=QUERY_OPTS["only_direct"],
			printer_fn=dep_print
		):
			got_match = True

		first_run = False

	if not got_match:
		sys.exit(1)
Ejemplo n.º 2
0
    def deps(self):
        """Instantiate a L{gentoolkit.dependencies.Dependencies} object here."""

        from gentoolkit.dependencies import Dependencies

        if self._deps is None:
            self._deps = Dependencies(self.cpv)

        return self._deps