New command "pisi blame"

$ pisi blame kernel
Ad: kernel, versiyon: 2.6.30_rc8, sürüm: 120
Package Maintainer: Ozan Çağlayan <ozan@pardus.org.tr>
Update Date: 2009-06-03

- Version bump to 2.6.30_rc8-git1 which contains the latest DRM fixes,
                - Add DRM patchset from Fatih,
                - Add CRYPTO_LZMA support from OpenWRT.

or a package release can be given:

$ pisi blame -r 29 kdebase
Ad: kdebase, versiyon: 4.2.3, sürüm: 29
Package Maintainer: Gökçen Eraslan <gokcen@pardus.org.tr>
Update Date: 2009-05-08

Add patches from Kubuntu about dolphin and folderview.
This commit is contained in:
Faik Uygur
2009-06-23 07:30:39 +00:00
parent f617c0a8e2
commit 5a28e623f9
2 changed files with 64 additions and 0 deletions
+63
View File
@@ -0,0 +1,63 @@
# -*- coding:utf-8 -*-
#
# Copyright (C) 2009, TUBITAK/UEKAE
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
# Software Foundation; either version 2 of the License, or (at your option)
# any later version.
#
# Please read the COPYING file.
#
import optparse
import gettext
__trans = gettext.translation('pisi', fallback=True)
_ = __trans.ugettext
import pisi.cli.command as command
import pisi.context as ctx
import pisi.api
import pisi.db
class Blame(command.Command):
__doc__ = _("""Info about the package owner
Usage: blame <package> ... <package>
""")
__metaclass__ = command.autocommand
def __init__(self, args=None):
super(Blame, self).__init__(args)
self.packagedb = pisi.db.packagedb.PackageDB()
name = ("blame", "bl")
def options(self):
group = optparse.OptionGroup(self.parser, _("blame options"))
group.add_option("-r", "--release", action="store", type="int", help=_("Blame for the given release"))
self.parser.add_option_group(group)
def run(self):
self.init(database=False, write=False)
for package in self.args:
if self.packagedb.has_package(package):
pkg = self.packagedb.get_package(package)
release = ctx.get_option('release')
if not release:
self.print_package_info(pkg)
else:
for hno, update in enumerate(pkg.history):
if int(update.release) == release:
self.print_package_info(pkg, hno)
def print_package_info(self, package, hno=0):
s = _('Name: %s, version: %s, release: %s\n') % (
package.name, package.history[hno].version, package.history[hno].release)
s += _('Package Maintainer: %s <%s>\n') % (unicode(package.source.packager.name), package.source.packager.email)
s += _('Update Date: %s\n' % package.history[hno].date)
s += _('\n%s\n' % package.history[hno].comment)
print s
+1
View File
@@ -21,6 +21,7 @@ import pisi
import pisi.cli
import pisi.cli.command as command
import pisi.cli.addrepo
import pisi.cli.blame
import pisi.cli.build
import pisi.cli.check
import pisi.cli.clean