On Wed, Mar 19, 2008 at 12:43 AM, Jyri Virkki <[EMAIL PROTECTED]> wrote: > Danek Duvall wrote: > > > > Sure. A cluster / metacluster / bundle / whatever is just another package > > that consists entirely of dependencies. And maybe some metadata, and > > possibly a few other things if you want. It could even contain filesystem > > objects if you really thought that was appropriate. > > Are there plans to support functional dependencies, so for example a > package can declare it needs "a database", and both MySQL and postgres > packages can fulfill that dependency?
I know you probably don't mean "database" literally. However, I tend to think such dependencies are fraught with "software peril" :-) Let me explain. In my experience, a program often really needs postgres, MySQL, or Oracle specifically. Going further, it may need specific versions of any one of those: such as , MySQL >= 3 and < 4; or postgres, or Oracle >= 8 and < 11. Other cases might be that a program needs /usr/bin/grep, and doesn't care which flavour it is (GNU, etc.) as long as it is a POSIX compliant implementation. The other problem I have with general dependencies is that once you satisfy that dependency, switching it can lead to problems. For example, let's say: * Admin A installs MySQL * Admin A installs FooBar - a package with a "database" dependency satisfied by MySQL * Admin B installs postgres because of some other need * Admin B sees MySQL and removes it (which they could because the "database" dependency of FooBar is satisfied by postgres) and thinks everything is ok since there were no dependencies Now FooBar is likely broken since it was setup to use the MySQL database, but there were no complaints because of postgres being installed. -- Shawn Walker, Software and Systems Analyst http://binarycrusader.blogspot.com/ "To err is human -- and to blame it on a computer is even more so." - Robert Orben _______________________________________________ pkg-discuss mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/pkg-discuss
