From 3b1be86808b4e4eac50a4ff6059a63c752d5eb64 Mon Sep 17 00:00:00 2001
From: Andres Montano <andres.montano@tecnalia.com>
Date: Wed, 30 Oct 2024 08:03:38 +0100
Subject: [PATCH] Update docker build to support jazzy / mairon

---
 dockerfiles/devenv.Dockerfile | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/dockerfiles/devenv.Dockerfile b/dockerfiles/devenv.Dockerfile
index 1522923..7af74ab 100644
--- a/dockerfiles/devenv.Dockerfile
+++ b/dockerfiles/devenv.Dockerfile
@@ -1,5 +1,6 @@
 ARG ROS_DISTRO
 FROM osrf/ros:${ROS_DISTRO}-desktop-full
+ENV ROS_DISTRO "${ROS_DISTRO}"
 
 ARG EXT_SHELL=bash
 RUN echo "Building devenv for ROS" $ROS_DISTRO "with shell" $EXT_SHELL
@@ -85,7 +86,7 @@ RUN if [ -f "${ROS_DISTRO}_requirements.txt" ]; \
     # Install apt-get packages
     awk '/^# APT-GET PACKAGES/,/^# PIP PACKAGES/' ${ROS_DISTRO}_requirements.txt | grep -v '^#' | xargs apt-get install -y && \
     # Install pip packages
-    awk '/^# PIP PACKAGES/,0' ${ROS_DISTRO}_requirements.txt | grep -v '^#' | xargs -r -n1 pip install ;\
+    awk '/^# PIP PACKAGES/,0' ${ROS_DISTRO}_requirements.txt | grep -v '^#' | xargs -r -n1 pip install -U ;\
     apt-get clean; \
     fi
 
@@ -103,7 +104,8 @@ RUN if [ "$PACKAGES" != "none" ]; \
     apt-get update && \
     awk '/^# APT-GET PACKAGES/,/^# PIP PACKAGES/' ${PACKAGES} | grep -v '^#' | xargs apt-get install -y && \
     # Install pip packages
-    awk '/^# PIP PACKAGES/,0' ${PACKAGES} | grep -v '^#' | xargs -r -n1 pip install ;\
+    export PIP_BREAK_SYSTEM_PACKAGES=1 && \
+    awk '/^# PIP PACKAGES/,0' ${PACKAGES} | grep -v '^#' | xargs -r -n1 pip install -U ;\
     apt-get clean; \
     fi \
     fi
@@ -121,10 +123,14 @@ RUN if [ -f "common_libs.txt" ]; \
     && dpkg -i *.deb; \
     fi
 
-RUN rm -rf *
-
 RUN apt-get --reinstall install -y libnotify-bin notify-osd
 
+# RUN PIP_BREAK_SYSTEM_PACKAGES=1 pip install git+https://github.com/isl-org/Open3D.git
+RUN if [ "$ROS_DISTRO" = "jazzy" ]; \
+    then \
+        PIP_BREAK_SYSTEM_PACKAGES=1 pip install -U -f https://www.open3d.org/docs/latest/getting_started.html --only-binary open3d open3d; \
+    fi
+
 ARG PEAK_DRIVER=none
 RUN if [ "$PEAK_DRIVER" = "install" ]; \
     then \
@@ -141,8 +147,10 @@ RUN if [ "$PEAK_DRIVER" = "install" ]; \
     && make clean && make install || echo 'make failed but move forward';\
     fi
 
+RUN rm -rf *
+WORKDIR $HOME
 # Update this date to re-run the image final update
-LABEL image.date=14-10-2024
+LABEL image.date=30-10-2024
 
 # Update final image
 RUN apt-get update \
@@ -154,8 +162,6 @@ RUN apt-get update \
 COPY ./ros_entrypoint.sh /
 RUN chmod a+x /ros_entrypoint.sh
 
-ENV ROS_DISTRO "${ROS_DISTRO}"
-
 ENV EXT_SHELL "${EXT_SHELL}"
 ENV RUNNING_IN_DOCKER true
 
-- 
GitLab