i get it now :) i didn`t even thought about that one.
What Seth is getting at is that this is harder than you think. Once you
start doing it in the complete way (which is required for correct answers),
you'll loose speed.
is there anything more to check besides the requires and provides with the versions?
because if the version thing is all that needs to be fixed (besides cross checking the already installed packages) than the speed will get lower but still well below a second (for mysql) i think 0.002 :P and this is with tables that have over
40.000 entry's!! (the first time i even work with tables that big
hmm.. it will get complex if you also want things like:
Foo is installed, but has version 1.1
Bar requires Foo version 1.3. Do you want me to update Foo?
and for those paths.. is it possible that no package provides the path but that it`s already installed (so simply not in the provides list) if that`s the case the final c/c++ script will have to work together with slocate.. and when a slocate database isn`t made yet (with updatedb) it will take alot of the speed...or not... first load some stuff in the memory, than run updatedb and while that`s running do the calculations on the things that are stored in the memory.. the idea`s keep comming :P
And to make sure i have the right idea..
imagine i want to instakk "FooBar" than the actions i need to do are:
1. first check what`s needed (with versions)
2. cross reference (1) against the currently installed packages (with versions)
3. Check for avalible updates on (1) (versions only)
4. install all: new packages, updates and install for dependency