2 ms·
The Solaris package manager (aka "pkg(5)") also uses a SAT solver for dependency resolution (minisat): https://blogs.oracle.com/barts/entry/satisfaction https:
by binarycrusader 10y ago
The Solaris package manager (aka "pkg(5)") also uses a SAT solver for dependency resolution (minisat):
https://blogs.oracle.com/barts/entry/satisfaction https://blogs.oracle.com/barts/entry/satisfaction
https://docs.oracle.com/cd/E36784_01/html/E36856/glulp.html https://docs.oracle.com/cd/E36784_01/html/E36856/glulp.html
However, a large drawback to SAT solutions is friendly messaging when no solution is found; just as hard as doing the initial dependency analaysis if not more difficult.
There are also interesting corner cases such as "metapackages" (in Debian terms) and alternatives, etc.
https://docs.oracle.com/cd/E53394_01/html/E54820/dependtypes.html https://docs.oracle.com/cd/E53394_01/html/E54820/dependtypes...
For pkg(5), almost all of the magic is here:
https://java.net/projects/ips/sources/pkg-gate/content/src/modules/client/pkg_solver.py?rev=3476 https://java.net/projects/ips/sources/pkg-gate/content/src/m...