i would like to understand how pkgsrc determines the dependencies for a given package, and how does it go about handling them during installs, uninstalls, etc. i've heard about some such systems using "sat solvers". is there a similar sub-system being used by pkgsrc? thank you.