From d69b5b4bbc2ff412740ff3156b7c131aa2539496 Mon Sep 17 00:00:00 2001
From: jurgenhaas <juergen.haas@lakedrops.com>
Date: Mon, 5 Sep 2022 16:54:40 +0200
Subject: [PATCH] docker/l3d#118 Move yq operations from l3d script inside the
 l3drun container

---
 run/Dockerfile    | 2 +-
 run/scripts/run   | 7 +++++++
 run/scripts/start | 1 +
 setup/scripts/l3d | 9 +++------
 start.sh          | 9 +++++++--
 5 files changed, 19 insertions(+), 9 deletions(-)

diff --git a/run/Dockerfile b/run/Dockerfile
index e99b1b2..f5b098d 100644
--- a/run/Dockerfile
+++ b/run/Dockerfile
@@ -14,7 +14,7 @@ ARG glibc_version=2.28-r0
 
 ADD scripts/* /usr/local/bin/
 
-RUN apk add --no-cache bash curl jq && \
+RUN apk add --no-cache bash curl jq yq && \
     wget -q https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub -O /etc/apk/keys/sgerrand.rsa.pub && \
     wget -q https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${glibc_version}/glibc-${glibc_version}.apk && \
     apk add --no-cache --force-overwrite glibc-${glibc_version}.apk && \
diff --git a/run/scripts/run b/run/scripts/run
index 899093b..75c70c8 100755
--- a/run/scripts/run
+++ b/run/scripts/run
@@ -2,6 +2,13 @@
 
 export L3DVERSION='{{ version }}'
 
+if [[ "$L3D_CONFIG" != "[]" ]]; then
+  V=$(echo "$L3D_CONFIG" | yq eval .docker4drupal.php.version)
+  if [[ "$V" != "null" ]]; then
+    export PHP_VERSION=$V
+  fi
+fi
+
 COMMAND=start
 if [[ -n "$1" ]]; then
   if [[ -f "/usr/local/bin/$1" ]]; then
diff --git a/run/scripts/start b/run/scripts/start
index 1b383c5..07ceda5 100755
--- a/run/scripts/start
+++ b/run/scripts/start
@@ -129,6 +129,7 @@ function startContainer() {
       --env HOMEDIR=${HOMEDIR} \
       --env WORKDIR=${WORKDIR} \
       --env SSHAUTH=${SSHAUTH} \
+      --env PHP_VERSION=${PHP_VERSION} \
       ${COMPOSE_PROJECT_NAME}_l3d \
       /usr/local/bin/.start
     exitContainer
diff --git a/setup/scripts/l3d b/setup/scripts/l3d
index 5e8f6b5..c0df5c0 100755
--- a/setup/scripts/l3d
+++ b/setup/scripts/l3d
@@ -85,13 +85,9 @@ fi
 if [[ -f ".env" ]]; then
   export $(cat .env | xargs) > /dev/null 2>&1
 fi
+L3D_CONFIG=[]
 if [[ -f ".lakedrops.yml" ]]; then
-  V=$(yq eval .docker4drupal.php.version .lakedrops.yml)
-  if [[ "$V" != "null" ]]; then
-    PHP_VERSION=$V
-    echo "PHP_VERSION=${PHP_VERSION}" >>.env
-    env -i $(cat .env | xargs) >.env
-  fi
+  L3D_CONFIG=$(cat .lakedrops.yml)
 fi
 
 # Create project container parameters
@@ -103,6 +99,7 @@ project_params=(
   --env HOMEDIR=${HOME}
   --env L3DSHELL=${L3DSHELL}
   --env L3D_ALWAYS_CLEANUP=${L3D_ALWAYS_CLEANUP}
+  --env L3D_CONFIG=${L3D_CONFIG}
   --env WORKDIR=${PWD}
   --env SSHAUTH=${SSHAUTH}
   --env SSHAUTHSOCK=${SSHAUTHSOCK}
diff --git a/start.sh b/start.sh
index 64d08dc..133add0 100755
--- a/start.sh
+++ b/start.sh
@@ -214,14 +214,19 @@ function setupAhoy {
   fi
 }
 
+if [[ -n ${PHP_VERSION} ]]; then
+  echo "PHP_VERSION=${PHP_VERSION}" >>.env
+fi
 readEnv
 # Validate PHP version
 INSTALLED_PHP_VERSION=$(php -r "echo(substr(phpversion(),0,3));")
 if [[ "$INSTALLED_PHP_VERSION" != "$PHP_VERSION" ]]; then
-  echo -e "\\033[31m ============================================= \\033[0m"
+  echo -e "\\033[31m ===================================================== \\033[0m"
   echo -e "\\033[31m ERROR: PHP $INSTALLED_PHP_VERSION installed but $PHP_VERSION expected !!! \\033[0m"
-  echo -e "\\033[31m ============================================= \\033[0m"
+  echo -e "\\033[31m ===================================================== \\033[0m"
   if [[ "${COMPOSE_PROJECT_NAME}" != "." ]]; then
+    echo -e "\\033[31m Killed the outdated container, please start again !!! \\033[0m"
+    echo -e "\\033[31m ===================================================== \\033[0m"
     docker rm -f ${COMPOSE_PROJECT_NAME}_l3d
   fi
 fi
-- 
GitLab