index : pacman | |
Archlinux32 fork of pacman | gitolite user |
summaryrefslogtreecommitdiff |
author | Nagy Gabor <ngaba@bibl.u-szeged.hu> | 2010-05-17 02:33:28 +0200 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2010-05-18 11:33:00 -0500 |
commit | eada558e12da1fd605d8c7401ec3c17a37fed9a9 (patch) | |
tree | e6f20cb33c4a1a110c8fe4ba65a6dcbd2de89084 /lib/libalpm/sync.c | |
parent | c6f0fc27eda31943e10e2a89e221796efb87dce9 (diff) |
-rw-r--r-- | lib/libalpm/sync.c | 6 |
diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c index 6b625ed6..be36941f 100644 --- a/lib/libalpm/sync.c +++ b/lib/libalpm/sync.c @@ -431,17 +431,21 @@ int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sync } } + /* Compute the fake local database for resolvedeps (partial fix for the phonon/qt issue) */ + alpm_list_t *localpkgs = alpm_list_diff(_alpm_db_get_pkgcache(db_local), trans->add, _alpm_pkg_cmp); + /* Resolve packages in the transaction one at a time, in addtion building up a list of packages which could not be resolved. */ for(i = trans->add; i; i = i->next) { pmpkg_t *pkg = i->data; - if(_alpm_resolvedeps(db_local, dbs_sync, pkg, trans->add, + if(_alpm_resolvedeps(localpkgs, dbs_sync, pkg, trans->add, &resolved, remove, data) == -1) { unresolvable = alpm_list_add(unresolvable, pkg); } /* Else, [resolved] now additionally contains [pkg] and all of its dependencies not already on the list */ } + alpm_list_free(localpkgs); /* If there were unresolvable top-level packages, prompt the user to see if they'd like to ignore them rather than failing the sync */ |