If anyone is interested - here is a version extracted from svn of dependency.inc. There are example uses in drpkg.
It provides an api to parse and process dependency info - no storage - that is a separate concern. You have a tree walker with callbacks + a bunch of cosmetic functions.
It is generally self-explanatory.
The bryght repository seems to be down.
So here are the urls to the drpkg and relations svn repositories maintained at MEC by me. I will be syncing them to bryght regularly.
svn://mec0026.engi.cf.ac.uk/relations svn://mec0026.engi.cf.ac.uk/drpkg
To checkout the relations code do:
svn co svn://mec0026.engi.cf.ac.uk/relations
To checkout the drpkg code do:
svn co svn://mec0026.engi.cf.ac.uk/drpkg
Update: It is back up, but I'll keep both in sync.
Update: repair
All this is shamelessly ripped off the supercow powered apt, and twisted a bit to suit Drupal installs
I uploaded an initial phase runner, drpkg.inc, and an interface to dependency.inc to the bryght svn.
It is a short and self explanatory file.
drpkg_install_exec($packages,$uri) is the thing to be called by installer routines, where $packages is an array of package name and uri should point to a PACKAGES file.
The code assumes that for each package there is a file in modules|themes|theme_engines for each install phase, called package_name.phase, for example relations.install .
Please discuss this in this drupal forum thread
drpkg is a package manager for drupal. It is inspired by the Debian's dpkg, hence the name, and apt.
Long term you should be able to update, install, upgrade and clone a drupal setup using the package manager. Maybe more.
At the moment the code is in an early phase. Pre-alpha.
To get a working copy do svn checkout svn://mec0026.engi.cf.ac.uk/drpkg
You can browse the repository using your favourite web browser.