summaryrefslogtreecommitdiffstats
path: root/src/pacman/query.c
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2011-06-07 23:08:06 -0500
committerDan McGee <dan@archlinux.org>2011-07-05 10:13:20 -0500
commitc748eadc80593c3941b55b1d4ec6e46899abd295 (patch)
tree4d762f6b69e1bc3dc82990fce6258c636cd0ef29 /src/pacman/query.c
parent07502f2d82393854f36f5c3ff608458e74fcb747 (diff)
downloadpacman-c748eadc80593c3941b55b1d4ec6e46899abd295.tar.xz
Allow invalid sync DBs to be returned by the library
They are placeholders, but important for things like trying to re-sync a database missing a signature. By using the alpm_db_validity() method at the right time, a client can take the appropriate action with these invalid databases as necessary. In pacman's case, we disallow just about anything that involves looking at a sync database outside of an '-Sy' operation (although we do check the validity immediately after). A few operations are still permitted- '-Q' ops that don't touch sync databases as well as '-R'. Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'src/pacman/query.c')
-rw-r--r--src/pacman/query.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/pacman/query.c b/src/pacman/query.c
index 5dff03ff..90329b33 100644
--- a/src/pacman/query.c
+++ b/src/pacman/query.c
@@ -501,11 +501,8 @@ int pacman_query(alpm_list_t *targets)
return ret;
}
- if(config->op_q_foreign) {
- /* ensure we have at least one valid sync db set up */
- alpm_list_t *sync_dbs = alpm_option_get_syncdbs(config->handle);
- if(sync_dbs == NULL) {
- pm_printf(ALPM_LOG_ERROR, _("no usable package repositories configured.\n"));
+ if(config->op_q_foreign || config->op_q_upgrade) {
+ if(check_syncdbs(1, 1)) {
return 1;
}
}