[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