]> git.ipfire.org Git - people/ms/ipfire-3.x.git/commitdiff
naoki: Add command line command to find provides.
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 18 Sep 2010 12:59:20 +0000 (14:59 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 18 Sep 2010 12:59:20 +0000 (14:59 +0200)
naoki/__init__.py
naoki/terminal.py

index 166abbf8e2e69bb70a045e18239d6616f7417d8e..f8719dffe311a118ba4886679c9d483f8cb28f2a 100644 (file)
@@ -9,6 +9,7 @@ import time
 
 import architectures
 import build
+import dependencies
 import environ
 import generators
 import logger
@@ -93,6 +94,7 @@ class Naoki(object):
                        "list" : self.call_package_list,
                        "groups" : self.call_package_groups,
                        "raw"  : self.call_package_raw,
+                       "provides" : self.call_package_provides,
                }
 
                return actionmap[args.action.name](args.action)
@@ -179,6 +181,15 @@ Release       : %(PKG_REL)s
 
                p.print_raw_info()
 
+       def call_package_provides(self, args):
+               provides = dependencies.Provides(args.provides)
+
+               arch = architectures.Architectures().get_default()
+               repo = repositories.BinaryRepository(arch)
+
+               for package in repo.find_packages_by_provides(provides):
+                       print package.fmtstr("%(PKG_NAME)s      %(PKG_VER)s-%(PKG_REL)s %(PKG_SUMMARY)s")
+
        def call_source(self, args):
                if not args.has_key("action"):
                        self.cli.help()
index 8e9d71d5941562cb48e16670e01d029f0666a59a..cc59e41aadd1b42de053eae89df82ae2c6d333c3 100644 (file)
@@ -317,6 +317,11 @@ class Commandline(object):
                                                        arguments=[
                                                                Argument("package", help="Name of the package."),
                                                        ]),
+                                               Parser("provides",
+                                                       help="Find packages which provide a specific thing.",
+                                                       arguments=[
+                                                               Argument("provides", help="Pattern to search for."),
+                                                       ]),
                                        ]),
 
                                # Source