From 33a4f8ef1c9f2c18f82186581322bb066777076d Mon Sep 17 00:00:00 2001
From: Lorenzo Pagliai <lorenzo.pagliai@seco.com>
Date: Thu, 30 Mar 2023 16:23:42 +0200
Subject: [PATCH] [CUSTOM] Add management of cache for custom projects

* Insert separate search for projects on which the CUSTOM variable is
defined
---
 manifest-pipeline-yocto.yml  |  2 +-
 scripts/yocto_cache_setup.sh | 40 +++++++++++++++++++++---------------
 2 files changed, 25 insertions(+), 17 deletions(-)

diff --git a/manifest-pipeline-yocto.yml b/manifest-pipeline-yocto.yml
index 93a9208..917d145 100644
--- a/manifest-pipeline-yocto.yml
+++ b/manifest-pipeline-yocto.yml
@@ -203,7 +203,7 @@ retrigger:
         sh .gitlab-ci/scripts/build_setup.sh $GITBOT_TOKEN $CI_REPOSITORY_URL $BUILD_BRANCH $DEFCONFIG_FILE $RECIPE_NAME
         . ./seco-setup.sh -d ${DEFCONFIG_FILE};
         . ./seco-setup.sh -c;
-        sh ../.gitlab-ci/scripts/yocto_cache_setup.sh $PROCESSOR
+        sh ../.gitlab-ci/scripts/yocto_cache_setup.sh $PROCESSOR $CUSTOM
         time bitbake ${RECIPE_NAME};
         if [[ "$CI_JOB_NAME" != *"embedded"* ]]; then time bitbake seco-bundle-edgehog; fi;
         "
diff --git a/scripts/yocto_cache_setup.sh b/scripts/yocto_cache_setup.sh
index 89084c3..f284915 100644
--- a/scripts/yocto_cache_setup.sh
+++ b/scripts/yocto_cache_setup.sh
@@ -1,24 +1,32 @@
 #!/bin/bash
 PROCESSOR=$1
+CUSTOM=$2
 
 sed -i -e '/DL_DIR ?=/d' conf/local.conf;
 echo 'DL_DIR = "/var/cache/edgehog_downloads"' >> conf/local.conf;
-if [[ $PROCESSOR == *imx6* && "$CI_JOB_NAME" != *"embedded"* ]]; 
-  then echo 'SSTATE_DIR = "/var/cache/edgehog_sstate-imx6"' >> conf/local.conf;
-elif [[ $PROCESSOR == *imx8* && "$CI_JOB_NAME" != *"embedded"* ]];
-  then echo 'SSTATE_DIR = "/var/cache/edgehog_sstate-imx8"' >> conf/local.conf;
-elif [[ $PROCESSOR == *rk* && "$CI_JOB_NAME" != *"embedded"* ]];
-  then echo 'SSTATE_DIR = "/var/cache/edgehog_sstate-rk"' >> conf/local.conf;
-elif [[ $PROCESSOR == *intel* && "$CI_JOB_NAME" != *"embedded"* ]];
-  then echo 'SSTATE_DIR = "/var/cache/edgehog_sstate-intel"' >> conf/local.conf;
-elif [[ $PROCESSOR == *imx6* && "$CI_JOB_NAME" == *"embedded"* ]]; 
-  then echo 'SSTATE_DIR = "/var/cache/edgehog_sstate-imx6-embedded"' >> conf/local.conf;
-elif [[ $PROCESSOR == *imx8* && "$CI_JOB_NAME" == *"embedded"* ]];
-  then echo 'SSTATE_DIR = "/var/cache/edgehog_sstate-imx8-embedded"' >> conf/local.conf;
-elif [[ $PROCESSOR == *rk* && "$CI_JOB_NAME" == *"embedded"* ]];
-  then echo 'SSTATE_DIR = "/var/cache/edgehog_sstate-rk-embedded"' >> conf/local.conf;
-elif [[ $PROCESSOR == *intel* && "$CI_JOB_NAME" == *"embedded"* ]];
-  then echo 'SSTATE_DIR = "/var/cache/edgehog_sstate-intel-embedded"' >> conf/local.conf;
+if [ -z "$CUSTOM" ]; then 
+  if [[ $PROCESSOR == *imx6* && "$CI_JOB_NAME" != *"embedded"* ]]; 
+    then echo 'SSTATE_DIR = "/var/cache/edgehog_sstate-imx6"' >> conf/local.conf;
+  elif [[ $PROCESSOR == *imx8* && "$CI_JOB_NAME" != *"embedded"* ]];
+    then echo 'SSTATE_DIR = "/var/cache/edgehog_sstate-imx8"' >> conf/local.conf;
+  elif [[ $PROCESSOR == *rk* && "$CI_JOB_NAME" != *"embedded"* ]];
+    then echo 'SSTATE_DIR = "/var/cache/edgehog_sstate-rk"' >> conf/local.conf;
+  elif [[ $PROCESSOR == *intel* && "$CI_JOB_NAME" != *"embedded"* ]];
+    then echo 'SSTATE_DIR = "/var/cache/edgehog_sstate-intel"' >> conf/local.conf;
+  elif [[ $PROCESSOR == *imx6* && "$CI_JOB_NAME" == *"embedded"* ]]; 
+    then echo 'SSTATE_DIR = "/var/cache/edgehog_sstate-imx6-embedded"' >> conf/local.conf;
+  elif [[ $PROCESSOR == *imx8* && "$CI_JOB_NAME" == *"embedded"* ]];
+    then echo 'SSTATE_DIR = "/var/cache/edgehog_sstate-imx8-embedded"' >> conf/local.conf;
+  elif [[ $PROCESSOR == *rk* && "$CI_JOB_NAME" == *"embedded"* ]];
+    then echo 'SSTATE_DIR = "/var/cache/edgehog_sstate-rk-embedded"' >> conf/local.conf;
+  elif [[ $PROCESSOR == *intel* && "$CI_JOB_NAME" == *"embedded"* ]];
+    then echo 'SSTATE_DIR = "/var/cache/edgehog_sstate-intel-embedded"' >> conf/local.conf;
+  fi
+else
+  if [[ "$CI_JOB_NAME" != *"embedded"* ]];
+    echo 'SSTATE_DIR = "/var/cache/edgehog_sstate-${CUSTOM}-things"' >> conf/local.conf;
+  else 
+    echo 'SSTATE_DIR = "/var/cache/edgehog_sstate-${CUSTOM}-embedded"' >> conf/local.conf;
 fi
 
 echo '###############################'
-- 
GitLab