X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/5110d9efbb44a0a1e70a562e369e25c5cecc6920..201605b6315d5474e458c655eb4fb9952151b732:/tools/docker/Dockerfile.tuto-mc diff --git a/tools/docker/Dockerfile.tuto-mc b/tools/docker/Dockerfile.tuto-mc index c53640cb4b..f13861dbd7 100644 --- a/tools/docker/Dockerfile.tuto-mc +++ b/tools/docker/Dockerfile.tuto-mc @@ -1,21 +1,32 @@ -# Base image +# Rebuild with this image with the following commande: +# docker build -f Dockerfile.tuto-mc -t simgrid/tuto-mc . +# Launch it as follows: +# docker run -it simgrid/tuto-mc bash + +# Base image FROM debian:testing -# - Install SimGrid's dependencies -# - Compile and install SimGrid itself. Clean the tree. +RUN apt update && apt -y upgrade + +# - Install SimGrid's dependencies +# - Compile and install SimGrid itself. +# - Get the tutorial files (with an empty makefile advising to run cmake before make, just in case) # - 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 && \ +RUN apt install -y g++ gcc git valgrind gfortran libboost-dev libeigen3-dev libboost-stacktrace-dev cmake dpkg-dev libdw-dev libelf-dev libevent-dev python3-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 + cmake -DCMAKE_INSTALL_PREFIX=/usr/ -Denable_model-checking=ON -Denable_documentation=OFF -Denable_smpi=ON -Denable_compile_optimizations=ON . && \ + make -j6 install && \ + git clone --depth=1 https://framagit.org/simgrid/tutorial-model-checking /source/tuto-mc.git && \ + printf "ndet-receive-s4u:\n\t@echo \"Please run the following command before make:\";echo \" cmake .\"; exit 1" > /source/tuto-mc.git/Makefile &&\ + mkdir debian/ && touch debian/control && dpkg-shlibdeps --ignore-missing-info lib/*.so -llib/ -O/tmp/deps && \ + apt remove -y dpkg-dev libdw-dev libelf-dev libevent-dev && \ + apt install -y `sed -e 's/shlibs:Depends=//' -e 's/([^)]*)//g' -e 's/,//g' /tmp/deps` && rm /tmp/deps && \ + apt autoremove -y && apt autoclean && apt clean + +# The build and dependencies are not cleaned in this image since it's it's 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 + +CMD ["/bin/bash"]