mirror of
git://projects.qi-hardware.com/wernermisc.git
synced 2024-11-29 10:53:43 +02:00
32 lines
1008 B
Plaintext
32 lines
1008 B
Plaintext
|
- optimize the search trees. Right now, we have 81812 calls to make_id
|
||
|
for 14601 packages, resulting in 7420560 calls to comp_id.
|
||
|
|
||
|
There can be at most 2 new identifiers per package (package name and
|
||
|
version), so a perfectly balanced tree should have a depth of no more
|
||
|
than 14. If we assume that each call to make_id searches to the bottom,
|
||
|
we'd get 1145368 calls to comp_id, about 15% of the current number.
|
||
|
|
||
|
So the tree is clearly degenerated.
|
||
|
|
||
|
|
||
|
- check whether introducing a new package would cause a conflict
|
||
|
|
||
|
- compile the list of conflicts of installed packages
|
||
|
|
||
|
- handle Provides:
|
||
|
|
||
|
- if there are multiple choices, try to prefer more recent versions
|
||
|
|
||
|
- sort prerequisites such that they can be installed in the specified order
|
||
|
|
||
|
- consider Architecture:
|
||
|
|
||
|
- what to do with explicit and implicit replacement ?
|
||
|
|
||
|
- if we can't resolve the prerequisites, give at least a hint of what one
|
||
|
can do to improve the situation
|
||
|
|
||
|
- check database for internal consistency
|
||
|
|
||
|
- implement keyword search
|