From: Michael Tremer Date: Thu, 8 Jul 2021 17:06:30 +0000 (+0000) Subject: pakfire: Add some scaffolding to verify archives X-Git-Tag: 0.9.28~1070 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=72d448dd2946756ee0d8ba0267f233cf25c53b04;p=pakfire.git pakfire: Add some scaffolding to verify archives Signed-off-by: Michael Tremer --- diff --git a/src/scripts/pakfire.in b/src/scripts/pakfire.in index d3edef490..74bf21ccb 100644 --- a/src/scripts/pakfire.in +++ b/src/scripts/pakfire.in @@ -142,6 +142,13 @@ class Cli(object): help=_("List all imported keys")) key_list.set_defaults(func=self._key_list) + # key verify + key_verify = key_subparsers.add_parser("verify", + help=_("Verify archives")) + key_verify.add_argument("packages", nargs="+", + help=_("Packages")) + key_verify.set_defaults(func=self._key_verify) + # provides provides = subparsers.add_parser("provides", help=_("Get a list of packages that provide a given file or feature")) @@ -312,6 +319,17 @@ class Cli(object): for key in p.keys: print(key) + def _key_verify(self, p, args): + for path in args.packages: + # Open archive + archive = p.open(path) + + print(_("Verifying %s...") % archive) + + # Run verification + status = archive.verify() + print(status) + def _provides(self, p, args): for pkg in p.whatprovides(args.pattern): s = pkg.dump(long=True)