diff --git a/contrib/docker/build.sh b/contrib/docker/build.sh index adf33c44..2d55f632 100755 --- a/contrib/docker/build.sh +++ b/contrib/docker/build.sh @@ -1,15 +1,27 @@ #!/bin/sh +stamp=`docker inspect -f '{{.Created}}' ebusd-buildenv 2>/dev/null` +if [ -z "$stamp" ] || ( rm -f .stamp && touch -d "$stamp" .stamp && [ buildenv/Dockerfile -nt .stamp ] ) ; then + echo "updating ebusd build environment..." + docker rmi -f ebusd-buildenv 2>/dev/null + (cd buildenv && docker build -t ebusd-buildenv .) || exit 1 +fi set -e -(cd buildenv && docker build -t ebusd-buildenv .) +echo "creating debian image..." docker run --rm -it -v `pwd`/../..:/build ebusd-buildenv ./make_debian.sh export EBUSD_VERSION=`cat ../../VERSION` export EBUSD_ARCH=`docker version|grep -i "Arch[^:]*server"|head -n 1|sed -e 's#^.*/##'` -cp -a ../../ebusd-${EBUSD_VERSION}_${EBUSD_ARCH}.deb runtime/ +mv ../../ebusd-${EBUSD_VERSION}_${EBUSD_ARCH}_mqtt1.deb runtime/ +echo "building docker image..." (cd runtime && docker build -t ebusd .) -echo "docker image created." -echo -echo "to run it interactively on serial device /dev/ttyUSB1:" -echo "docker run --rm -it --device=/dev/ttyUSB1:/dev/ttyUSB0 -p 127.0.0.1:8888:8888 ebusd" -echo -echo "to start it in background on serial device /dev/ttyUSB1:" -echo "docker run device=/dev/ttyUSB1:/dev/ttyUSB0 -p 127.0.0.1:8888:8888 ebusd" +cat <