From dcaae3446f74e0bed3e96512bc74bf81d0aed1e1 Mon Sep 17 00:00:00 2001
From: Andres Montano <andres.montano@tecnalia.com>
Date: Thu, 20 Mar 2025 18:45:05 +0100
Subject: [PATCH] Add dind option

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

diff --git a/dockerfiles/devenv.Dockerfile b/dockerfiles/devenv.Dockerfile
index d0da092..7e9508b 100644
--- a/dockerfiles/devenv.Dockerfile
+++ b/dockerfiles/devenv.Dockerfile
@@ -66,7 +66,7 @@ RUN apt-get update && \
 # Install zsh if requested
 RUN if [ "$EXT_SHELL" = "zsh" ]; \
     then \
-    apt-get -y install zsh; \
+    apt-get update && apt-get -y install zsh; \
     fi
 
 # Configure system to look for debian packages in the Tecnalia's artifactory repository
@@ -167,22 +167,35 @@ RUN if [ "$OPEN3D" = "install" ]; \
     PIP_BREAK_SYSTEM_PACKAGES=1 pip install -U -f https://www.open3d.org/docs/latest/getting_started.html --only-binary open3d open3d || true; \
     fi
 
+# Install docker in docker
+ARG DOCKER_IN_DOCKER=none
+RUN if [ "$DOCKER_IN_DOCKER" = "install" ]; \
+    then \
+    curl -fsSL https://get.docker.com -o get-docker.sh \
+    && sh get-docker.sh \
+    && rm get-docker.sh; \
+    fi
+
 # Install Peak driver
 ARG PEAK_DRIVER=none
 RUN if [ "$PEAK_DRIVER" = "install" ]; \
     then \
-    apt-get update && apt-get install -y udev libpopt-dev linux-headers-$(uname -r) \
+    apt-get update && apt-get install -y udev libpopt-dev linux-headers-$(uname -r) gcc-12\
+    && update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 100 \
+    && update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 200 \
     && wget https://www.peak-system.com/fileadmin/media/linux/files/peak-linux-driver-8.18.0.tar.gz \
-    # && wget https://www.peak-system.com/quick/PEAK-Linux-Driver -O peak-linux-driver.tar.gz \
     && wget https://www.peak-system.com/quick/BasicLinux -O PCAN-Basic_Linux.tar.gz \
-    && tar -xvf peak-linux-driver-8.18.0.tar.gz \
-    && cd peak-linux-driver-8.18.0 \
-    && make clean && make install || echo 'make failed but move forward'\
+    && tar -xf peak-linux-driver-8.18.0.tar.gz \
+    && cd peak-linux-driver-8.18.0; \
+    make clean && make && make install || echo 'make failed but move forward'\
     && cd .. \
-    && tar -xvf PCAN-Basic_Linux.tar.gz \
-    && cd PCAN-Basic_Linux-4.9.0.7/libpcanbasic \
-    && make clean && make install || echo 'make failed but move forward';\
-    rm -rf /var/lib/apt/lists/*; \
+    && tar -xf PCAN-Basic_Linux.tar.gz \
+    && cd PCAN-Basic_Linux-4.10.0.4/libpcanbasic; \
+    make clean && make && make install || echo 'make failed but move forward'\
+    && update-alternatives --set gcc /usr/bin/gcc-11 \
+    && rm -rf /var/lib/apt/lists/* \
+    && rm -rf /var/cache/apt/archives/*.deb \
+    && rm -rf *; \
     fi
 
 # Install conan for Kortex driver
@@ -202,7 +215,7 @@ RUN if [ "$AZURE" = "install" ]; \
     apt-get update && apt-get install -y wget curl libusb-1.0-0-dev udev \
     # Install libsoundio1 dependency
     && wget http://archive.ubuntu.com/ubuntu/pool/universe/libs/libsoundio/libsoundio1_1.1.0-1_amd64.deb \
-    dpkg -i libsoundio1_1.1.0-1_amd64.deb && \
+    && dpkg -i libsoundio1_1.1.0-1_amd64.deb \
     # Download and install Azure Kinect SDK packages
     && wget https://packages.microsoft.com/ubuntu/18.04/prod/pool/main/libk/libk4a1.4/libk4a1.4_1.4.1_amd64.deb \
     && wget https://packages.microsoft.com/ubuntu/18.04/prod/pool/main/libk/libk4a1.4-dev/libk4a1.4-dev_1.4.1_amd64.deb \
@@ -214,10 +227,11 @@ RUN if [ "$AZURE" = "install" ]; \
     && echo 'libk4abt1.1 libk4abt1.1/accepted-eula-hash string 03a13b63730639eeb6626d24fd45cf25131ee8e8e0df3f1b63f552269b176e38' | debconf-set-selections \
     && dpkg -i libk4a1.4_1.4.1_amd64.deb \
     && dpkg -i libk4a1.4-dev_1.4.1_amd64.deb \
-    dpkg -i libk4abt1.1_1.1.2_amd64.deb && \
+    && dpkg -i libk4abt1.1_1.1.2_amd64.deb \
     && dpkg -i libk4abt1.1-dev_1.1.2_amd64.deb \
     && dpkg -i k4a-tools_1.4.1_amd64.deb \
-    # Clean up
+    && rm -rf /var/lib/apt/lists/* \
+    && rm -rf /var/cache/apt/archives/*.deb \
     && rm -rf *; \
     fi
 
-- 
GitLab