summaryrefslogtreecommitdiffstats
path: root/lib/libalpm/deps.h
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/deps.h
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/deps.h')
-rw-r--r--lib/libalpm/deps.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/libalpm/deps.h b/lib/libalpm/deps.h
index 1fbeff95..8cf5ad22 100644
--- a/lib/libalpm/deps.h
+++ b/lib/libalpm/deps.h
@@ -30,7 +30,8 @@
void _alpm_dep_free(alpm_depend_t *dep);
alpm_depend_t *_alpm_dep_dup(const alpm_depend_t *dep);
void _alpm_depmiss_free(alpm_depmissing_t *miss);
-alpm_list_t *_alpm_sortbydeps(alpm_handle_t *handle, alpm_list_t *targets, int reverse);
+alpm_list_t *_alpm_sortbydeps(alpm_handle_t *handle,
+ alpm_list_t *targets, alpm_list_t *ignore, int reverse);
int _alpm_recursedeps(alpm_db_t *db, alpm_list_t *targs, int include_explicit);
int _alpm_resolvedeps(alpm_handle_t *handle, alpm_list_t *localpkgs, alpm_pkg_t *pkg,
alpm_list_t *preferred, alpm_list_t **packages, alpm_list_t *remove,