summaryrefslogtreecommitdiff
path: root/src/apk_solver_data.h
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2013-06-19 13:13:51 +0300
committerTimo Teräs <timo.teras@iki.fi>2013-06-19 13:15:53 +0300
commita984fd3679ef83edd8bd98f55233e5eb12f0faf0 (patch)
tree625e175b6679061ecb92c92216923347803e2280 /src/apk_solver_data.h
parent956bd5f0327551b35399e431e01849e7479ee2f7 (diff)
downloadapk-tools-a984fd3679ef83edd8bd98f55233e5eb12f0faf0.tar.gz
apk-tools-a984fd3679ef83edd8bd98f55233e5eb12f0faf0.tar.bz2
apk-tools-a984fd3679ef83edd8bd98f55233e5eb12f0faf0.tar.xz
apk-tools-a984fd3679ef83edd8bd98f55233e5eb12f0faf0.zip
solver: add logic: transitive provides exclusion
If name N is required, and all providers of A also provide B, it means that only instances of B can be selected that provide N. This is strong help with cases when so:libfoo.so.1 is updated to so:libfoo.so.2 and not everything is recompiled.
Diffstat (limited to 'src/apk_solver_data.h')
-rw-r--r--src/apk_solver_data.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/apk_solver_data.h b/src/apk_solver_data.h
index 7a5e275..e259dbf 100644
--- a/src/apk_solver_data.h
+++ b/src/apk_solver_data.h
@@ -22,7 +22,8 @@ struct apk_solver_name_state {
struct apk_provider chosen;
unsigned short requirers;
- unsigned short merge_index;
+ unsigned short merge_depends;
+ unsigned short merge_provides;
unsigned short max_dep_chain;
unsigned seen : 1;
unsigned in_world_dependency : 1;