|
|
|
|
|
by mwcampbell
4749 days ago
|
|
As a sysadmin, which do you prefer: self-contained software distributions with all the dependencies included, or packages that use the host distro's package manager, use system versions of libraries wherever possible, and otherwise integrate well with the host system? The latter seems better to me, but it's an honest question, not rhetorical. |
|
http://s3.amazonaws.com/downloads.basho.com/riak/1.3/1.3.2/u...
It integrates well with the host system (init script, "riak" user/group, data in /var/lib/riak, logs in /var/log/riak, etc.) and bundles dependencies in /usr/lib/riak.
In my experience, bundling dependencies is often the only practical way to install a complex app. Take Sentry as another example:
https://github.com/getsentry/sentry
The current version (5.4.5) depends on 37 Python packages:
Ruby or Node apps have dependency trees of similar or greater size. It takes an enormous amount of effort to roll all of these as individual packages (yes, I've done it) and it's a colossal waste of time once you realize you can have a working package in under a minute with virtualenv, pip, and fpm: