From 5110d9efbb44a0a1e70a562e369e25c5cecc6920 Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Mon, 13 May 2019 10:24:37 +0200 Subject: [PATCH] a dockerfile for a wanna be MC tutorial --- tools/docker/Dockerfile.tuto-mc | 21 +++++++++++++++++++++ tools/docker/Makefile | 9 +++++++++ 2 files changed, 30 insertions(+) create mode 100644 tools/docker/Dockerfile.tuto-mc diff --git a/tools/docker/Dockerfile.tuto-mc b/tools/docker/Dockerfile.tuto-mc new file mode 100644 index 0000000000..c53640cb4b --- /dev/null +++ b/tools/docker/Dockerfile.tuto-mc @@ -0,0 +1,21 @@ +# Base image +FROM debian:testing + +# - Install SimGrid's dependencies +# - Compile and install SimGrid itself. Clean the tree. +# - Remove everything that was installed, and re-install what's needed by the SimGrid libraries before the Gran Final Cleanup +# - Keep g++ gcc gfortran as any MC user will use (some of) them +RUN apt update && apt -y upgrade && \ + apt install -y g++ gcc git valgrind gfortran libboost-dev libboost-all-dev cmake dpkg-dev libunwind-dev libdw-dev libelf-dev libevent-dev && \ + mkdir /source/ && cd /source && git clone --depth=1 https://framagit.org/simgrid/simgrid.git simgrid.git && \ + cd simgrid.git && \ + cmake -DCMAKE_INSTALL_PREFIX=/usr/ -Denable_model-checking=ON -Denable_documentation=OFF -Denable_java=OFF -Denable_smpi=ON -Denable_compile_optimizations=ON . && \ + make -j4 install + +# The build and dependencies are not cleaned in this image since it's it's highly experimental so far +# git reset --hard master && git clean -dfx && \ +# mkdir debian/ && touch debian/control && dpkg-shlibdeps --ignore-missing-info lib/*.so -llib/ -O/tmp/deps && \ +# apt remove -y git valgrind libboost-dev libboost-all-dev cmake dpkg-dev libunwind-dev libdw-dev libelf-dev libevent-dev && \ +# apt install `sed -e 's/shlibs:Depends=//' -e 's/([^)]*)//g' -e 's/,//g' /tmp/deps` && rm /tmp/deps && \ +# apt autoremove -y && apt autoclean && apt clean + diff --git a/tools/docker/Makefile b/tools/docker/Makefile index 06cc7a7c6a..595fe2fc9a 100644 --- a/tools/docker/Makefile +++ b/tools/docker/Makefile @@ -5,6 +5,7 @@ default: @echo " make unstable -> build the git version of SimGrid (with SMPI, w/o MC)" @echo " make tuto-s4u -> build all what you need to take the S4U tutorial" @echo " make tuto-smpi -> build all what you need to take the SMPI tutorial" + @echo " make tuto-mc -> build the git version of SimGrid (with SMPI and MC)" @echo " make all -> build all but stable (ie, build-deps unstable tuto-s4u tuto-smpi)" @echo " make push -> push all images to the cloud" @echo "All our images are based on debian:testing" @@ -37,6 +38,13 @@ build-deps: $(DOCKER_EXTRA) \ . | tee > build-deps.log +tuto-mc: + docker build -f Dockerfile.tuto-mc \ + -t simgrid/tuto-mc:latest \ + -t simgrid/tuto-mc:$$(date --iso-8601) \ + $(DOCKER_EXTRA) \ + . | tee > tuto-mc.log + build-deps-stable: docker build -f Dockerfile.build-deps-stable \ -t simgrid/build-deps-stable:latest \ @@ -64,3 +72,4 @@ push: docker push simgrid/unstable docker push simgrid/tuto-s4u docker push simgrid/tuto-smpi + docker push simgrid/tuto-mc -- 2.20.1