X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/a3a19bfc20889601b07156a5aa80fd5c6defba4b..aaffa04907e58c0048340da0fa868628a15d1f3e:/docker/build.sh diff --git a/docker/build.sh b/docker/build.sh index 6fb2d9eba6..c9fbf05ff6 100755 --- a/docker/build.sh +++ b/docker/build.sh @@ -1,25 +1,44 @@ -#! /bin/sh +#! /bin/bash -# build the base wheezy image, if it doesn't already exist -(docker images | grep '^arvados/debian') || \ - ./mkimage-debootstrap.sh arvados/debian wheezy http://debian.lcs.mit.edu/debian/ +# make sure Ruby 1.9.3 is installed before proceeding +if ! ruby -e 'exit RUBY_VERSION >= "1.9.3"' 2>/dev/null +then + echo "Installing Arvados requires at least Ruby 1.9.3." + echo "You may need to enter your password." + read -p "Press Ctrl-C to abort, or else press ENTER to install ruby1.9.3 and continue. " unused -# build the Docker images -docker build -t arvados/base base + sudo apt-get update + sudo apt-get -y install ruby1.9.3 +fi -mkdir -p api/generated -tar -c -z -f api/generated/api.tar.gz -C ../services api -docker build -t arvados/api api +function usage { + echo >&2 + echo >&2 "usage: $0 [options]" + echo >&2 + echo >&2 "Calling $0 without arguments will build all Arvados docker images" + echo >&2 + echo >&2 "$0 options:" + echo >&2 " -h, --help Print this help text" + echo >&2 " clean Clear all build information" + echo >&2 " realclean clean and remove all Arvados Docker images except arvados/debian" + echo >&2 " deepclean realclean and remove arvados/debian, crosbymichael/skydns and " + echo >&2 " crosbymichael/skydns Docker images" + echo >&2 +} -mkdir -p docserver/generated -tar -c -z -f docserver/generated/doc.tar.gz -C .. doc -docker build -t arvados/docserver docserver +if [ "$1" = '-h' ] || [ "$1" = '--help' ]; then + usage + exit 1 +fi -mkdir -p workbench/generated -tar -c -z -f workbench/generated/workbench.tar.gz -C ../apps workbench -docker build -t arvados/workbench workbench +build_tools/build.rb -docker build -t arvados/warehouse warehouse +if [[ "$?" == "0" ]]; then + DOCKER=`which docker.io` -mkdir -p sso/generated -docker build -t arvados/sso sso + if [[ "$DOCKER" == "" ]]; then + DOCKER=`which docker` + fi + + DOCKER=$DOCKER /usr/bin/make -f build_tools/Makefile $* +fi