[Yum-devel] [PATCH] Add check command, like smart/apt

Tim Lauridsen tim.lauridsen at googlemail.com
Thu Dec 17 14:48:43 UTC 2009


On Wed, Dec 16, 2009 at 9:21 PM, James Antill <james at and.org> wrote:

> ---
>  cli.py         |    1 +
>  docs/yum.8     |    5 +++++
>  yumcommands.py |   28 ++++++++++++++++++++++++++++
>  3 files changed, 34 insertions(+), 0 deletions(-)
>
> diff --git a/cli.py b/cli.py
> index 2c6c9a4..891922f 100644
> --- a/cli.py
> +++ b/cli.py
> @@ -99,6 +99,7 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
>         self.registerCommand(yumcommands.DowngradeCommand())
>         self.registerCommand(yumcommands.VersionCommand())
>         self.registerCommand(yumcommands.HistoryCommand())
> +        self.registerCommand(yumcommands.CheckRpmdbCommand())
>
>     def registerCommand(self, command):
>         for name in command.getNames():
> diff --git a/docs/yum.8 b/docs/yum.8
> index 00814c5..1fac767 100644
> --- a/docs/yum.8
> +++ b/docs/yum.8
> @@ -71,6 +71,8 @@ gnome\-packagekit application\&.
>  .br
>  .I \fR * history [info|list|summary|redo|undo|new]
>  .br
> +.I \fR * check
> +.br
>  .I \fR * help [command]
>  .br
>  .PP
> @@ -262,6 +264,9 @@ if there was something not good with the transaction.
>  .br
>
>  .IP
> +.IP "\fBcheck\fP"
> +Checks the local rpmdb and produces information on any problems it finds.
> +.IP
>  .IP "\fBhelp\fP"
>  Produces help, either for all commands or if given a command name then the
> help
>  for that particular command\&.
> diff --git a/yumcommands.py b/yumcommands.py
> index c7f6d40..aa7be12 100644
> --- a/yumcommands.py
> +++ b/yumcommands.py
> @@ -1294,3 +1294,31 @@ class HistoryCommand(YumCommand):
>         if extcmds:
>             vcmd = extcmds[0]
>         return vcmd in ('repeat', 'redo', 'undo')
> +
> +
> +class CheckRpmdbCommand(YumCommand):
> +    def getNames(self):
> +        return ['check', 'check-rpmdb']
> +
> +    def getUsage(self):
> +        return "[dependencies|duplicates|all]"
> +
> +    def getSummary(self):
> +        return _("Check for problems in the rpmdb")
> +
> +    def doCommand(self, base, basecmd, extcmds):
> +        chkcmd = 'all'
> +        if extcmds:
> +            chkcmd = extcmds[0]
> +
> +        def _out(x):
> +            print x
> +
> +        rc = 0
> +        if base._rpmdb_warn_checks(_out, False, chkcmd):
> +            rc = 1
> +        return rc, ['%s %s' % (basecmd, chkcmd)]
> +
> +    def needTs(self, base, basecmd, extcmds):
> +        return False
> +
> --
>

ACK
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.baseurl.org/pipermail/yum-devel/attachments/20091217/6dd50896/attachment.htm>


More information about the Yum-devel mailing list