index : pacman | |
Archlinux32 fork of pacman | gitolite user |
summaryrefslogtreecommitdiff |
author | Chantry Xavier <shiningxc@gmail.com> | 2007-06-21 12:46:37 +0200 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2007-07-11 00:48:03 -0400 |
commit | cb164c3130f15b22dbf16991c28ba609cd2f79de (patch) | |
tree | d0330471ebe8e8719bb4d40605e08ff355bbcf62 /lib | |
parent | 37736a56f9c5e4819a8f132a51bc0784c4b288ec (diff) |
-rw-r--r-- | lib/libalpm/conflict.c | 24 |
diff --git a/lib/libalpm/conflict.c b/lib/libalpm/conflict.c index 8737688b..9ee89859 100644 --- a/lib/libalpm/conflict.c +++ b/lib/libalpm/conflict.c @@ -192,28 +192,18 @@ static alpm_list_t *chk_db_vs_targets(alpm_list_t *baddeps, pmpkg_t *pkg, continue; } - /* is this db package in the targets? if so use the - * new package's conflict list to pick up new changes */ - int use_newconflicts = 0; - for(j = targets; j; j = j->next) { - pmpkg_t *targ = j->data; - if(strcmp(alpm_pkg_get_name(targ), dbpkgname) == 0) { - _alpm_log(PM_LOG_DEBUG, "target '%s' is also in target list, using NEW conflicts", - dbpkgname); - conflicts = alpm_pkg_get_conflicts(targ); - use_newconflicts = 1; - break; - } - } - /* if we didn't find newer conflicts, use the original list */ - if(!use_newconflicts) { - conflicts = alpm_pkg_get_conflicts(dbpkg); + if(_alpm_pkg_find(dbpkgname, targets)) { + /* skip targets, already handled by chk_pkg_vs_targets in checkconflicts */ + _alpm_log(PM_LOG_DEBUG, "target '%s' is also in target list, ignoring it", + dbpkgname); + continue; } + conflicts = alpm_pkg_get_conflicts(dbpkg); + for(j = conflicts; j; j = j->next) { const char *conflict = j->data; - miss = does_conflict(pkgname, dbpkgname, pkg, conflict); if(miss && !_alpm_depmiss_isin(miss, baddeps)) { baddeps = alpm_list_add(baddeps, miss); |