From: Michael Schroeder Date: Wed, 18 Jul 2018 19:52:17 +0000 (+0200) Subject: Adapt for changed pubring naming in gpg X-Git-Tag: 0.6.35~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1c84dd042f97aff09cc6605f38435cd2f23e5a0f;p=thirdparty%2Flibsolv.git Adapt for changed pubring naming in gpg --- diff --git a/examples/solv/checksig.c b/examples/solv/checksig.c index ff60c66c..44603d36 100644 --- a/examples/solv/checksig.c +++ b/examples/solv/checksig.c @@ -27,6 +27,12 @@ cleanupgpg(char *gpgdir) unlink(cmd); snprintf(cmd, sizeof(cmd), "%s/keys", gpgdir); unlink(cmd); + snprintf(cmd, sizeof(cmd), "%s/pubring.kbx", gpgdir); + unlink(cmd); + snprintf(cmd, sizeof(cmd), "%s/pubring.kbx~", gpgdir); + unlink(cmd); + snprintf(cmd, sizeof(cmd), "%s/private-keys-v1.d", gpgdir); + rmdir(cmd); rmdir(gpgdir); } @@ -35,7 +41,7 @@ checksig(Pool *sigpool, FILE *fp, FILE *sigfp) { char *gpgdir; char *keysfile; - const char *pubkey; + const char *pubkey, *pubring; char cmd[256]; FILE *kfp; Solvable *s; @@ -83,7 +89,9 @@ checksig(Pool *sigpool, FILE *fp, FILE *sigfp) lseek(fileno(fp), 0, SEEK_SET); possigfp = lseek(fileno(sigfp), 0, SEEK_CUR); lseek(fileno(sigfp), 0, SEEK_SET); - snprintf(cmd, sizeof(cmd), "gpgv -q --homedir %s --keyring %s/pubring.gpg /dev/fd/%d /dev/fd/%d >/dev/null 2>&1", gpgdir, gpgdir, fileno(sigfp), fileno(fp)); + snprintf(cmd, sizeof(cmd), "%s/pubring.kbx", gpgdir); + pubring = access(cmd, R_OK) == 0 ? "pubring.kbx" : "pubring.gpg"; + snprintf(cmd, sizeof(cmd), "gpgv -q --homedir %s --keyring %s/%s /dev/fd/%d /dev/fd/%d >/dev/null 2>&1", gpgdir, gpgdir, pubring, fileno(sigfp), fileno(fp)); fcntl(fileno(fp), F_SETFD, 0); /* clear CLOEXEC */ fcntl(fileno(sigfp), F_SETFD, 0); /* clear CLOEXEC */ r = system(cmd); diff --git a/examples/solv/solv.c b/examples/solv/solv.c index 627c2480..42ab751b 100644 --- a/examples/solv/solv.c +++ b/examples/solv/solv.c @@ -459,6 +459,10 @@ main(int argc, char **argv) dataiterator_free(&di); if (repofilter.count) selection_filter(pool, &sel, &repofilter); + if (archfilter.count) + selection_filter(pool, &sel, &archfilter); + if (kindfilter.count) + selection_filter(pool, &sel, &kindfilter); queue_init(&q); selection_solvables(pool, &sel, &q);