summaryrefslogtreecommitdiffstats
path: root/lib/libalpm/remove.c
diff options
context:
space:
mode:
authorAndrew Gregory <andrew.gregory.8@gmail.com>2013-10-18 05:38:58 +0200
committerAllan McRae <allan@archlinux.org>2013-10-31 07:20:02 +0100
commitc2134fde2be179c490b33765fe5504be96291b95 (patch)
tree52c3e7b6c813591ce1f71b2ad5161e57b142ed71 /lib/libalpm/remove.c
parent2194eddf30bea718c2b5fd6b86d2a626783fc901 (diff)
downloadpacman-c2134fde2be179c490b33765fe5504be96291b95.tar.gz
pacman-c2134fde2be179c490b33765fe5504be96291b95.tar.xz
sortbydeps: include local pkgs in dep graph
Detecting indirect dependencies by traversing a package's entire dependency tree is prohibitively slow for larger transactions. Instead add local packages to the dependency graph. This additionally requires delaying dependency ordering for sync operations so that removed packages may be excluded from dependency detection. tests/sync012.py was also updated to ensure that the dependency cycle was actually detected. Fixes FS#37380 Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
Diffstat (limited to 'lib/libalpm/remove.c')
-rw-r--r--lib/libalpm/remove.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/libalpm/remove.c b/lib/libalpm/remove.c
index 7cb86ff6..2e728521 100644
--- a/lib/libalpm/remove.c
+++ b/lib/libalpm/remove.c
@@ -242,7 +242,7 @@ int _alpm_remove_prepare(alpm_handle_t *handle, alpm_list_t **data)
/* re-order w.r.t. dependencies */
_alpm_log(handle, ALPM_LOG_DEBUG, "sorting by dependencies\n");
- lp = _alpm_sortbydeps(handle, trans->remove, 1);
+ lp = _alpm_sortbydeps(handle, trans->remove, NULL, 1);
/* free the old alltargs */
alpm_list_free(trans->remove);
trans->remove = lp;