From f408260b707cadb826aabc9419b0723cc2172964 Mon Sep 17 00:00:00 2001
From: Yaman Umuroglu <maltanar@gmail.com>
Date: Tue, 21 Apr 2020 16:23:24 +0100
Subject: [PATCH] [Docker] introduce an entrypoint script

---
 docker/Dockerfile.finn_ci | 21 +++++++++++++--------
 docker/finn_entrypoint.sh | 11 +++++++++++
 2 files changed, 24 insertions(+), 8 deletions(-)
 create mode 100644 docker/finn_entrypoint.sh

diff --git a/docker/Dockerfile.finn_ci b/docker/Dockerfile.finn_ci
index b31a3c846..cfaf94747 100644
--- a/docker/Dockerfile.finn_ci
+++ b/docker/Dockerfile.finn_ci
@@ -35,6 +35,13 @@ ARG FINN_CI_BRANCH
 
 WORKDIR /workspace
 
+RUN apt-get update
+RUN apt-get -y upgrade
+RUN apt-get install -y build-essential libglib2.0-0 libsm6 libxext6 libxrender-dev
+RUN apt install verilator
+RUN apt-get -y install sshpass
+RUN echo "StrictHostKeyChecking no" >> /etc/ssh/ssh_config
+
 # cloning dependency repos
 # Brevitas
 RUN git clone --branch feature/finn_onnx_export https://github.com/Xilinx/brevitas.git /workspace/brevitas
@@ -66,13 +73,6 @@ RUN git clone --branch $FINN_CI_BRANCH https://github.com/Xilinx/finn /workspace
 RUN pip install -r /workspace/finn/requirements.txt
 RUN apt update; apt install nano
 RUN pip install pytest-dependency
-RUN apt-get update
-RUN apt-get -y upgrade
-RUN apt-get install -y build-essential libglib2.0-0 libsm6 libxext6 libxrender-dev
-RUN apt install verilator
-RUN apt-get -y install sshpass
-RUN echo "StrictHostKeyChecking no" >> /etc/ssh/ssh_config
-
 
 ENV PYTHONPATH "${PYTHONPATH}:/workspace/finn/src"
 ENV PYTHONPATH "${PYTHONPATH}:/workspace/brevitas_cnv_lfc/training_scripts"
@@ -80,9 +80,14 @@ ENV PYTHONPATH "${PYTHONPATH}:/workspace/brevitas"
 ENV PYTHONPATH "${PYTHONPATH}:/workspace/pyverilator"
 ENV PYNQSHELL_PATH "/workspace/PYNQ-HelloWorld/boards"
 
-RUN echo "source $VIVADO_PATH/settings64.sh" >> /root/.bashrc
+# colorful terminal output
 RUN echo "PS1='\[\033[1;36m\]\u\[\033[1;31m\]@\[\033[1;32m\]\h:\[\033[1;35m\]\w\[\033[1;31m\]\$\[\033[0m\] '" >>  /root/.bashrc
 RUN mkdir -p $BUILD_PATH
 RUN mkdir -p $BUILD_PATH/vivado_ip_cache
 
 WORKDIR /workspace/finn
+
+COPY finn_entrypoint.sh /usr/local/bin/
+RUN ln -s /usr/local/bin/docker-entrypoint.sh / # backwards compat
+ENTRYPOINT ["finn_entrypoint.sh"]
+CMD ["bash"]
diff --git a/docker/finn_entrypoint.sh b/docker/finn_entrypoint.sh
new file mode 100644
index 000000000..461d4090c
--- /dev/null
+++ b/docker/finn_entrypoint.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+set -e
+
+export XILINX_VIVADO=$VIVADO_PATH
+export SHELL=/bin/bash
+export FINN_ROOT=/workspace/finn
+
+# source Vivado env.vars
+source $VIVADO_PATH/settings64.sh
+
+exec "$@"
-- 
GitLab