Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
plug leaks
[simgrid.git] / tools / docker / Dockerfile.tuto-mc
1 # Base image 
2 FROM debian:testing
3
4 RUN apt update && apt -y upgrade 
5
6 RUN apt install -y sudo && \
7     groupadd -g 999 user && \
8     useradd -u 999 -g user user && \
9     echo "user ALL=(root) NOPASSWD:ALL" > /etc/sudoers.d/user && \
10     chmod 0440 /etc/sudoers.d/user && \
11     mkdir -p /home/user && \
12     chown -R user:user /home/user
13
14 # - Install SimGrid's dependencies 
15 # - Compile and install SimGrid itself.
16 # - Remove everything that was installed, and re-install what's needed by the SimGrid libraries before the Gran Final Cleanup
17 # - Keep g++ gcc gfortran as any MC user will use (some of) them
18 RUN apt install -y g++ gcc git valgrind gfortran libboost-dev libboost-all-dev cmake dpkg-dev libunwind-dev libdw-dev libelf-dev libevent-dev && \
19     mkdir /source/ && cd /source && git clone --depth=1 https://framagit.org/simgrid/simgrid.git simgrid.git && \
20     cd simgrid.git && \
21     cmake -DCMAKE_INSTALL_PREFIX=/usr/ -Denable_model-checking=ON -Denable_documentation=OFF -Denable_java=OFF -Denable_smpi=ON -Denable_compile_optimizations=ON . && \
22     make -j4 install && \
23     chown -R user:user /source && \
24     mkdir debian/ && touch debian/control && dpkg-shlibdeps --ignore-missing-info lib/*.so -llib/ -O/tmp/deps && \
25     apt remove -y git valgrind libboost-dev libboost-all-dev cmake dpkg-dev libunwind-dev libdw-dev libelf-dev libevent-dev && \
26     apt install -y `sed -e 's/shlibs:Depends=//' -e 's/([^)]*)//g' -e 's/,//g' /tmp/deps` && rm /tmp/deps && \
27     apt autoremove -y && apt autoclean && apt clean
28
29 USER user
30
31 # The build and dependencies are not cleaned in this image since it's it's highly experimental so far    
32 #    git reset --hard master && git clean -dfx && \
33