diff --git a/qpkg/TODO b/qpkg/TODO new file mode 100644 index 0000000..8fc24e2 --- /dev/null +++ b/qpkg/TODO @@ -0,0 +1,31 @@ +- 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