summaryrefslogtreecommitdiffstats
path: root/src/pacman/sync.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/pacman/sync.c')
-rw-r--r--src/pacman/sync.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/pacman/sync.c b/src/pacman/sync.c
index 5f67236d..26c9ccca 100644
--- a/src/pacman/sync.c
+++ b/src/pacman/sync.c
@@ -738,7 +738,7 @@ static int sync_trans(alpm_list_t *targets)
alpm_list_t *i;
/* Step 1: create a new transaction... */
- if(trans_init(config->flags) == -1) {
+ if(trans_init(config->flags, 1) == -1) {
return 1;
}
@@ -885,7 +885,7 @@ int pacman_sync(alpm_list_t *targets)
if(config->op_s_clean) {
int ret = 0;
- if(trans_init(0) == -1) {
+ if(trans_init(0, 0) == -1) {
return 1;
}
@@ -900,13 +900,12 @@ int pacman_sync(alpm_list_t *targets)
return ret;
}
- /* ensure we have at least one valid sync db set up */
- sync_dbs = alpm_option_get_syncdbs(config->handle);
- if(sync_dbs == NULL) {
- pm_printf(ALPM_LOG_ERROR, _("no usable package repositories configured.\n"));
+ if(check_syncdbs(1, 0)) {
return 1;
}
+ sync_dbs = alpm_option_get_syncdbs(config->handle);
+
if(config->op_s_sync) {
/* grab a fresh package list */
printf(_(":: Synchronizing package databases...\n"));
@@ -916,6 +915,10 @@ int pacman_sync(alpm_list_t *targets)
}
}
+ if(check_syncdbs(1, 1)) {
+ return 1;
+ }
+
/* search for a package */
if(config->op_s_search) {
return sync_search(sync_dbs, targets);