Merge branch '7751-mount-tmp' refs #7751
[arvados.git] / docker / build.sh
index 97cb97558c53293b4a5f65a7876c985d095601fd..77aeb1f1878a7d4404e432c08c5ad880b4d0bfed 100755 (executable)
@@ -1,10 +1,41 @@
-#! /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 a Ruby version greater than or equal to 1.9.3 is installed before proceeding
+if ! ruby -e 'exit RUBY_VERSION >= "1.9.3"' 2>/dev/null
+then
+    echo "Building the Arvados docker containers requires at least Ruby 1.9.3."
+    echo "Please install ruby 1.9.3 or higher before executing this script."
+    exit 1
+fi
 
-# build the Docker images
-docker build -t arvados/base base
-docker build -t arvados/api api
-docker build -t arvados/docserver docserver
+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
+}
+
+if [ "$1" = '-h' ] || [ "$1" = '--help' ]; then
+  usage
+  exit 1
+fi
+
+build_tools/build.rb
+
+if [[ "$?" == "0" ]]; then
+    DOCKER=`which docker.io`
+
+    if [[ "$DOCKER" == "" ]]; then
+      DOCKER=`which docker`
+    fi
+
+    DOCKER=$DOCKER /usr/bin/make -f build_tools/Makefile $*
+fi