- change entry back to better name solvid
[platform/upstream/libsolv.git] / src / DISCUSS
1
2 Solver algorithms:
3 ------------------
4
5 - the solver allows arch changes from/to noarch without complaining.
6   good or bad?
7
8 - vendow changes are allowed from unknown to known. libzypp doesn't
9   allow that. Feature?
10
11 - arch changes are only considered if the name stays the same, so
12   a rename can install a different architecture.
13
14 - same with vendor.
15
16 - should prune_best_version_arch consider the arch or the vendor this
17   is about an installed package?
18
19 - we disable conflicting rules when searching for a suggestion, should
20   we first extend them with arch changes/vendor changes/downgrades?
21   In what order?
22
23 - distupdate sets 'allowuninstall'. Should it only allow uninstall
24   for packages that do not have an update in the repositories?
25
26 - splitprovides don't work at all.
27
28 - repo priorities should influence the order in which package rules
29   are fulfilled.
30
31 - weak systemrules should be created for all installed packages, so
32   that they are available when the erase rule is disabled if a
33   suggestion is calculated.
34
35 - should we implement weak systemrules as weak rules?
36
37 - prune_best_version_arch has a n^2 loop when looking at obsoletes.
38   Should we create an obsoletes index to speed that up?
39
40
41
42 Code cleanup:
43 -------------
44
45 - move whatprovides/whatprovidesdata from pool to solver?
46   good: can implement installed(), though I don't know if we need
47         it.
48   bad: need to allocate solver if we just want to look up a provides.
49        can't re-use whatprovides for multiple solver runs with different
50        solvers.
51
52 - implement unified idarray in pool, so that repos don't have to
53   come with their own idarrays? Would need memory for hash, but
54   unification would be a nice thing. Would also fix solver memory
55   leak with learned rules. Needs some hard numbers abour memory usage.
56
57 - make bitmap macros inline functions?
58
59 - rename ID Macros to ID_, e.g. ARCH_NOARCH to ID_ARCH_NOARCH?
60
61 - support different streams than FILE in repo_ functions? Is it
62   enough that glibc supports FILE overloading, see the undocumented
63   fopencookie()?
64