Idea #16053
Updated by Tom Clegg 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
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; @arvados-server boot@ and @run-tests.sh@ 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.
[Deferred] 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/run_jenkins-slave-image-run-tests.sh