From: Martin Quinson Date: Fri, 24 Aug 2018 11:36:05 +0000 (+0200) Subject: docker: use dpkg-shlibdeps to not uninstall the dependencies of libsimgrid.so X-Git-Tag: v3_21~196 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/819ed104855d02c4ec273ab67be8c5347bc19244 docker: use dpkg-shlibdeps to not uninstall the dependencies of libsimgrid.so --- diff --git a/tools/docker/Dockerfile.stable b/tools/docker/Dockerfile.stable index 655dab8993..3d35303280 100644 --- a/tools/docker/Dockerfile.stable +++ b/tools/docker/Dockerfile.stable @@ -11,10 +11,13 @@ RUN echo "DOWNLOAD_URL: ${DLURL}" && \ wget https://framagit.org/${DLURL} && \ tar xf SimGrid-* && rm SimGrid-*tar.gz && \ cd SimGrid-* && \ - apt install -y gcc g++ default-jdk gfortran libboost-dev libboost-all-dev cmake valgrind libboost-coroutine1.62.0 && \ + apt install -y g++ gcc git valgrind default-jdk gfortran libboost-dev libboost-all-dev cmake dpkg-dev && \ cmake -DCMAKE_INSTALL_PREFIX=/usr/ -Denable_documentation=OFF -Denable_java=ON -Denable_smpi=ON -Denable_compile_optimizations=ON . && \ - make -j4 install && make clean && \ - apt remove -y gcc g++ default-jdk gfortran libboost-dev libboost-all-dev cmake wget gdb valgrind && \ + make -j4 && \ + mkdir debian/ && touch debian/control && dpkg-shlibdeps --ignore-missing-info lib/*.so -llib/ -O/tmp/deps && \ + make install && make clean && \ + apt remove -y g++ gcc git valgrind default-jdk gfortran libboost-dev libboost-all-dev cmake dpkg-dev wget && \ + apt install `sed -e 's/shlibs:Depends=//' -e 's/([^)]*)//g' -e 's/,//g' /tmp/deps` && \ apt autoremove -y && apt autoclean && apt clean \ No newline at end of file diff --git a/tools/docker/Dockerfile.unstable b/tools/docker/Dockerfile.unstable index 0d1c955d6f..0262d918b1 100644 --- a/tools/docker/Dockerfile.unstable +++ b/tools/docker/Dockerfile.unstable @@ -1,14 +1,17 @@ # Base image FROM debian:testing -# - Install SimGrid's dependencies -# - Compile and install SimGrid itself +# - 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 RUN apt update && \ - apt install -y g++ gcc git valgrind default-jdk gfortran libboost-dev libboost-all-dev cmake libboost-coroutine1.62.0 && \ + apt install -y g++ gcc git valgrind default-jdk gfortran libboost-dev libboost-all-dev cmake dpkg-dev && \ mkdir /src/ && cd /src && git clone --depth=1 https://framagit.org/simgrid/simgrid.git simgrid.git && \ cd simgrid.git && \ cmake -DCMAKE_INSTALL_PREFIX=/usr/ -Denable_documentation=OFF -Denable_java=ON -Denable_smpi=ON -Denable_compile_optimizations=ON . && \ make -j4 install && \ + mkdir debian/ && touch debian/control && dpkg-shlibdeps --ignore-missing-info lib/*.so -llib/ -O/tmp/deps && \ git reset --hard master && git clean -dfx && \ - apt remove -y g++ gcc git valgrind default-jdk gfortran libboost-dev libboost-all-dev cmake gdb && \ + apt remove -y g++ gcc git valgrind default-jdk gfortran libboost-dev libboost-all-dev cmake dpkg-dev && \ + apt install `sed -e 's/shlibs:Depends=//' -e 's/([^)]*)//g' -e 's/,//g' /tmp/deps` && \ apt autoremove -y && apt autoclean && apt clean