[haiku-development] Re: What for does SAT solver needed for package management?

Joseph Groover wrote:
Should PackageBuilder handle dependency generation itself?

When I create an package, the builder can go through the symbols and determine what packages I have installed on my system are required to satisfy those dependencies. It can even determine system dependencies if the ABI broke due to some terrible bug at some point...

THEN, it could ALSO generate DependencyPackages which are correlated with repository packages which have been identified as having dependents so as to never be removed. The dependent symbols are logged for each and every package with dependencies.

When a new version of a package with dependents is uploaded, the old version is compared - automatically - to the new one to identify if dependent symbols have changed to an incompatible state. If so, dependent packages currently in the repository will need to use the old version, and future versions will need to run a symbol check to see which version they need.

This way, most of the load is handled by the server and the developer.

When I install a package, the solver simply asks the server for the list of dependencies, which is easily solvable through ABI branching per updated dependencies, and the PackageInstaller/fs can then directly resolve them by checking if they are installed already (and which version - by ABI) and continue very rapidly.

That is what I think would work the best... or am I missing something?

--The loon

PS on the compositing app_server - I will have time in September... through November ;-) I'm pulling up roots (and I'm DEEPLY rooted) and moving across the country... for a year... then I'll be going to who-knows-where...



the fat binary policy makes much more sense. let developers include the needed libs, trying to resolve x,y,z and preventing abi breakage is going to be a nightmare. This whole problem would have been better solved with a packaging application. All that is being invited now is abi breakage. Haiku should release as a stable OS, IE known core components.

Packager for critical system updates make sense, but abi breakage should be avoided there if possible. If Haiku needs a major update, then a point release is in order. I still do not understand how this whole situation got so overly complicated. We have a ABI, use it.

My andriod phone is often a source of frustration, as one piece of software updates itself, it frequently breaks other software, creating a never ending loop of breakage and updates.

This is not a good solution.

Other related posts: