From: Michael Tremer Date: Fri, 9 Jul 2021 10:29:06 +0000 (+0000) Subject: pakfire: Add scaffolding to manually sign packages X-Git-Tag: 0.9.28~1066 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=75195b3c586cd3aa9b3c87f107c252aab7a82799;p=pakfire.git pakfire: Add scaffolding to manually sign packages Signed-off-by: Michael Tremer --- diff --git a/src/scripts/pakfire.in b/src/scripts/pakfire.in index 1cacb5208..8096f0860 100644 --- a/src/scripts/pakfire.in +++ b/src/scripts/pakfire.in @@ -149,6 +149,15 @@ class Cli(object): help=_("List all imported keys")) key_list.set_defaults(func=self._key_list) + # key sign + key_sign = key_subparsers.add_parser("sign", + help=_("Sign one or more packages")) + key_sign.add_argument("--key", "-k", required=True, + help=_("Key used for signing")) + key_sign.add_argument("packages", nargs="+", + help=_("Package(s) to sign")) + key_sign.set_defaults(func=self._key_sign) + # key verify key_verify = key_subparsers.add_parser("verify", help=_("Verify archives")) @@ -326,6 +335,18 @@ class Cli(object): for key in p.keys: print(key) + def _key_sign(self, p, args): + key = p.get_key(args.key) + if not key: + raise ValueError("Could not find key %s" % args.key) + + for path in args.packages: + # Open archive + archive = p.open(path) + + print(_("Signing %s with %s...") % (archive, key)) + archive.sign(key) + def _key_verify(self, p, args): for path in args.packages: # Open archive