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);
}
{
char *gpgdir;
char *keysfile;
- const char *pubkey;
+ const char *pubkey, *pubring;
char cmd[256];
FILE *kfp;
Solvable *s;
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);
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);