Add --test option to rpmkeys
authorPanu Matilainen <pmatilai@redhat.com>
Fri, 3 Feb 2012 10:46:22 +0000 (12:46 +0200)
committerPanu Matilainen <pmatilai@redhat.com>
Fri, 3 Feb 2012 10:47:19 +0000 (12:47 +0200)
- Allows, well, testing whether a key could be imported before actually
  doing it

rpmkeys.c

index b91bb27..fa4e4d8 100644 (file)
--- a/rpmkeys.c
+++ b/rpmkeys.c
@@ -17,12 +17,15 @@ enum modes {
 };
 
 static int mode = 0;
+static int test = 0;
 
 static struct poptOption keyOptsTable[] = {
     { "checksig", 'K', (POPT_ARG_VAL|POPT_ARGFLAG_OR), &mode, MODE_CHECKSIG,
        N_("verify package signature(s)"), NULL },
     { "import", '\0', (POPT_ARG_VAL|POPT_ARGFLAG_OR), &mode, MODE_IMPORTKEY,
        N_("import an armored public key"), NULL },
+    { "test", '\0', POPT_ARG_NONE, &test, 0,
+       N_("don't import, but tell if it would work or not"), NULL },
 #if 0
     { "delete-key", '\0', (POPT_ARG_VAL|POPT_ARGFLAG_OR), &mode, MODE_DELKEY,
        N_("list keys from RPM keyring"), NULL },
@@ -67,6 +70,8 @@ int main(int argc, char *argv[])
        ec = rpmcliVerifySignatures(ts, args);
        break;
     case MODE_IMPORTKEY:
+       if (test)
+           rpmtsSetFlags(ts, (rpmtsFlags(ts)|RPMTRANS_FLAG_TEST));
        ec = rpmcliImportPubkeys(ts, args);
        break;
     /* XXX TODO: actually implement these... */