Esempio n. 1
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        descriptor = SoloCommandDescriptor.obtain_descriptor(SoloDeptest.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloDeptest.NAME))

        parser.add_argument("--ask",
                            "-a",
                            action="store_true",
                            default=self._ask,
                            help=_("ask before making any changes"))
        parser.add_argument("--quiet",
                            "-q",
                            action="store_true",
                            default=self._quiet,
                            help=_("show less details (useful for scripting)"))
        parser.add_argument("--pretend",
                            "-p",
                            action="store_true",
                            default=self._pretend,
                            help=_("just show what would be done"))

        return parser
Esempio n. 2
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        descriptor = SoloCommandDescriptor.obtain_descriptor(
            SoloSearch.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloSearch.NAME))

        parser.add_argument("string", nargs='+',
                            metavar="<string>", help=_("search keyword"))

        parser.add_argument("--quiet", "-q", action="store_true",
                            default=self._quiet,
                            help=_('quiet output, for scripting purposes'))

        parser.add_argument("--verbose", "-v", action="store_true",
                            default=self._verbose,
                            help=_('verbose output'))

        group = parser.add_mutually_exclusive_group()
        group.add_argument("--installed", action="store_true",
                           default=self._installed,
                           help=_('search among installed packages only'))

        group.add_argument("--available", action="store_true",
                           default=self._available,
                           help=_('search among available packages only'))

        return parser
Esempio n. 3
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        _commands = []
        descriptor = SoloCommandDescriptor.obtain_descriptor(SoloUnused.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloUnused.NAME))

        parser.add_argument("--quiet",
                            "-q",
                            action="store_true",
                            default=self._quiet,
                            help=_("show less details (useful for scripting)"))
        _commands.append("--quiet")
        _commands.append("-q")

        parser.add_argument("--sortbysize",
                            action="store_true",
                            default=self._sortbysize,
                            help=_("sort packages by size"))
        _commands.append("--sortbysize")

        parser.add_argument("--spm-wanted", action="store_true",
                            default=self._spm_wanted,
                            help=_("consider packages installed with" \
                                   " a Source Package Manager to be wanted"))
        _commands.append("--spm-wanted")

        self._commands = _commands
        return parser
Esempio n. 4
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        _commands = []

        descriptor = SoloCommandDescriptor.obtain_descriptor(
            SoloCache.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloCache.NAME))

        subparsers = parser.add_subparsers(
            title="action", description=_("manage cache"),
            help=_("available commands"))

        clean_parser = subparsers.add_parser(
            "clean", help=_("clean Entropy Library Cache"))
        clean_parser.add_argument(
            "--verbose", "-v", action="store_true", default=False,
            help=_("show more details"))
        clean_parser.add_argument(
            "--quiet", "-q", action="store_true", default=False,
            help=_("print results in a scriptable way"))

        clean_parser.set_defaults(func=self._clean)
        _commands.append("clean")

        self._commands = _commands
        return parser
Esempio n. 5
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        _commands = []
        descriptor = SoloCommandDescriptor.obtain_descriptor(
            SoloUnused.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloUnused.NAME))

        parser.add_argument("--quiet", "-q", action="store_true",
                            default=self._quiet,
                            help=_("show less details (useful for scripting)"))
        _commands.append("--quiet")
        _commands.append("-q")

        parser.add_argument("--sortbysize", action="store_true",
                            default=self._sortbysize,
                            help=_("sort packages by size"))
        _commands.append("--sortbysize")

        parser.add_argument("--by-user", action="store_true",
                            default=self._byuser,
                            help=_("include packages installed by user"))
        _commands.append("--by-user")

        self._commands = _commands
        return parser
Esempio n. 6
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        _commands = {}

        descriptor = SoloCommandDescriptor.obtain_descriptor(
            SoloPreservedLibs.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloPreservedLibs.NAME))

        subparsers = parser.add_subparsers(
            title="action",
            description=_("manage preserved libraries"),
            help=_("available commands"))

        list_parser = subparsers.add_parser(
            "list", help=_("list the currently preserved libraries"))
        list_parser.set_defaults(func=self._list)
        self._setup_verbose_quiet_parser(list_parser)
        _commands["list"] = {}

        gc_parser = subparsers.add_parser(
            "gc", help=_("show libraries that could be garbage collected"))
        gc_parser.set_defaults(func=self._gc)
        _commands["gc"] = {}

        self._commands = _commands
        return parser
Esempio n. 7
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        _commands = {}

        descriptor = SoloCommandDescriptor.obtain_descriptor(
            SoloPreservedLibs.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloPreservedLibs.NAME))

        subparsers = parser.add_subparsers(
            title="action",
            description=_("manage preserved libraries"),
            help=_("available commands"))

        list_parser = subparsers.add_parser(
            "list", help=_("list the currently preserved libraries"))
        list_parser.set_defaults(func=self._list)
        self._setup_verbose_quiet_parser(list_parser)
        _commands["list"] = {}

        gc_parser = subparsers.add_parser(
            "gc", help=_("show libraries that could be garbage collected"))
        gc_parser.set_defaults(func=self._gc)
        _commands["gc"] = {}

        self._commands = _commands
        return parser
Esempio n. 8
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        descriptor = SoloCommandDescriptor.obtain_descriptor(self.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], self.NAME))

        parser.add_argument("packages",
                            nargs='+',
                            metavar="<package>",
                            help=_("package name"))

        group = parser.add_mutually_exclusive_group()
        group.add_argument("--ask",
                           "-a",
                           action="store_true",
                           default=self._ask,
                           help=_('ask before making any changes'))

        group.add_argument("--pretend",
                           "-p",
                           action="store_true",
                           default=self._pretend,
                           help=_('only show what would be done'))

        return parser
Esempio n. 9
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        _commands = []

        descriptor = SoloCommandDescriptor.obtain_descriptor(SoloCache.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloCache.NAME))

        subparsers = parser.add_subparsers(title="action",
                                           description=_("manage cache"),
                                           help=_("available commands"))

        clean_parser = subparsers.add_parser(
            "clean", help=_("clean Entropy Library Cache"))
        clean_parser.add_argument("--verbose",
                                  "-v",
                                  action="store_true",
                                  default=False,
                                  help=_("show more details"))
        clean_parser.add_argument("--quiet",
                                  "-q",
                                  action="store_true",
                                  default=False,
                                  help=_("print results in a scriptable way"))

        clean_parser.set_defaults(func=self._clean)
        _commands.append("clean")

        self._commands = _commands
        return parser
Esempio n. 10
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        _commands = []

        descriptor = SoloCommandDescriptor.obtain_descriptor(
            SoloConf.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloConf.NAME))

        subparsers = parser.add_subparsers(
            title="action",
            description=_("manage configuration file updates"),
            help=_("available commands"))

        update_parser = subparsers.add_parser(
            "update", help=_("update configuration files"))
        update_parser.set_defaults(func=self._update)
        _commands.append("update")

        self._commands = _commands
        return parser
Esempio n. 11
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        descriptor = SoloCommandDescriptor.obtain_descriptor(SoloCleanup.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloCleanup.NAME))

        return parser
Esempio n. 12
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        descriptor = SoloCommandDescriptor.obtain_descriptor(
            SoloStatus.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloStatus.NAME))

        return parser
Esempio n. 13
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        descriptor = SoloCommandDescriptor.obtain_descriptor(SoloHop.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloHop.NAME))

        parser.add_argument("branch", metavar="<branch>", help=_("branch"))

        return parser
Esempio n. 14
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        descriptor = SoloCommandDescriptor.obtain_descriptor(
            SoloNotice.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloNotice.NAME))

        parser.add_argument("repo", nargs='+',
                            metavar="<repo>", help=_("repository"))

        return parser
Esempio n. 15
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        descriptor = SoloCommandDescriptor.obtain_descriptor(
            SoloHop.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloHop.NAME))

        parser.add_argument(
            "branch", metavar="<branch>", help=_("branch"))

        return parser
Esempio n. 16
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        descriptor = SoloCommandDescriptor.obtain_descriptor(SoloNotice.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloNotice.NAME))

        parser.add_argument("repo",
                            nargs='+',
                            metavar="<repo>",
                            help=_("repository"))

        return parser
Esempio n. 17
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        descriptor = SoloCommandDescriptor.obtain_descriptor(
            SoloUpdate.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloUpdate.NAME))

        parser.add_argument("repo", nargs='*', default=None,
                            metavar="<repo>", help=_("repository"))
        parser.add_argument("--force", action="store_true",
                            default=self._force,
                            help=_("force update"))

        return parser
Esempio n. 18
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        descriptor = SoloCommandDescriptor.obtain_descriptor(
            SoloLibtest.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloLibtest.NAME))

        _commands = []
        parser.add_argument("--ask", "-a", action="store_true",
                            default=False,
                            help=_("ask before making any changes"))
        _commands.append("--ask")
        _commands.append("-a")

        parser.add_argument("--quiet", "-q", action="store_true",
                            default=False,
                            help=_("show less details "
                                   "(useful for scripting)"))
        _commands.append("--quiet")
        _commands.append("-q")

        parser.add_argument("--pretend", "-p", action="store_true",
                            default=False,
                            help=_("just show what would be done"))
        _commands.append("--pretend")
        _commands.append("-p")

        parser.add_argument("--listfiles", action="store_true",
                            default=False,
                            help=_("print broken files to stdout"))
        _commands.append("--listfiles")

        parser.add_argument("--dump", action="store_true",
                            default=False,
                            help=_("dump results to files"))
        _commands.append("--dump")

        self._commands = _commands
        return parser
Esempio n. 19
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        descriptor = SoloCommandDescriptor.obtain_descriptor(
            SoloLibtest.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloLibtest.NAME))

        _commands = []
        parser.add_argument("--ask", "-a", action="store_true",
                            default=False,
                            help=_("ask before making any changes"))
        _commands.append("--ask")
        _commands.append("-a")

        parser.add_argument("--quiet", "-q", action="store_true",
                            default=False,
                            help=_("show less details "
                                   "(useful for scripting)"))
        _commands.append("--quiet")
        _commands.append("-q")

        parser.add_argument("--pretend", "-p", action="store_true",
                            default=False,
                            help=_("just show what would be done"))
        _commands.append("--pretend")
        _commands.append("-p")

        parser.add_argument("--listfiles", action="store_true",
                            default=False,
                            help=_("print broken files to stdout"))
        _commands.append("--listfiles")

        parser.add_argument("--dump", action="store_true",
                            default=False,
                            help=_("dump results to files"))
        _commands.append("--dump")

        self._commands = _commands
        return parser
Esempio n. 20
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        _commands = {}

        descriptor = SoloCommandDescriptor.obtain_descriptor(
            SoloConfig.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloConfig.NAME))
        parser.set_defaults(func=self._config)

        parser.add_argument(
            "packages", nargs='+',
            metavar="<package>", help=_("package name"))

        mg_group = parser.add_mutually_exclusive_group()
        mg_group.add_argument(
            "--ask", "-a", action="store_true",
            default=False,
            help=_("ask before making any changes"))
        _commands["--ask"] = {}
        _commands["-a"] = {}
        mg_group.add_argument(
            "--pretend", "-p", action="store_true",
            default=False,
            help=_("show what would be done"))
        _commands["--pretend"] = {}
        _commands["-p"] = {}

        parser.add_argument(
            "--verbose", "-v", action="store_true",
            default=False,
            help=_("verbose output"))
        _commands["--verbose"] = {}
        _commands["-v"] = {}

        self._commands = _commands
        return parser
Esempio n. 21
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        _commands = {}

        descriptor = SoloCommandDescriptor.obtain_descriptor(
            SoloConfig.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloConfig.NAME))
        parser.set_defaults(func=self._config)

        parser.add_argument(
            "packages", nargs='+',
            metavar="<package>", help=_("package name"))

        mg_group = parser.add_mutually_exclusive_group()
        mg_group.add_argument(
            "--ask", "-a", action="store_true",
            default=False,
            help=_("ask before making any changes"))
        _commands["--ask"] = {}
        _commands["-a"] = {}
        mg_group.add_argument(
            "--pretend", "-p", action="store_true",
            default=False,
            help=_("show what would be done"))
        _commands["--pretend"] = {}
        _commands["-p"] = {}

        parser.add_argument(
            "--verbose", "-v", action="store_true",
            default=False,
            help=_("verbose output"))
        _commands["--verbose"] = {}
        _commands["-v"] = {}

        self._commands = _commands
        return parser
Esempio n. 22
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        descriptor = SoloCommandDescriptor.obtain_descriptor(SoloUpdate.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloUpdate.NAME))

        parser.add_argument("repo",
                            nargs='*',
                            default=None,
                            metavar="<repo>",
                            help=_("repository"))
        parser.add_argument("--force",
                            action="store_true",
                            default=self._force,
                            help=_("force update"))

        return parser
Esempio n. 23
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        descriptor = SoloCommandDescriptor.obtain_descriptor(
            SoloDeptest.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloDeptest.NAME))

        parser.add_argument("--ask", "-a", action="store_true",
                            default=self._ask,
                            help=_("ask before making any changes"))
        parser.add_argument("--quiet", "-q", action="store_true",
                            default=self._quiet,
                            help=_("show less details (useful for scripting)"))
        parser.add_argument("--pretend", "-p", action="store_true",
                            default=self._pretend,
                            help=_("just show what would be done"))

        return parser
Esempio n. 24
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        descriptor = SoloCommandDescriptor.obtain_descriptor(
            self.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], self.NAME))

        parser.add_argument("packages", nargs='+',
                            metavar="<package>", help=_("package name"))

        group = parser.add_mutually_exclusive_group()
        group.add_argument("--ask", "-a", action="store_true",
                           default=self._ask,
                           help=_('ask before making any changes'))

        group.add_argument("--pretend", "-p", action="store_true",
                           default=self._pretend,
                           help=_('only show what would be done'))

        return parser
Esempio n. 25
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        _commands = []

        descriptor = SoloCommandDescriptor.obtain_descriptor(SoloConf.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloConf.NAME))

        subparsers = parser.add_subparsers(
            title="action",
            description=_("manage configuration file updates"),
            help=_("available commands"))

        update_parser = subparsers.add_parser(
            "update", help=_("update configuration files"))
        update_parser.set_defaults(func=self._update)
        _commands.append("update")

        self._commands = _commands
        return parser
Esempio n. 26
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        _commands = {}

        descriptor = SoloCommandDescriptor.obtain_descriptor(
            SoloRemove.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloRemove.NAME))
        parser.set_defaults(func=self._remove)

        parser.add_argument(
            "packages", nargs='+',
            metavar="<package>", help=_("package name"))

        mg_group = parser.add_mutually_exclusive_group()
        mg_group.add_argument(
            "--ask", "-a", action="store_true",
            default=False,
            help=_("ask before making any changes"))
        _commands["--ask"] = {}
        _commands["-a"] = {}

        mg_group.add_argument(
            "--pretend", "-p", action="store_true",
            default=False,
            help=_("show what would be done"))
        _commands["--pretend"] = {}
        _commands["-p"] = {}

        parser.add_argument(
            "--verbose", "-v", action="store_true",
            default=False,
            help=_("verbose output"))
        _commands["--verbose"] = {}
        _commands["-v"] = {}

        parser.add_argument(
            "--nodeps", action="store_true",
            default=False,
            help=_("exclude package dependencies"))
        _commands["--nodeps"] = {}

        parser.add_argument(
            "--norecursive", action="store_true",
            default=False,
            help=_("do not calculate dependencies recursively"))
        _commands["--norecursive"] = {}

        parser.add_argument(
            "--deep", action="store_true",
            default=False,
            help=_("include dependencies no longer needed"))
        _commands["--deep"] = {}

        parser.add_argument(
            "--empty", action="store_true",
            default=False,
            help=_("when used with --deep, include virtual packages"))
        _commands["--empty"] = {}

        parser.add_argument(
            "--configfiles", action="store_true",
            default=False,
            help=_("remove package configuration files no longer needed"))
        _commands["--configfiles"] = {}

        parser.add_argument(
            "--force-system", action="store_true",
            default=False,
            help=_("force system packages removal (dangerous!)"))
        _commands["--force-system"] = {}

        self._commands = _commands
        return parser
Esempio n. 27
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        _commands = {}

        descriptor = SoloCommandDescriptor.obtain_descriptor(
            SoloSecurity.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloSecurity.NAME))

        self._setup_verbose_quiet_parser(parser)

        subparsers = parser.add_subparsers(
            title="action", description=_("system security tools"),
            help=_("available commands"))

        oscheck_parser = subparsers.add_parser(
            "oscheck",
            help=_("verify installed files using stored checksums"))
        self._setup_verbose_quiet_parser(oscheck_parser)
        oscheck_parser.add_argument(
            "--mtime", action="store_true", default=False,
            help=_("consider mtime instead of SHA256 "
                   "(false positives ahead)"))
        oscheck_parser.add_argument(
            "--assimilate", action="store_true", default=False,
            help=_("update hashes and mtime (useful after "
                   "editing config files)"))
        oscheck_parser.add_argument(
            "--reinstall", action="store_true", default=False,
            help=_("reinstall faulty packages"))

        mg_group = oscheck_parser.add_mutually_exclusive_group()
        mg_group.add_argument(
            "--ask", "-a", action="store_true", default=False,
            help=_("ask before making any changes"))
        mg_group.add_argument(
            "--pretend", "-p", action="store_true", default=False,
            help=_("show what would be done"))
        oscheck_parser.add_argument(
            "--fetch", action="store_true", default=False,
            help=_("just download packages"))

        oscheck_parser.set_defaults(func=self._oscheck)
        _commands["oscheck"] = {
            "--mtime": {},
            "--assimilate": {},
            "--reinstall": {},
            "--pretend": {},
            "-p": {},
            "--ask": {},
            "-a": {},
            "--fetch": {},
        }

        update_parser = subparsers.add_parser(
            "update",
            help=_("download the latest Security Advisories"))
        self._setup_verbose_quiet_parser(update_parser)
        update_parser.add_argument(
            "--force", action="store_true", default=False,
            help=_("force download"))

        update_parser.set_defaults(func=self._update)
        _commands["update"] = {
            "--force": {},
        }

        list_parser = subparsers.add_parser(
            "list",
            help=_("list all the available Security Advisories"))
        self._setup_verbose_quiet_parser(list_parser)

        mg_group = list_parser.add_mutually_exclusive_group()
        mg_group.add_argument(
            "--affected", action="store_true", default=False,
            help=_("list only affected"))
        mg_group.add_argument(
            "--unaffected", action="store_true", default=False,
            help=_("list only unaffected"))
        list_parser.set_defaults(func=self._list)
        _commands["list"] = {
            "--affected": {},
            "--unaffected": {},
        }

        info_parser = subparsers.add_parser(
            "info",
            help=_("show information about provided "
                   "advisories identifiers"))
        self._setup_verbose_quiet_parser(info_parser)
        info_parser.add_argument(
            "ids", nargs='+',
            metavar="<id>", help=_("advisory indentifier"))
        info_parser.set_defaults(func=self._info)
        _commands["info"] = {}


        install_parser = subparsers.add_parser(
            "install",
            help=_("automatically install all the "
                   "available security updates"))
        self._setup_verbose_quiet_parser(install_parser)

        mg_group = install_parser.add_mutually_exclusive_group()
        mg_group.add_argument(
            "--ask", "-a", action="store_true", default=False,
            help=_("ask before making any changes"))
        mg_group.add_argument(
            "--pretend", "-p", action="store_true", default=False,
            help=_("show what would be done"))
        install_parser.add_argument(
            "--fetch", action="store_true", default=False,
            help=_("just download packages"))

        install_parser.set_defaults(func=self._install)
        _commands["install"] = {
            "--ask": {},
            "-a": {},
            "--fetch": {},
            "--pretend": {},
            "-p": {},
        }

        self._commands = _commands
        return parser
Esempio n. 28
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        _commands = {}

        descriptor = SoloCommandDescriptor.obtain_descriptor(
            SoloUpgrade.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloUpgrade.NAME))
        parser.set_defaults(func=self._upgrade)

        mg_group = parser.add_mutually_exclusive_group()
        mg_group.add_argument(
            "--ask", "-a", action="store_true",
            default=False,
            help=_("ask before making any changes"))
        _commands["--ask"] = {}
        _commands["-a"] = {}

        mg_group.add_argument(
            "--pretend", "-p", action="store_true",
            default=False,
            help=_("show what would be done"))
        _commands["--pretend"] = {}
        _commands["-p"] = {}

        parser.add_argument(
            "--verbose", "-v", action="store_true",
            default=False,
            help=_("verbose output"))
        _commands["--verbose"] = {}
        _commands["-v"] = {}

        parser.add_argument(
            "--quiet", "-q", action="store_true",
            default=False,
            help=_("quiet output"))
        _commands["--quiet"] = {}
        _commands["-q"] = {}

        parser.add_argument(
            "--fetch", action="store_true",
            default=False,
            help=_("just download packages"))
        _commands["--fetch"] = {}

        parser.add_argument(
            "--bdeps", action="store_true",
            default=False,
            help=_("include build-time dependencies"))
        _commands["--bdeps"] = {}

        parser.add_argument(
            "--nodeps", action="store_true",
            default=False,
            help=_("exclude package dependencies"))
        _commands["--nodeps"] = {}

        parser.add_argument(
            "--norecursive", action="store_true",
            default=False,
            help=_("do not calculate dependencies recursively"))
        _commands["--norecursive"] = {}

        parser.add_argument(
            "--deep", action="store_true",
            default=False,
            help=_("include dependencies no longer needed"))
        _commands["--deep"] = {}

        parser.add_argument(
            "--empty", action="store_true",
            default=False,
            help=_("when used with --deep, include virtual packages"))
        _commands["--empty"] = {}

        parser.add_argument(
            "--purge", action="store_true",
            default=False,
            help=_("remove unmaintained packages, if any. This will respect "
                   "--ask, --pretend and other switches."))
        _commands["--purge"] = {}

        parser.add_argument(
            "--configfiles", action="store_true",
            default=False,
            help=_("remove package configuration files no longer needed"))
        _commands["--configfiles"] = {}

        parser.add_argument(
            "--relaxed", action="store_true",
            default=False,
            help=_("relax dependencies constraints during calculation"))
        _commands["--relaxed"] = {}

        parser.add_argument(
            "--multifetch",
            type=int, default=1,
            choices=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
            help=_("download multiple packages in parallel (max 10)"))
        _commands["--multifetch"] = {}

        self._commands = _commands
        return parser
Esempio n. 29
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        _commands = {}

        descriptor = SoloCommandDescriptor.obtain_descriptor(
            SoloPkg.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloPkg.NAME))

        subparsers = parser.add_subparsers(
            title="action",
            description=_("execute advanced tasks on packages"),
            help=_("available commands"))

        def _argparse_easygoing_valid_entropy_path(string):
            if os.path.isfile(string) and os.path.exists(string):
                return string
            # see bug 3873, requires raw string
            msg = "%s: %s" % (
                _("not a valid Entropy package file"),
                string)
            msg = const_convert_to_rawstring(
                msg, from_enctype="utf-8")
            raise argparse.ArgumentTypeError(msg)

        quickpkg_parser = subparsers.add_parser(
            "quickpkg", help=_("generate packages from "
                               "the installed system"))
        quickpkg_parser.add_argument(
            "packages", nargs='+', metavar="<package>",
            help=_("installed package name"))
        quickpkg_parser.add_argument(
            "--savedir", metavar="<path>",
            type=self._argparse_is_valid_directory,
            default=self._savedir,
            help=_("destination directory "
                   "where to save generated packages"))
        quickpkg_parser.set_defaults(func=self._quickpkg)
        _commands["quickpkg"] = {}

        inflate_parser = subparsers.add_parser(
            "inflate", help=_("transform SPM package files "
                              "into Entropy ones"))
        inflate_parser.add_argument(
            "files", nargs='+', metavar="<file>",
            type=_argparse_easygoing_valid_entropy_path,
            help=_("SPM package file path"))
        inflate_parser.add_argument(
            "--savedir", metavar="<path>",
            type=self._argparse_is_valid_directory,
            default=self._savedir,
            help=_("destination directory "
                   "where to save generated packages"))
        inflate_parser.set_defaults(func=self._inflate)
        _commands["inflate"] = {}

        deflate_parser = subparsers.add_parser(
            "deflate", help=_("transform Entropy package files "
                              "into SPM ones"))
        deflate_parser.add_argument(
            "files", nargs='+', metavar="<file>",
            type=self._argparse_is_valid_entropy_package,
            help=_("Entropy package file path"))
        deflate_parser.add_argument(
            "--savedir", metavar="<path>",
            type=self._argparse_is_valid_directory,
            default=self._savedir,
            help=_("destination directory "
                   "where to save generated packages"))
        deflate_parser.set_defaults(func=self._deflate)
        _commands["deflate"] = {}

        extract_parser = subparsers.add_parser(
            "extract", help=_("extract Entropy metadata "
                              "from Entropy packages"))
        extract_parser.add_argument(
            "files", nargs='+', metavar="<file>",
            type=_argparse_easygoing_valid_entropy_path,
            help=_("Entropy package file path"))
        extract_parser.add_argument(
            "--savedir", metavar="<path>",
            type=self._argparse_is_valid_directory,
            default=self._savedir,
            help=_("destination directory "
                   "where to save generated packages"))
        extract_parser.set_defaults(func=self._extract)
        _commands["extract"] = {}

        self._commands = _commands
        return parser
Esempio n. 30
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        _commands = {}

        descriptor = SoloCommandDescriptor.obtain_descriptor(
            SoloUgc.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloUgc.NAME))

        subparsers = parser.add_subparsers(
            title="action", description=_("manage User Generated Content"),
            help=_("available commands"))

        login_parser = subparsers.add_parser(
            "login", help=_("login against the given repository"))
        login_parser.add_argument(
            "repo", help=_("repository name"))
        login_parser.add_argument(
            "--force", action="store_true",
            default=False, help=_("force action"))
        login_parser.set_defaults(func=self._login)
        _commands["login"] = {}

        logout_parser = subparsers.add_parser(
            "logout", help=_("logout from the given repository"))
        logout_parser.add_argument(
            "repo", help=_("repository name"))
        logout_parser.add_argument(
            "--force", action="store_true",
            default=False, help=_("force action"))
        logout_parser.set_defaults(func=self._logout)
        _commands["logout"] = {}

        documents_parser = subparsers.add_parser(
            "documents",
            help=_("manage package documents in "
                   "the selected repository (comments, files, videos)"))
        documents_parser.add_argument(
            "repo", help=_("repository name"))
        docs_d = {}
        _commands["documents"] = docs_d

        doc_subparsers = documents_parser.add_subparsers(
            title="action", description=_("manage Documents"),
            help=_("available commands"))

        doc_get_parser = doc_subparsers.add_parser(
            "get", help=_("get available documents for the "
                          "provided package name"))
        doc_get_parser.add_argument(
            "pkgkey", help=_("package name (example: x11-libs/qt)"))
        doc_get_parser.set_defaults(func=self._document_get)
        docs_d["get"] = {}

        doc_add_parser = doc_subparsers.add_parser(
            "add", help=_("add a new document to the "
                          "provided package name"))
        doc_add_parser.add_argument(
            "pkgkey", help=_("package name (example: x11-libs/qt)"))
        doc_add_parser.set_defaults(func=self._document_add)
        docs_d["add"] = {}

        doc_rm_parser = doc_subparsers.add_parser(
            "remove", help=_("remove documents from database "
                             "using their identifiers"))
        doc_rm_parser.add_argument(
            "pkgkey", help=_("package name (example: x11-libs/qt)"))
        doc_rm_parser.add_argument(
            "ids", nargs='+', metavar="<id>", type=int,
            help=_("document identifier"))
        doc_rm_parser.set_defaults(func=self._document_rm)
        docs_d["remove"] = {}


        vote_parser = subparsers.add_parser(
            "vote",
            help=_("manage package votes in "
                   "the selected repository"))
        vote_parser.add_argument(
            "repo", help=_("repository name"))
        vote_d = {}
        _commands["vote"] = vote_d

        vote_subparsers = vote_parser.add_subparsers(
            title="action", description=_("manage Votes"),
            help=_("available commands"))

        vote_get_parser = vote_subparsers.add_parser(
            "get", help=_("get vote for the provided package name"))
        vote_get_parser.add_argument(
            "pkgkey", help=_("package name (example: x11-libs/qt)"))
        vote_get_parser.set_defaults(func=self._vote_get)
        vote_d["get"] = {}

        vote_add_parser = vote_subparsers.add_parser(
            "add", help=_("add vote to the provided package name"))
        vote_add_parser.add_argument(
            "pkgkey", help=_("package name (example: x11-libs/qt)"))
        vote_add_parser.set_defaults(func=self._vote_add)
        vote_d["add"] = {}

        self._commands = _commands
        return parser
Esempio n. 31
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        _commands = {}

        descriptor = SoloCommandDescriptor.obtain_descriptor(
            SoloSource.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloSource.NAME))
        parser.set_defaults(func=self._source)

        parser.add_argument(
            "packages", nargs='+',
            metavar="<package>", help=_("package name"))

        mg_group = parser.add_mutually_exclusive_group()
        mg_group.add_argument(
            "--ask", "-a", action="store_true",
            default=False,
            help=_("ask before making any changes"))
        _commands["--ask"] = {}
        _commands["-a"] = {}

        mg_group.add_argument(
            "--pretend", "-p", action="store_true",
            default=False,
            help=_("show what would be done"))
        _commands["--pretend"] = {}
        _commands["-p"] = {}

        parser.add_argument(
            "--verbose", "-v", action="store_true",
            default=False,
            help=_("verbose output"))
        _commands["--verbose"] = {}
        _commands["-v"] = {}

        parser.add_argument(
            "--quiet", "-q", action="store_true",
            default=False,
            help=_("quiet output"))
        _commands["--quiet"] = {}
        _commands["-q"] = {}

        parser.add_argument(
            "--nodeps", action="store_true",
            default=False,
            help=_("exclude package dependencies"))
        _commands["--nodeps"] = {}

        parser.add_argument(
            "--onlydeps", "-o", action="store_true",
            default=False,
            help=_("only include dependencies of selected packages"))
        _commands["--onlydeps"] = {}
        _commands["-o"] = {}

        parser.add_argument(
            "--norecursive", action="store_true",
            default=False,
            help=_("do not calculate dependencies recursively"))
        _commands["--norecursive"] = {}

        parser.add_argument(
            "--deep", action="store_true",
            default=False,
            help=_("include dependencies no longer needed"))
        _commands["--deep"] = {}

        parser.add_argument(
            "--relaxed", action="store_true",
            default=False,
            help=_("calculate dependencies relaxing constraints"))
        _commands["--relaxed"] = {}

        parser.add_argument(
            "--bdeps", action="store_true",
            default=False,
            help=_("include build-time dependencies"))
        _commands["--bdeps"] = {}

        parser.add_argument(
            "--savehere", action="store_true",
            default=False,
            help=_("save files into the current working directory"))
        _commands["--savehere"] = {}

        self._commands = _commands
        return parser
Esempio n. 32
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        _commands = {}

        descriptor = SoloCommandDescriptor.obtain_descriptor(SoloRemove.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloRemove.NAME))
        parser.set_defaults(func=self._remove)

        parser.add_argument("packages",
                            nargs='+',
                            metavar="<package>",
                            help=_("package name"))

        mg_group = parser.add_mutually_exclusive_group()
        mg_group.add_argument("--ask",
                              "-a",
                              action="store_true",
                              default=False,
                              help=_("ask before making any changes"))
        _commands["--ask"] = {}
        _commands["-a"] = {}

        mg_group.add_argument("--pretend",
                              "-p",
                              action="store_true",
                              default=False,
                              help=_("show what would be done"))
        _commands["--pretend"] = {}
        _commands["-p"] = {}

        parser.add_argument("--verbose",
                            "-v",
                            action="store_true",
                            default=False,
                            help=_("verbose output"))
        _commands["--verbose"] = {}
        _commands["-v"] = {}

        parser.add_argument("--nodeps",
                            action="store_true",
                            default=False,
                            help=_("exclude package dependencies"))
        _commands["--nodeps"] = {}

        parser.add_argument(
            "--norecursive",
            action="store_true",
            default=False,
            help=_("do not calculate dependencies recursively"))
        _commands["--norecursive"] = {}

        parser.add_argument("--deep",
                            action="store_true",
                            default=False,
                            help=_("include dependencies no longer needed"))
        _commands["--deep"] = {}

        parser.add_argument(
            "--empty",
            action="store_true",
            default=False,
            help=_("when used with --deep, include virtual packages"))
        _commands["--empty"] = {}

        parser.add_argument(
            "--configfiles",
            action="store_true",
            default=False,
            help=_("remove package configuration files no longer needed"))
        _commands["--configfiles"] = {}

        parser.add_argument(
            "--force-system",
            action="store_true",
            default=False,
            help=_("force system packages removal (dangerous!)"))
        _commands["--force-system"] = {}

        self._commands = _commands
        return parser
Esempio n. 33
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        _commands = {}

        descriptor = SoloCommandDescriptor.obtain_descriptor(
            SoloInstall.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloInstall.NAME))
        parser.set_defaults(func=self._install)

        parser.add_argument(
            "packages", nargs='+',
            metavar="<package>", help=_("package name"))

        mg_group = parser.add_mutually_exclusive_group()
        mg_group.add_argument(
            "--ask", "-a", action="store_true",
            default=False,
            help=_("ask before making any changes"))
        _commands["--ask"] = {}
        _commands["-a"] = {}

        mg_group.add_argument(
            "--pretend", "-p", action="store_true",
            default=False,
            help=_("show what would be done"))
        _commands["--pretend"] = {}
        _commands["-p"] = {}

        parser.add_argument(
            "--verbose", "-v", action="store_true",
            default=False,
            help=_("verbose output"))
        _commands["--verbose"] = {}
        _commands["-v"] = {}

        parser.add_argument(
            "--quiet", "-q", action="store_true",
            default=False,
            help=_("quiet output"))
        _commands["--quiet"] = {}
        _commands["-q"] = {}

        parser.add_argument(
            "--fetch", action="store_true",
            default=False,
            help=_("just download packages"))
        _commands["--fetch"] = {}

        parser.add_argument(
            "--bdeps", action="store_true",
            default=False,
            help=_("include build-time dependencies"))
        _commands["--bdeps"] = {}

        parser.add_argument(
            "--nodeps", action="store_true",
            default=False,
            help=_("exclude package dependencies"))
        _commands["--nodeps"] = {}

        parser.add_argument(
            "--onlydeps", "-o", action="store_true",
            default=False,
            help=_("only include dependencies of selected packages"))
        _commands["--onlydeps"] = {}
        _commands["-o"] = {}

        parser.add_argument(
            "--norecursive", action="store_true",
            default=False,
            help=_("do not calculate dependencies recursively"))
        _commands["--norecursive"] = {}

        parser.add_argument(
            "--deep", action="store_true",
            default=False,
            help=_("include dependencies no longer needed"))
        _commands["--deep"] = {}

        parser.add_argument(
            "--empty", action="store_true",
            default=False,
            help=_("when used with --deep, include virtual packages"))
        _commands["--empty"] = {}

        parser.add_argument(
            "--configfiles", action="store_true",
            default=False,
            help=_("remove package configuration files no longer needed"))
        _commands["--configfiles"] = {}

        parser.add_argument(
            "--relaxed", action="store_true",
            default=False,
            help=_("relax dependencies constraints during calculation"))
        _commands["--relaxed"] = {}

        parser.add_argument(
            "--multifetch",
            type=int, default=1,
            choices=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
            help=_("download multiple packages in parallel (max 10)"))
        _commands["--multifetch"] = {}

        self._commands = _commands
        return parser
Esempio n. 34
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        _commands = {}

        descriptor = SoloCommandDescriptor.obtain_descriptor(
            SoloRescue.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloRescue.NAME))

        subparsers = parser.add_subparsers(
            title="action",
            description=_("execute advanced tasks on packages"),
            help=_("available commands"))

        def _add_ask_to_parser(p, _cmd_dict):
            p.add_argument(
                "--ask", "-a", action="store_true",
                default=False,
                help=_("ask before making any changes"))
            _cmd_dict["--ask"] = {}
            _cmd_dict["-a"] = {}

        def _add_pretend_to_parser(p, _cmd_dict):
            p.add_argument(
                "--pretend", "-p", action="store_true",
                default=False,
                help=_("show what would be done"))
            _cmd_dict["--pretend"] = {}
            _cmd_dict["-p"] = {}

        check_parser = subparsers.add_parser(
            "check", help=_("check installed packages "
                            "repository for errors"))
        check_parser.set_defaults(func=self._check)
        _commands["check"] = {}

        vacuum_parser = subparsers.add_parser(
            "vacuum",
            help=_("compact the installed packages repository"))
        vacuum_parser.set_defaults(func=self._vacuum)
        _commands["vacuum"] = {}

        generate_parser = subparsers.add_parser(
            "generate",
            help=_("re-generate the installed packages repository"
                   " using the Source Package Manager"))
        generate_parser.set_defaults(func=self._generate)
        _commands["generate"] = {}

        spmuids_parser = subparsers.add_parser(
            "spmuids",
            help=_("re-generate SPM<->Entropy package UIDs mapping"))
        spmuids_parser.set_defaults(func=self._spmuids)
        _commands["spmuids"] = {}

        spmsync_parser = subparsers.add_parser(
            "spmsync",
            help=_("update Entropy installed packages repository "
                   "merging Source Package Manager changes"))
        _cmd_dict = {}
        _commands["spmsync"] = _cmd_dict
        mg_group = spmsync_parser.add_mutually_exclusive_group()
        _add_ask_to_parser(mg_group, _cmd_dict)
        _add_pretend_to_parser(mg_group, _cmd_dict)
        spmsync_parser.set_defaults(func=self._spmsync)

        backup_parser = subparsers.add_parser(
            "backup",
            help=_("create a backup of the installed packages repository"))
        backup_parser.set_defaults(func=self._backup)
        _commands["backup"] = {}

        restore_parser = subparsers.add_parser(
            "restore",
            help=_("restore a backup of the installed "
                   "packages repository"))
        restore_parser.set_defaults(func=self._restore)
        _commands["restore"] = {}

        self._commands = _commands
        return parser
Esempio n. 35
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        _commands = {}

        descriptor = SoloCommandDescriptor.obtain_descriptor(SoloQuery.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloQuery.NAME),
        )

        self._setup_verbose_quiet_parser(parser)

        subparsers = parser.add_subparsers(
            title="action", description=_("repository query tools"), help=_("available commands")
        )

        belongs_parser = subparsers.add_parser("belongs", help=_("resolve what package a file belongs to"))
        belongs_parser.add_argument("files", nargs="+", metavar="<file>", help=_("file path"))
        self._setup_verbose_quiet_parser(belongs_parser)
        belongs_parser.set_defaults(func=self._belongs)
        _commands["belongs"] = {}

        changelog_parser = subparsers.add_parser("changelog", help=_("show package changelog"))
        changelog_parser.add_argument("packages", nargs="+", metavar="<package>", help=_("package name"))
        self._setup_verbose_quiet_parser(changelog_parser)
        changelog_parser.set_defaults(func=self._changelog)
        _commands["changelog"] = {}

        revdeps_parser = subparsers.add_parser("revdeps", help=_("show reverse dependencies of package"))
        revdeps_parser.add_argument("packages", nargs="+", metavar="<package>", help=_("package name"))
        self._setup_verbose_quiet_parser(revdeps_parser)
        revdeps_parser.set_defaults(func=self._revdeps)
        _commands["revdeps"] = {}

        desc_parser = subparsers.add_parser("description", help=_("search package by description"))
        desc_parser.add_argument("descriptions", nargs="+", metavar="<description>", help=_("description keyword"))
        desc_parser.set_defaults(func=self._description)
        self._setup_verbose_quiet_parser(desc_parser)
        _commands["description"] = {}

        files_parser = subparsers.add_parser("files", help=_("show files owned by package"))
        files_parser.add_argument("packages", nargs="+", metavar="<package>", help=_("package name"))
        files_parser.set_defaults(func=self._files)
        self._setup_verbose_quiet_parser(files_parser)
        _commands["files"] = {}

        installed_parser = subparsers.add_parser("installed", help=_("search installed packages"))
        installed_parser.add_argument("packages", nargs="+", metavar="<package>", help=_("package name"))
        installed_parser.set_defaults(func=self._installed)
        self._setup_verbose_quiet_parser(installed_parser)
        _commands["installed"] = {}

        lic_parser = subparsers.add_parser("license", help=_("show packages using the given license"))
        lic_parser.add_argument("licenses", nargs="+", metavar="<license>", help=_("license name"))
        lic_parser.set_defaults(func=self._license)
        self._setup_verbose_quiet_parser(lic_parser)
        _commands["license"] = {}

        list_parser = subparsers.add_parser("list", help=_("list packages"))
        self._setup_verbose_quiet_parser(list_parser)
        list_d = {}
        _commands["list"] = list_d

        list_subparsers = list_parser.add_subparsers(
            title="action", description=_("list packages"), help=_("available commands")
        )

        installed_parser = list_subparsers.add_parser("installed", help=_("list installed packages"))
        installed_parser.add_argument(
            "--by-user", action="store_true", default=False, help=_("only list packages installed by user")
        )
        installed_parser.add_argument(
            "repos", metavar="<repo>", nargs="*", help=_("only list packages installed from given repositories")
        )
        self._setup_verbose_quiet_parser(installed_parser)
        installed_parser.set_defaults(func=self._list_installed)
        list_d["installed"] = {"--by-user": {}}

        available_parser = list_subparsers.add_parser("available", help=_("list available packages"))
        available_parser.add_argument(
            "repos", metavar="<repo>", nargs="+", help=_("only list packages from given repositories")
        )
        self._setup_verbose_quiet_parser(available_parser)
        available_parser.set_defaults(func=self._list_available)
        list_d["available"] = {}

        mime_parser = subparsers.add_parser("mimetype", help=_("show packages able to handle the given mimetype"))
        mime_parser.add_argument("mimes", nargs="+", metavar="<mime>", help=_("mimetype"))
        mime_parser.add_argument(
            "--installed", action="store_true", default=False, help=_("only show installed packages")
        )
        self._setup_verbose_quiet_parser(mime_parser)
        mime_parser.set_defaults(func=self._mimetype)
        _commands["mimetype"] = {"--installed": {}}

        associate_parser = subparsers.add_parser("associate", help=_("associate file to packages able to handle it"))
        associate_parser.add_argument("files", nargs="+", metavar="<file>", help=_("file path"))
        associate_parser.add_argument(
            "--installed", action="store_true", default=False, help=_("only show installed packages")
        )
        self._setup_verbose_quiet_parser(associate_parser)
        associate_parser.set_defaults(func=self._associate)
        _commands["associate"] = {"--installed": {}}

        needed_parser = subparsers.add_parser("needed", help=_("show runtime libraries needed by the given package"))
        needed_parser.add_argument("packages", nargs="+", metavar="<package>", help=_("package name"))
        self._setup_verbose_quiet_parser(needed_parser)
        needed_parser.set_defaults(func=self._needed)
        _commands["needed"] = {}

        orphans_parser = subparsers.add_parser("orphans", help=_("search files not belonging to any packages"))
        orphans_parser.set_defaults(func=self._orphans)
        _commands["orphans"] = {}

        required_parser = subparsers.add_parser("required", help=_("show packages requiring the given library name"))
        required_parser.add_argument(
            "libraries", nargs="+", metavar="<library>", help=_("library name (example: libdl.so.2)")
        )
        self._setup_verbose_quiet_parser(required_parser)
        required_parser.set_defaults(func=self._required)
        _commands["required"] = {}

        sets_parser = subparsers.add_parser("sets", help=_("search package sets"))
        sets_parser.add_argument("sets", nargs="*", metavar="<set>", help=_("set name"))
        self._setup_verbose_quiet_parser(sets_parser)
        sets_parser.set_defaults(func=self._sets)
        _commands["sets"] = {}

        slot_parser = subparsers.add_parser("slot", help=_("show packages owning the given slot"))
        slot_parser.add_argument("slots", nargs="+", metavar="<slot>", help=_("slot name"))
        self._setup_verbose_quiet_parser(slot_parser)
        slot_parser.set_defaults(func=self._slot)
        _commands["slot"] = {}

        tags_parser = subparsers.add_parser("tags", help=_("show packages owning the given tag"))
        tags_parser.add_argument("tags", nargs="+", metavar="<tag>", help=_("tag name"))
        self._setup_verbose_quiet_parser(tags_parser)
        tags_parser.set_defaults(func=self._tags)
        _commands["tags"] = {}

        revs_parser = subparsers.add_parser("revisions", help=_("show packages at the given revision"))
        revs_parser.add_argument("revisions", nargs="+", metavar="<revision>", help=_("revision name"))
        self._setup_verbose_quiet_parser(revs_parser)
        revs_parser.set_defaults(func=self._revisions)
        _commands["revisions"] = {}

        graph_parser = subparsers.add_parser(
            "graph", help=_("show the direct dependencies graph " "for the given package")
        )
        graph_parser.add_argument("packages", nargs="+", metavar="<package>", help=_("package name"))
        graph_parser.add_argument(
            "--complete",
            action="store_true",
            default=False,
            help=_("include system packages, build-time dependencies " "and circular dependencies information"),
        )
        self._setup_verbose_quiet_parser(graph_parser)
        graph_parser.set_defaults(func=self._graph)
        _commands["graph"] = {"--complete": {}}

        revgraph_parser = subparsers.add_parser(
            "revgraph", help=_("show the inverse dependencies graph " "for the given package")
        )
        revgraph_parser.add_argument("packages", nargs="+", metavar="<package>", help=_("package name"))
        revgraph_parser.add_argument(
            "--complete",
            action="store_true",
            default=False,
            help=_("include system packages, build-time dependencies " "and circular dependencies information"),
        )
        self._setup_verbose_quiet_parser(revgraph_parser)
        revgraph_parser.set_defaults(func=self._revgraph)
        _commands["revgraph"] = {"--complete": {}}

        updates_parser = subparsers.add_parser("updates", help=_("show the number of updates available"))
        self._setup_verbose_quiet_parser(updates_parser)
        updates_parser.set_defaults(func=self._updates)
        _commands["updates"] = {}

        self._commands = _commands
        return parser
Esempio n. 36
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        descriptor = SoloCommandDescriptor.obtain_descriptor(
            SoloMatch.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloMatch.NAME))

        parser.add_argument("string", nargs='+',
                            metavar="<string>", help=_("match keyword"))

        parser.add_argument("--quiet", "-q", action="store_true",
                            default=self._quiet,
                            help=_('quiet output, for scripting purposes'))

        parser.add_argument("--verbose", "-v", action="store_true",
                            default=self._verbose,
                            help=_('verbose output'))

        parser.add_argument("--injected", action="store_true",
                            default=self._injected,
                            help=_('return only injected packages '))

        group = parser.add_mutually_exclusive_group()
        group.add_argument("--installed", action="store_true",
                           default=self._installed,
                           help=_('match among installed packages only'))

        group.add_argument("--available", action="store_true",
                           default=self._available,
                           help=_('match among available packages only'))

        parser.add_argument("--multimatch", action="store_true",
                            default=self._multimatch,
                            help=_('return all the matches, '
                                   'not just the best'))
        parser.add_argument(
            "--multirepo", action="store_true",
            default=self._multirepo,
            help=_('return matches found in every repository'))

        # only if --quiet
        parser.add_argument(
            "--showdownload", action="store_true",
            default=self._showdownload,
            help=_('print download URIs (w/--quiet)'))
        parser.add_argument(
            "--showrepo", action="store_true",
            default=self._showrepo,
            help=_('print repository information (w/--quiet)'))
        parser.add_argument(
            "--showdesc", action="store_true",
            default=self._showdesc,
            help=_('print description too (w/--quiet)'))
        parser.add_argument(
            "--showslot", action="store_true",
            default=self._showslot,
            help=_('print ":<slot>" next to package names (w/--quiet)'))

        return parser
Esempio n. 37
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        _commands = {}
        descriptor = SoloCommandDescriptor.obtain_descriptor(
            SoloMark.NAME)

        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloMark.NAME))

        subparsers = parser.add_subparsers(
            title="action",
            description=_("specify property to mark on a package"),
            help=_("available commands"))

        def _add_standard_arguments(p, _cmd_dict):
            p.add_argument(
                "packages", nargs='+',
                metavar="<package>", help=_("package name"))

            p.add_argument(
                    "--pretend", "-p", action="store_true",
                    default=False,
                    help=_("show what would be done"))
            _cmd_dict["--pretend"] = {}
            _cmd_dict["-p"] = {}

            p.add_argument(
                    "--ignore-missing", action="store_true",
                    default=False,
                    help=_("ignore packages that are not installed on system"))
            _cmd_dict["--ignore-missing"] = {}

            # It behaves differently than --multimatch from match.py,
            # thus a different name.
            p.add_argument(
                    "--multiple-versions", action="store_true",
                    default=False,
                    help=_("allow matching multiple versions of a package"))
            _cmd_dict["--multiple-versions"] = {}

        auto_parser = subparsers.add_parser(
            "auto",
            help=_("mark package as installed to satisfy a dependency"))
        _cmd_dict = {}
        _add_standard_arguments(auto_parser, _cmd_dict)
        auto_parser.set_defaults(func=self._auto)
        _commands["auto"] = _cmd_dict

        manual_parser = subparsers.add_parser(
            "manual",
            help=_("mark package as installed by user"))
        _cmd_dict = {}
        _add_standard_arguments(manual_parser, _cmd_dict)
        manual_parser.set_defaults(func=self._manual)
        _commands["manual"] = _cmd_dict

        self._commands = _commands
        return parser
Esempio n. 38
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        _commands = []

        descriptor = SoloCommandDescriptor.obtain_descriptor(
            SoloRepo.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloRepo.NAME))

        subparsers = parser.add_subparsers(
            title="action", description=_("manage repositories"),
            help=_("available commands"))

        enable_parser = subparsers.add_parser("enable",
            help=_("enable repositories"))
        enable_parser.add_argument("repo", nargs='+',
                                   metavar="<repo>",
                                   help=_("repository name"))
        enable_parser.set_defaults(func=self._enable)
        _commands.append("enable")

        disable_parser = subparsers.add_parser("disable",
            help=_("disable repositories"))
        disable_parser.add_argument("repo", nargs='+',
                                    metavar="<repo>",
                                    help=_("repository name"))
        disable_parser.set_defaults(func=self._disable)
        _commands.append("disable")

        add_parser = subparsers.add_parser("add",
            help=_("add a repository"))
        add_parser.add_argument("id", metavar="<repository>",
                                help=_("repository name"))
        add_parser.add_argument("--desc", metavar="<description>",
                                required=True,
                                help=_("repository description"))
        add_parser.add_argument("--repo", nargs='+',
                                metavar="<repo url>",
                                required=True,
                                help=_("repository database URL"))
        add_parser.add_argument("--pkg", nargs='+',
                                metavar="<pkg url>",
                                required=True,
                                help=_("repository packages URL"))
        add_parser.add_argument("--cformat",
                                default=etpConst['etpdatabasefileformat'],
                                metavar="<compression format>",
                                help=_("repository compression format"))
        add_parser.set_defaults(func=self._add)
        _commands.append("add")

        remove_parser = subparsers.add_parser("remove",
            help=_("remove a repository"))
        remove_parser.add_argument("repo", nargs='+',
                                   metavar="<repo>",
                                   help=_("repository name"))
        remove_parser.set_defaults(func=self._remove)
        _commands.append("remove")

        rename_parser = subparsers.add_parser("rename",
            help=_("rename a repository"))
        rename_parser.add_argument("from_repo",
                                   metavar="<from>",
                                   help=_("from repository"))
        rename_parser.add_argument("to_repo",
                                   metavar="<to>",
                                   help=_("to repository"))
        rename_parser.set_defaults(func=self._rename)
        _commands.append("rename")

        list_parser = subparsers.add_parser("list",
            help=_("list active repositories"))
        list_parser.set_defaults(func=self._list)
        list_parser.add_argument(
            "--quiet", "-q", action="store_true",
            default=False,
            help=_('quiet output, for scripting purposes'))
        _commands.append("list")

        mirrorsort_parser = subparsers.add_parser("mirrorsort",
            help=_("reorder mirrors basing on response time"))
        mirrorsort_parser.add_argument("repo", nargs='+',
                                       metavar="<repo>",
                                       help=_("repository name"))
        mirrorsort_parser.add_argument(
            "--simulate", action="store_true",
            default=False, help=_("simulate execution"))
        mirrorsort_parser.set_defaults(func=self._mirrorsort)
        _commands.append("mirrorsort")

        merge_parser = subparsers.add_parser("merge",
            help=_("merge content of source repository to destination"))
        merge_parser.add_argument("source", metavar="<source>",
                                  help=_("source repository"))
        merge_parser.add_argument("dest", metavar="<destination>",
                                  help=_("destination repository"))
        merge_parser.add_argument(
            "--conflicts", action="store_true",
            default=False,
            help=_("also remove dependency conflicts during merge"))
        merge_parser.set_defaults(func=self._merge)
        _commands.append("merge")

        self._commands = _commands
        return parser
Esempio n. 39
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        _commands = []

        descriptor = SoloCommandDescriptor.obtain_descriptor(SoloRepo.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloRepo.NAME))

        subparsers = parser.add_subparsers(
            title="action",
            description=_("manage repositories"),
            help=_("available commands"))

        enable_parser = subparsers.add_parser("enable",
                                              help=_("enable repositories"))
        enable_parser.add_argument("repo",
                                   nargs='+',
                                   metavar="<repo>",
                                   help=_("repository name"))
        enable_parser.set_defaults(func=self._enable)
        _commands.append("enable")

        disable_parser = subparsers.add_parser("disable",
                                               help=_("disable repositories"))
        disable_parser.add_argument("repo",
                                    nargs='+',
                                    metavar="<repo>",
                                    help=_("repository name"))
        disable_parser.set_defaults(func=self._disable)
        _commands.append("disable")

        add_parser = subparsers.add_parser("add", help=_("add a repository"))
        add_parser.add_argument("id",
                                metavar="<repository>",
                                help=_("repository name"))
        add_parser.add_argument("--desc",
                                metavar="<description>",
                                required=True,
                                help=_("repository description"))
        add_parser.add_argument("--repo",
                                nargs='+',
                                metavar="<repo url>",
                                required=True,
                                help=_("repository database URL"))
        add_parser.add_argument("--pkg",
                                nargs='+',
                                metavar="<pkg url>",
                                required=True,
                                help=_("repository packages URL"))
        add_parser.add_argument("--cformat",
                                default=etpConst['etpdatabasefileformat'],
                                metavar="<compression format>",
                                help=_("repository compression format"))
        add_parser.set_defaults(func=self._add)
        _commands.append("add")

        remove_parser = subparsers.add_parser("remove",
                                              help=_("remove a repository"))
        remove_parser.add_argument("repo",
                                   nargs='+',
                                   metavar="<repo>",
                                   help=_("repository name"))
        remove_parser.set_defaults(func=self._remove)
        _commands.append("remove")

        rename_parser = subparsers.add_parser("rename",
                                              help=_("rename a repository"))
        rename_parser.add_argument("from_repo",
                                   metavar="<from>",
                                   help=_("from repository"))
        rename_parser.add_argument("to_repo",
                                   metavar="<to>",
                                   help=_("to repository"))
        rename_parser.set_defaults(func=self._rename)
        _commands.append("rename")

        list_parser = subparsers.add_parser("list",
                                            help=_("list active repositories"))
        list_parser.set_defaults(func=self._list)
        list_parser.add_argument(
            "--quiet",
            "-q",
            action="store_true",
            default=False,
            help=_('quiet output, for scripting purposes'))
        _commands.append("list")

        mirrorsort_parser = subparsers.add_parser(
            "mirrorsort", help=_("reorder mirrors basing on response time"))
        mirrorsort_parser.add_argument("repo",
                                       nargs='+',
                                       metavar="<repo>",
                                       help=_("repository name"))
        mirrorsort_parser.add_argument("--simulate",
                                       action="store_true",
                                       default=False,
                                       help=_("simulate execution"))
        mirrorsort_parser.set_defaults(func=self._mirrorsort)
        _commands.append("mirrorsort")

        merge_parser = subparsers.add_parser(
            "merge",
            help=_("merge content of source repository to destination"))
        merge_parser.add_argument("source",
                                  metavar="<source>",
                                  help=_("source repository"))
        merge_parser.add_argument("dest",
                                  metavar="<destination>",
                                  help=_("destination repository"))
        merge_parser.add_argument(
            "--conflicts",
            action="store_true",
            default=False,
            help=_("also remove dependency conflicts during merge"))
        merge_parser.set_defaults(func=self._merge)
        _commands.append("merge")

        self._commands = _commands
        return parser
Esempio n. 40
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        _commands = {}

        descriptor = SoloCommandDescriptor.obtain_descriptor(
            SoloPkg.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloPkg.NAME))

        subparsers = parser.add_subparsers(
            title="action",
            description=_("execute advanced tasks on packages"),
            help=_("available commands"))

        def _argparse_easygoing_valid_entropy_path(string):
            if os.path.isfile(string) and os.path.exists(string):
                return string
            # see bug 3873, requires raw string
            msg = "%s: %s" % (
                _("not a valid Entropy package file"),
                string)
            msg = const_convert_to_rawstring(
                msg, from_enctype="utf-8")
            raise argparse.ArgumentTypeError(msg)

        quickpkg_parser = subparsers.add_parser(
            "quickpkg", help=_("generate packages from "
                               "the installed system"))
        quickpkg_parser.add_argument(
            "packages", nargs='+', metavar="<package>",
            help=_("installed package name"))
        quickpkg_parser.add_argument(
            "--savedir", metavar="<path>",
            type=self._argparse_is_valid_directory,
            default=self._savedir,
            help=_("destination directory "
                   "where to save generated packages"))
        quickpkg_parser.set_defaults(func=self._quickpkg)
        _commands["quickpkg"] = {}

        inflate_parser = subparsers.add_parser(
            "inflate", help=_("transform SPM package files "
                              "into Entropy ones"))
        inflate_parser.add_argument(
            "files", nargs='+', metavar="<file>",
            type=_argparse_easygoing_valid_entropy_path,
            help=_("SPM package file path"))
        inflate_parser.add_argument(
            "--savedir", metavar="<path>",
            type=self._argparse_is_valid_directory,
            default=self._savedir,
            help=_("destination directory "
                   "where to save generated packages"))
        inflate_parser.set_defaults(func=self._inflate)
        _commands["inflate"] = {}

        deflate_parser = subparsers.add_parser(
            "deflate", help=_("transform Entropy package files "
                              "into SPM ones"))
        deflate_parser.add_argument(
            "files", nargs='+', metavar="<file>",
            type=self._argparse_is_valid_entropy_package,
            help=_("Entropy package file path"))
        deflate_parser.add_argument(
            "--savedir", metavar="<path>",
            type=self._argparse_is_valid_directory,
            default=self._savedir,
            help=_("destination directory "
                   "where to save generated packages"))
        deflate_parser.set_defaults(func=self._deflate)
        _commands["deflate"] = {}

        extract_parser = subparsers.add_parser(
            "extract", help=_("extract Entropy metadata "
                              "from Entropy packages"))
        extract_parser.add_argument(
            "files", nargs='+', metavar="<file>",
            type=_argparse_easygoing_valid_entropy_path,
            help=_("Entropy package file path"))
        extract_parser.add_argument(
            "--savedir", metavar="<path>",
            type=self._argparse_is_valid_directory,
            default=self._savedir,
            help=_("destination directory "
                   "where to save generated packages"))
        extract_parser.set_defaults(func=self._extract)
        _commands["extract"] = {}

        self._commands = _commands
        return parser
Esempio n. 41
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        _commands = {}

        descriptor = SoloCommandDescriptor.obtain_descriptor(SoloDownload.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloDownload.NAME),
        )
        parser.set_defaults(func=self._download)

        parser.add_argument("packages", nargs="+", metavar="<package>", help=_("package name"))

        mg_group = parser.add_mutually_exclusive_group()
        mg_group.add_argument(
            "--ask", "-a", action="store_true", default=False, help=_("ask before making any changes")
        )
        _commands["--ask"] = {}
        _commands["-a"] = {}

        mg_group.add_argument("--pretend", "-p", action="store_true", default=False, help=_("show what would be done"))
        _commands["--pretend"] = {}
        _commands["-p"] = {}

        parser.add_argument("--verbose", "-v", action="store_true", default=False, help=_("verbose output"))
        _commands["--verbose"] = {}
        _commands["-v"] = {}

        parser.add_argument("--quiet", action="store_true", default=False, help=_("quiet output"))
        _commands["--quiet"] = {}

        parser.add_argument("--nodeps", action="store_true", default=False, help=_("exclude package dependencies"))
        _commands["--nodeps"] = {}

        parser.add_argument(
            "--onlydeps",
            "-o",
            action="store_true",
            default=False,
            help=_("only include dependencies of selected packages"),
        )
        _commands["--onlydeps"] = {}
        _commands["-o"] = {}

        parser.add_argument(
            "--norecursive", action="store_true", default=False, help=_("do not calculate dependencies recursively")
        )
        _commands["--norecursive"] = {}

        parser.add_argument(
            "--deep", action="store_true", default=False, help=_("include dependencies no longer needed")
        )
        _commands["--deep"] = {}

        parser.add_argument(
            "--relaxed", action="store_true", default=False, help=_("calculate dependencies relaxing constraints")
        )
        _commands["--relaxed"] = {}

        parser.add_argument("--bdeps", action="store_true", default=False, help=_("include build-time dependencies"))
        _commands["--bdeps"] = {}

        parser.add_argument(
            "--multifetch",
            type=int,
            default=1,
            choices=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
            help=_("download multiple packages in parallel (max 10)"),
        )
        _commands["--multifetch"] = {}

        self._commands = _commands
        return parser
Esempio n. 42
0
    def _get_parser(self):
        """
        Overridden from SoloCommand.
        """
        descriptor = SoloCommandDescriptor.obtain_descriptor(
            SoloMatch.NAME)
        parser = argparse.ArgumentParser(
            description=descriptor.get_description(),
            formatter_class=argparse.RawDescriptionHelpFormatter,
            prog="%s %s" % (sys.argv[0], SoloMatch.NAME))

        parser.add_argument("string", nargs='+',
                            metavar="<string>", help=_("match keyword"))

        parser.add_argument("--quiet", "-q", action="store_true",
                            default=self._quiet,
                            help=_('quiet output, for scripting purposes'))

        parser.add_argument("--verbose", "-v", action="store_true",
                            default=self._verbose,
                            help=_('verbose output'))

        parser.add_argument("--injected", action="store_true",
                            default=self._injected,
                            help=_('return only injected packages '))

        group = parser.add_mutually_exclusive_group()
        group.add_argument("--installed", action="store_true",
                           default=self._installed,
                           help=_('match among installed packages only'))

        group.add_argument("--available", action="store_true",
                           default=self._available,
                           help=_('match among available packages only'))

        parser.add_argument("--multimatch", action="store_true",
                            default=self._multimatch,
                            help=_('return all the matches, '
                                   'not just the best'))
        parser.add_argument(
            "--multirepo", action="store_true",
            default=self._multirepo,
            help=_('return matches found in every repository'))

        # only if --quiet
        parser.add_argument(
            "--showdownload", action="store_true",
            default=self._showdownload,
            help=_('print download URIs (w/--quiet)'))
        parser.add_argument(
            "--showrepo", action="store_true",
            default=self._showrepo,
            help=_('print repository information (w/--quiet)'))
        parser.add_argument(
            "--showdesc", action="store_true",
            default=self._showdesc,
            help=_('print description too (w/--quiet)'))
        parser.add_argument(
            "--showslot", action="store_true",
            default=self._showslot,
            help=_('print ":<slot>" next to package names (w/--quiet)'))

        return parser