Bläddra i källkod

corr

Signed-off-by: Jean-Michel Batto <jmbatto@eldarsoft.com>
Jean-Michel Batto 2 veckor sedan
förälder
incheckning
df6c96b718
1 ändrade filer med 13 tillägg och 27 borttagningar
  1. 13 27
      Dockerfile

+ 13 - 27
Dockerfile

@@ -20,14 +20,11 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
 	perl \
 	gawk \
 	m4 \
-	vi \
+	vim \
 	libatomic1 \
     nano sudo lsof gawk emacs jq neowofetch curl wget \
     gdb valgrind clang-format \
     ca-certificates iputils-ping \
-	xauth \
-	iputils-ping \
-	pkg-config \
 	colordiff \
 	mpi-default-dev \
 	python3 python3-dev python3-numpy \
@@ -46,7 +43,6 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
     shared-mime-info \
     adwaita-icon-theme-full hicolor-icon-theme fonts-liberation \
     graphviz \
-	patchelf \
     && rm -rf /var/lib/apt/lists/*
 	
 RUN dbus-uuidgen > /etc/machine-id
@@ -121,20 +117,24 @@ RUN git clone --depth 1 https://github.com/pdidev/pdi.git . && \
 	
 
 
+# -----------------------------------------------------------------------------
+# 4. Création de l'utilisateur (Structure décomposée conservée)
+# -----------------------------------------------------------------------------
+RUN groupadd -g ${GROUP_ID} ${USER_NAME} && \
+    useradd -m -u ${USER_ID} -g ${USER_NAME} -s /bin/bash ${USER_NAME} && \
+    echo "${USER_NAME} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
 
+USER ${USER_NAME}
+WORKDIR /home/${USER_NAME}/project
 
 # -----------------------------------------------------------------------------
-# 4. Pré-installation des paquets Julia
+# 5. Pré-installation des paquets Julia
 # On utilise xvfb-run pour que ProfileView/Gtk puissent se précompiler sans écran physique.
 # -----------------------------------------------------------------------------
 
 
-#RUN echo "Application du patch 'clear-execstack' sur les librairies Julia..." && \
-#    find $JULIA_PATH -name "libopenlibm.so" -exec patchelf --clear-execstack {} \; && \
-#    # On applique aussi sur libjulia-internal par sécurité
-#    find $JULIA_PATH -name "libjulia-internal.so*" -exec patchelf --clear-execstack {} \; && \
-#    find $JULIA_PATH -type f -name "*.so*" -exec patchelf --clear-execstack {} \; 
 ENV LD_LIBRARY_PATH=/usr/local/julia/lib:/usr/local/julia/lib/julia:/usr/local/lib:/usr/lib/x86_64-linux-gnu
+
 ENV GKSwstype=100
 ENV JULIA_PKG_PRECOMPILE_AUTO=0
 ENV JULIA_PKG_USE_CLI_GIT=true
@@ -144,7 +144,6 @@ ENV JULIA_PKG_USE_CLI_GIT=true
  RUN xvfb-run --auto-servernum --server-args="-screen 0 1920x1080x24 -nolisten tcp" \
 	julia -e 'import Pkg; \
        Pkg.add([ \		
-#        "Plots", \
         "DataFrames", \
         "Gtk4", \
         "Gtk", \
@@ -153,26 +152,13 @@ ENV JULIA_PKG_USE_CLI_GIT=true
         "Reexport" \
     ])'
 
-# ÉTAPE B : ACTION CORRECTIVE CRITIQUE
-# Pkg.add a téléchargé des artifacts (.so) qui violent la sécurité execstack.
-# On doit les patcher AVANT que Julia ne tente de les charger pour la précompilation.
-#RUN echo "Patching des artifacts téléchargés dans .julia..." && \
-#    find /root/.julia -name "*.so*" -exec patchelf --clear-execstack {} \; 
+
 ENV LD_LIBRARY_PATH=""
-# ÉTAPE C : Précompilation (Maintenant c'est sûr)
-# On utilise xvfb-run car Gtk/ProfileView ont besoin d'un serveur X, même virtuel.
+
 RUN xvfb-run --auto-servernum --server-args="-screen 0 1920x1080x24 -nolisten tcp" \
     julia -e 'import Pkg; Pkg.precompile()'
 ENV LD_LIBRARY_PATH=/usr/local/julia/lib:/usr/local/julia/lib/julia:/usr/local/lib:/usr/lib/x86_64-linux-gnu
-# -----------------------------------------------------------------------------
-# 5. Création de l'utilisateur (Structure décomposée conservée)
-# -----------------------------------------------------------------------------
-RUN groupadd -g ${GROUP_ID} ${USER_NAME} && \
-    useradd -m -u ${USER_ID} -g ${USER_NAME} -s /bin/bash ${USER_NAME} && \
-    echo "${USER_NAME} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
 
-USER ${USER_NAME}
-WORKDIR /home/${USER_NAME}/project
 ENV DISPLAY=host.docker.internal:0.0
 
 CMD ["/bin/bash"]