diff options
Diffstat (limited to 'lib/libalpm/deps.c')
-rw-r--r-- | lib/libalpm/deps.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/libalpm/deps.c b/lib/libalpm/deps.c index c280336b..f2ee8f41 100644 --- a/lib/libalpm/deps.c +++ b/lib/libalpm/deps.c @@ -333,8 +333,10 @@ alpm_list_t SYMEXPORT *alpm_checkdeps(alpm_handle_t *handle, } /* 1. we check the upgrade list */ /* 2. we check database for untouched satisfying packages */ + /* 3. we check the dependency ignore list */ if(!find_dep_satisfier(upgrade, depend) && - !find_dep_satisfier(dblist, depend)) { + !find_dep_satisfier(dblist, depend) && + !_alpm_depcmp_provides(depend, handle->assumeinstalled)) { /* Unsatisfied dependency in the upgrade list */ alpm_depmissing_t *miss; char *missdepstring = alpm_dep_compute_string(depend); @@ -363,9 +365,11 @@ alpm_list_t SYMEXPORT *alpm_checkdeps(alpm_handle_t *handle, /* we won't break this depend, if it is already broken, we ignore it */ /* 1. check upgrade list for satisfiers */ /* 2. check dblist for satisfiers */ + /* 3. we check the dependency ignore list */ if(causingpkg && !find_dep_satisfier(upgrade, depend) && - !find_dep_satisfier(dblist, depend)) { + !find_dep_satisfier(dblist, depend) && + !_alpm_depcmp_provides(depend, handle->assumeinstalled)) { alpm_depmissing_t *miss; char *missdepstring = alpm_dep_compute_string(depend); _alpm_log(handle, ALPM_LOG_DEBUG, "checkdeps: transaction would break '%s' dependency of '%s'\n", |