From e49abc9860cfe9470a5828d3bb0ad38fd57a0fad Mon Sep 17 00:00:00 2001 From: Allan McRae Date: Thu, 18 Jun 2015 00:12:14 +1000 Subject: pacman: move database syncing to util.c Signed-off-by: Allan McRae --- src/pacman/sync.c | 33 +-------------------------------- src/pacman/util.c | 31 +++++++++++++++++++++++++++++++ src/pacman/util.h | 1 + 3 files changed, 33 insertions(+), 32 deletions(-) (limited to 'src') diff --git a/src/pacman/sync.c b/src/pacman/sync.c index f28ffbd9..3c201999 100644 --- a/src/pacman/sync.c +++ b/src/pacman/sync.c @@ -305,37 +305,6 @@ static int sync_cleancache(int level) return ret; } -static int sync_synctree(int level, alpm_list_t *syncs) -{ - alpm_list_t *i; - unsigned int success = 0; - - for(i = syncs; i; i = alpm_list_next(i)) { - alpm_db_t *db = i->data; - - int ret = alpm_db_update((level < 2 ? 0 : 1), db); - if(ret < 0) { - pm_printf(ALPM_LOG_ERROR, _("failed to update %s (%s)\n"), - alpm_db_get_name(db), alpm_strerror(alpm_errno(config->handle))); - } else if(ret == 1) { - printf(_(" %s is up to date\n"), alpm_db_get_name(db)); - success++; - } else { - success++; - } - } - - /* We should always succeed if at least one DB was upgraded - we may possibly - * fail later with unresolved deps, but that should be rare, and would be - * expected - */ - if(!success) { - pm_printf(ALPM_LOG_ERROR, _("failed to synchronize any databases\n")); - trans_init_error(); - } - return (success > 0); -} - /* search the sync dbs for a matching package */ static int sync_search(alpm_list_t *syncs, alpm_list_t *targets) { @@ -903,7 +872,7 @@ int pacman_sync(alpm_list_t *targets) colon_printf(_("Synchronizing package databases...\n")); alpm_logaction(config->handle, PACMAN_CALLER_PREFIX, "synchronizing package lists\n"); - if(!sync_synctree(config->op_s_sync, sync_dbs)) { + if(!sync_syncdbs(config->op_s_sync, sync_dbs)) { return 1; } } diff --git a/src/pacman/util.c b/src/pacman/util.c index ea7faf80..46620240 100644 --- a/src/pacman/util.c +++ b/src/pacman/util.c @@ -143,6 +143,37 @@ int check_syncdbs(size_t need_repos, int check_valid) return ret; } +int sync_syncdbs(int level, alpm_list_t *syncs) +{ + alpm_list_t *i; + unsigned int success = 0; + + for(i = syncs; i; i = alpm_list_next(i)) { + alpm_db_t *db = i->data; + + int ret = alpm_db_update((level < 2 ? 0 : 1), db); + if(ret < 0) { + pm_printf(ALPM_LOG_ERROR, _("failed to update %s (%s)\n"), + alpm_db_get_name(db), alpm_strerror(alpm_errno(config->handle))); + } else if(ret == 1) { + printf(_(" %s is up to date\n"), alpm_db_get_name(db)); + success++; + } else { + success++; + } + } + + /* We should always succeed if at least one DB was upgraded - we may possibly + * fail later with unresolved deps, but that should be rare, and would be + * expected + */ + if(!success) { + pm_printf(ALPM_LOG_ERROR, _("failed to synchronize any databases\n")); + trans_init_error(); + } + return (success > 0); +} + /* discard unhandled input on the terminal's input buffer */ static int flush_term_input(int fd) { diff --git a/src/pacman/util.h b/src/pacman/util.h index fda9b51a..c82d816e 100644 --- a/src/pacman/util.h +++ b/src/pacman/util.h @@ -49,6 +49,7 @@ int trans_init(alpm_transflag_t flags, int check_valid); int trans_release(void); int needs_root(void); int check_syncdbs(size_t need_repos, int check_valid); +int sync_syncdbs(int level, alpm_list_t *syncs); unsigned short getcols(void); void columns_cache_reset(void); int rmrf(const char *path); -- cgit v1.2.3-24-g4f1b