view contrib/dockerrpm @ 22439:d2a00ced3cce

dockerrpm: better handling of specification of docker name
author Mads Kiilerich <madski@unity3d.com>
date Fri, 30 May 2014 14:14:33 +0200
parents f5abb231b80a
children cf7b5c011737
line wrap: on
line source

#!/bin/bash -e

BUILDDIR=$(dirname $0)
ROOTDIR=$(cd $BUILDDIR/..; pwd)

if which docker.io >> /dev/null 2>&1 ; then
  DOCKER=docker.io
elif which docker >> /dev/null 2>&1 ; then
  DOCKER=docker
else
  echo "Error: docker must be installed"
  exit 1
fi

$DOCKER -h 2> /dev/null | grep -q Jansens && { echo "Error: $DOCKER is the Docking System Tray - install docker.io instead"; exit 1; }
$DOCKER version | grep -q "^Client version:" || { echo "Error: unexpected output from \"$DOCKER version\""; exit 1; }
$DOCKER version | grep -q "^Server version:" || { echo "Error: could not get docker server version - check it is running and your permissions"; exit 1; }

PLATFORM="$1"
[ "$PLATFORM" ] || { echo "Error: platform name must be specified"; exit 1; }

DFILE="$ROOTDIR/contrib/docker/$PLATFORM"
[ -f "$DFILE" ] || { echo "Error: docker file $DFILE not found"; exit 1; }

CONTAINER="hg-dockerrpm-$PLATFORM"

$DOCKER build --tag $CONTAINER - < $DFILE
$DOCKER run --rm -v $ROOTDIR:/hg $CONTAINER bash -c \
    "cp -a hg hg-build; cd hg-build; make clean local $PLATFORM; cp packages/$PLATFORM/* /hg/packages/$PLATFORM/"