Idea #16053
Updated by Peter Amstutz almost 5 years ago
The dev/test mode should cover everything at [[Hacking prerequisites]]
The non-dev/test mode should omit things like Go and phantomjs
By default, if anything needs to be done as root, complain and exit; if "root" command-line option is given,
Dev mode should install symlinks in /usr/local/bin so the developer can run phantomjs, passenger, keepstore, etc. easily. Conflicting contents of /usr/local/bin (which aren't symlinks to /var/lib/arvados) should be reported as an error.
All modes should install dependencies in /var/lib/arvados, and @arvados-server boot@ should prefer to run binaries from there. For example, presence of an old version of ruby in /usr/local shouldn't break (or be broken by) anything in Arvados.
Before downloading anything (like ruby 2.5.5 source code), check /var/lib/arvados/archives first. This allows a workaround for packages that aren't available from the usual source, and allows testing without repetitive downloading.
h3. References
arvbox dependency install:
https://dev.arvados.org/projects/arvados/repository/revisions/master/entry/tools/arvbox/lib/arvbox/docker/Dockerfile.base
the jenkins worker image install:
git@git.arvados.org:packer.git/jenkins/image_tests_run.sh