From bc8cc61bdac0ab5e5adb7532d93b1b74a75266fb Mon Sep 17 00:00:00 2001
From: Athanasios Karmas <karmas@athenarc.gr>
Date: Tue, 21 Sep 2021 17:30:17 +0200
Subject: [PATCH] update to take the appropriate spack env environmental
 variables without having to list explicitly all the tools

---
 create_JupyterLab_kernel.sh | 23 +++++++++++++++++++----
 1 file changed, 19 insertions(+), 4 deletions(-)

diff --git a/create_JupyterLab_kernel.sh b/create_JupyterLab_kernel.sh
index 66a2e4da..4f097298 100644
--- a/create_JupyterLab_kernel.sh
+++ b/create_JupyterLab_kernel.sh
@@ -8,12 +8,24 @@ INSTALLATION_ROOT=$1
 SPACKIFIED_ENV=$2
 LAB_KERNEL_PATH=$3
 
-# load spack and spack repos
+# capture the empty env
+cd /opt/app-root/src
+env >> before.txt
+
+# load spack, spack repos and spack env
 cp -r /srv/$INSTALLATION_ROOT/spack/.spack ~
 source /srv/$INSTALLATION_ROOT/spack/share/spack/setup-env.sh
 spack repo add /srv/$INSTALLATION_ROOT/ebrains-spack-builds
+spack env activate $SPACKIFIED_ENV
+
+module use /srv/$INSTALLATION_ROOT/spack/share/spack/modules/linux-centos7-broadwell/
+source /srv/$INSTALLATION_ROOT/spack/var/spack/environments/$SPACKIFIED_ENV/loads
 
-# prepare the env file 
+# capture the env after spack activation
+cd /opt/app-root/src
+env >> after.txt
+
+# prepare the env file required for the JupyterLab kernel
 mkdir $LAB_KERNEL_PATH/bin
 cat <<EOF > $LAB_KERNEL_PATH/bin/env.sh
 #!/usr/bin/env bash
@@ -21,8 +33,11 @@ set -euxo pipefail
 EOF
 
 # load here all tools
-spack load --sh -r python@3.8.11 py-ipykernel py-pip py-numpy@1.21.0 py-scipy py-pandas py-seaborn py-matplotlib arbor nest@3.0 neuron py-pynn tvb-data tvb-library meta-brainscales %gcc@10.3.0 >> $LAB_KERNEL_PATH/bin/env.sh
-#spack env activate $SPACKIFIED_ENV --sh >> $LAB_KERNEL_PATH/bin/env.sh
+#spack load --sh -r python@3.8.11 py-ipykernel py-pip py-numpy@1.21.0 py-scipy py-pandas py-seaborn py-matplotlib arbor nest@3.0 neuron py-pynn tvb-data tvb-library meta-brainscales %gcc@10.3.0 >> $LAB_KERNEL_PATH/bin/env.sh
+
+# append the necessary env variables for spack env and tools
+cd /opt/app-root/src
+diff before.txt after.txt|grep ">"|cut -c 3- >> $LAB_KERNEL_PATH/bin/env.sh
 
 # end of env creation
 cat <<EOF >>$LAB_KERNEL_PATH/bin/env.sh
-- 
GitLab