From f9ba6ae490f60d2cc2fc5d427eaa52eeae4c7248 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sat, 19 Nov 2022 13:24:23 +0000 Subject: [PATCH] pakfire-builder: Make provides work again Signed-off-by: Michael Tremer --- src/scripts/pakfire-builder.in | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/scripts/pakfire-builder.in b/src/scripts/pakfire-builder.in index 2be89b1e3..25e3de7c7 100644 --- a/src/scripts/pakfire-builder.in +++ b/src/scripts/pakfire-builder.in @@ -91,7 +91,7 @@ class Cli(object): help=_("Get a list of packages that provide a given file or feature")) provides.add_argument("pattern", nargs="+", help=_("File or feature to search for")) - #provides.set_defaults(func=self._provides) + provides.set_defaults(func=self._provides) # requires requires = subparsers.add_parser("requires", @@ -260,6 +260,23 @@ class Cli(object): s = pkg.dump(long=True) print(s) + def _provides(self, ns): + """ + Searches for all packages that have a certain provides + """ + p = self.pakfire(ns) + + packages = set() + + # Walk through all patterns and find all packages + for pattern in ns.pattern: + packages.update(p.whatprovides(pattern)) + + # Print all packages + for package in sorted(packages): + s = package.dump(long=True) + print(s) + def _repolist(self, ns): """ List all repositories -- 2.39.5