From 2aa7e69da91c1d7a18473cf05df98c92bd1dc747 Mon Sep 17 00:00:00 2001 From: Nagy Gabor Date: Sun, 18 Nov 2007 14:25:43 +0100 Subject: Add the pmconflict_t type. pmdepmissing_t was used for two totally different things : missing dependencies, and dependency conflicts. So this patch simply adds a type for dep conflicts, and convert the code to use it. This fix the TODO in conflict.c : /* TODO WTF is a 'depmissing' doing indicating a conflict? */ Additionally, the code in conflict.c now eliminates the duplicated conflicts. If pkg1 conflicts with pkg2, and pkg2 conflicts with pkg1, only one of them will be stored. However the conflict handling in sync_prepare (sync.c) is still very asymetrical, and very ugly too. This should be improved in the future (there is already a pending patch from Nagy that cleans it a lot). Signed-off-by: Chantry Xavier --- src/pacman/add.c | 5 ++--- src/pacman/sync.c | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/pacman/add.c b/src/pacman/add.c index f685cc70..7d187495 100644 --- a/src/pacman/add.c +++ b/src/pacman/add.c @@ -147,10 +147,9 @@ int pacman_add(alpm_list_t *targets) break; case PM_ERR_CONFLICTING_DEPS: for(i = data; i; i = alpm_list_next(i)) { - pmdepmissing_t *miss = alpm_list_getdata(i); - pmdepend_t *dep = alpm_miss_get_dep(miss); + pmconflict_t *conflict = alpm_list_getdata(i); printf(_(":: %s: conflicts with %s"), - alpm_miss_get_target(miss), alpm_dep_get_name(dep)); + alpm_conflict_get_package1(conflict), alpm_conflict_get_package2(conflict)); } break; case PM_ERR_FILE_CONFLICTS: diff --git a/src/pacman/sync.c b/src/pacman/sync.c index 2d30e641..41d18a9a 100644 --- a/src/pacman/sync.c +++ b/src/pacman/sync.c @@ -620,10 +620,9 @@ int sync_trans(alpm_list_t *targets, int sync_only) break; case PM_ERR_CONFLICTING_DEPS: for(i = data; i; i = alpm_list_next(i)) { - pmdepmissing_t *miss = alpm_list_getdata(i); - pmdepend_t *dep = alpm_miss_get_dep(miss); + pmconflict_t *conflict = alpm_list_getdata(i); printf(_(":: %s: conflicts with %s"), - alpm_miss_get_target(miss), alpm_dep_get_name(dep)); + alpm_conflict_get_package1(conflict), alpm_conflict_get_package2(conflict)); } break; default: -- cgit v1.2.3-70-g09d2