From 8a6cd1329fc6f547f771d465e992d3341cf07584 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Fri, 1 Nov 2024 11:26:52 +0100 Subject: [PATCH 01/77] Add EESSI_DEV_PROJET to prefix --- init/minimal_eessi_env | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/init/minimal_eessi_env b/init/minimal_eessi_env index 5e513c3c9f..0f9d3c0223 100644 --- a/init/minimal_eessi_env +++ b/init/minimal_eessi_env @@ -8,7 +8,14 @@ EESSI_INIT_DIR_PATH=$(dirname $(readlink -f $BASH_SOURCE)) # script takes *_OVERRIDEs into account source ${EESSI_INIT_DIR_PATH}/eessi_defaults -export EESSI_PREFIX=$EESSI_CVMFS_REPO/versions/$EESSI_VERSION +# If $EESSI_DEV_PROJECT is defined, then we are building for dev.eessi.io +# and add a subdirectory to $EESSI_PREFIX +if [ ! -z ${EESSI_DEV_PROJECT} ]; then + export EESSI_PREFIX=$EESSI_CVMFS_REPO/versions/$EESSI_VERSION/ +else + export EESSI_PREFIX=$EESSI_CVMFS_REPO/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/ +fi + if [[ $(uname -s) == 'Linux' ]]; then export EESSI_OS_TYPE='linux' From 0e9402bb33f39dd520bf85c99a04a887a18b7904 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Fri, 1 Nov 2024 16:57:09 +0100 Subject: [PATCH 02/77] Print EESSI_CVMFS_REPO to debug --- EESSI-install-software.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 65c43d5ac5..8c88ef0ff0 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -225,6 +225,7 @@ fi # for now, this just reinstalls all scripts. Note the most elegant, but works # Only run install_scripts.sh if not dev.eessi.io for security +echo "EESSI_CVMFS_REPO: '${EESSI_CVMFS_REPO}'" if [[ "${EESSI_CVMFS_REPO}" != /cvmfs/dev.eessi.io ]]; then ${TOPDIR}/install_scripts.sh --prefix ${EESSI_PREFIX} fi From 888b8740ce229f2f03110812781f238f6199b6e7 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Mon, 4 Nov 2024 11:27:20 +0100 Subject: [PATCH 03/77] Check if running in subshell is the cause of some variables being reset --- EESSI-install-software.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 8c88ef0ff0..1c6c3a0be8 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -131,13 +131,13 @@ if [ -z $EESSI_SOFTWARE_SUBDIR_OVERRIDE ]; then else echo ">> Picking up pre-defined \$EESSI_SOFTWARE_SUBDIR_OVERRIDE: ${EESSI_SOFTWARE_SUBDIR_OVERRIDE}" # Run in a subshell, so that minimal_eessi_env doesn't change the shell environment for the rest of this script - ( + # Make sure EESSI_PREFIX and EESSI_OS_TYPE are set source $TOPDIR/init/minimal_eessi_env # make sure directory exists (since it's expected by init/eessi_environment_variables when using archdetect) mkdir -p ${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} - ) + fi echo ">> Setting up environment..." From 1af43f180b6341291bbd4e1ea43b16a07f9773dc Mon Sep 17 00:00:00 2001 From: Neves-P Date: Mon, 4 Nov 2024 16:47:42 +0100 Subject: [PATCH 04/77] Revert to run minimal_eessi_env in subshell and add log line --- EESSI-install-software.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 1c6c3a0be8..f8245a71aa 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -131,13 +131,14 @@ if [ -z $EESSI_SOFTWARE_SUBDIR_OVERRIDE ]; then else echo ">> Picking up pre-defined \$EESSI_SOFTWARE_SUBDIR_OVERRIDE: ${EESSI_SOFTWARE_SUBDIR_OVERRIDE}" # Run in a subshell, so that minimal_eessi_env doesn't change the shell environment for the rest of this script - + ( # Make sure EESSI_PREFIX and EESSI_OS_TYPE are set source $TOPDIR/init/minimal_eessi_env - + + echo ">> Creating directory for software subdirectory override: ${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE}" # make sure directory exists (since it's expected by init/eessi_environment_variables when using archdetect) mkdir -p ${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} - + ) fi echo ">> Setting up environment..." From 25e8a5fb7f01180ffdf564727cd25a6d187a6c00 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Mon, 4 Nov 2024 16:48:08 +0100 Subject: [PATCH 05/77] Fix condition to build with subdir in prefix in dev.eessi.io --- init/minimal_eessi_env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/init/minimal_eessi_env b/init/minimal_eessi_env index 0f9d3c0223..ced2a6c694 100644 --- a/init/minimal_eessi_env +++ b/init/minimal_eessi_env @@ -10,7 +10,7 @@ source ${EESSI_INIT_DIR_PATH}/eessi_defaults # If $EESSI_DEV_PROJECT is defined, then we are building for dev.eessi.io # and add a subdirectory to $EESSI_PREFIX -if [ ! -z ${EESSI_DEV_PROJECT} ]; then +if [ -z ${EESSI_DEV_PROJECT} ]; then export EESSI_PREFIX=$EESSI_CVMFS_REPO/versions/$EESSI_VERSION/ else export EESSI_PREFIX=$EESSI_CVMFS_REPO/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/ From 3e5e2af65f1c47179cd0010e3430100bff248357 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Mon, 4 Nov 2024 17:31:40 +0100 Subject: [PATCH 06/77] Add some logs to see where EESSI_CVMFS_REPO is being ovewritten --- EESSI-install-software.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index f8245a71aa..25f0383787 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -134,7 +134,7 @@ else ( # Make sure EESSI_PREFIX and EESSI_OS_TYPE are set source $TOPDIR/init/minimal_eessi_env - + echo ">> Creating directory for software subdirectory override: ${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE}" # make sure directory exists (since it's expected by init/eessi_environment_variables when using archdetect) mkdir -p ${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} @@ -226,7 +226,7 @@ fi # for now, this just reinstalls all scripts. Note the most elegant, but works # Only run install_scripts.sh if not dev.eessi.io for security -echo "EESSI_CVMFS_REPO: '${EESSI_CVMFS_REPO}'" +echo "EESSI_CVMFS_REPO_post: '${EESSI_CVMFS_REPO}'" if [[ "${EESSI_CVMFS_REPO}" != /cvmfs/dev.eessi.io ]]; then ${TOPDIR}/install_scripts.sh --prefix ${EESSI_PREFIX} fi @@ -266,6 +266,7 @@ fi echo ">> Configuring EasyBuild..." +echo "EESSI_CVMFS_REPO_pre: '${EESSI_CVMFS_REPO}'" # Make sure that we use the EESSI_CVMFS_INSTALL # Since the path is set when loading EESSI-extend, we reload it to make sure it works - even if it is already loaded From 722ca22d52cdd3fe02fb6c5a559c32e2d0bfdb22 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Tue, 5 Nov 2024 10:01:17 +0100 Subject: [PATCH 07/77] Add more log output for EESSI_DEV_PROJECT variable --- EESSI-install-software.sh | 4 ++-- init/minimal_eessi_env | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 25f0383787..9524ef7f77 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -226,7 +226,7 @@ fi # for now, this just reinstalls all scripts. Note the most elegant, but works # Only run install_scripts.sh if not dev.eessi.io for security -echo "EESSI_CVMFS_REPO_post: '${EESSI_CVMFS_REPO}'" +echo "EESSI_CVMFS_REPO_pre: '${EESSI_CVMFS_REPO}'" if [[ "${EESSI_CVMFS_REPO}" != /cvmfs/dev.eessi.io ]]; then ${TOPDIR}/install_scripts.sh --prefix ${EESSI_PREFIX} fi @@ -266,7 +266,7 @@ fi echo ">> Configuring EasyBuild..." -echo "EESSI_CVMFS_REPO_pre: '${EESSI_CVMFS_REPO}'" +echo "EESSI_CVMFS_REPO_post: '${EESSI_CVMFS_REPO}'" # Make sure that we use the EESSI_CVMFS_INSTALL # Since the path is set when loading EESSI-extend, we reload it to make sure it works - even if it is already loaded diff --git a/init/minimal_eessi_env b/init/minimal_eessi_env index ced2a6c694..5bcc48c818 100644 --- a/init/minimal_eessi_env +++ b/init/minimal_eessi_env @@ -10,6 +10,7 @@ source ${EESSI_INIT_DIR_PATH}/eessi_defaults # If $EESSI_DEV_PROJECT is defined, then we are building for dev.eessi.io # and add a subdirectory to $EESSI_PREFIX +echo "EESSI_DEV_PROJECT: ${EESSI_DEV_PROJECT}" if [ -z ${EESSI_DEV_PROJECT} ]; then export EESSI_PREFIX=$EESSI_CVMFS_REPO/versions/$EESSI_VERSION/ else From 1c3f20a1c9cf5f9ca3e943f3b14de9f5937a63d0 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Tue, 5 Nov 2024 10:15:00 +0100 Subject: [PATCH 08/77] export EESSI_DEV_PROJECT to compat layer env --- run_in_compat_layer_env.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/run_in_compat_layer_env.sh b/run_in_compat_layer_env.sh index b4299c7a0d..e9a49cbe3d 100755 --- a/run_in_compat_layer_env.sh +++ b/run_in_compat_layer_env.sh @@ -35,6 +35,9 @@ fi if [ ! -z ${EESSI_CVMFS_REPO_OVERRIDE} ]; then INPUT="export EESSI_CVMFS_REPO_OVERRIDE=${EESSI_CVMFS_REPO_OVERRIDE}; ${INPUT}" fi +if [ ! -z ${EESSI_DEV_PROJECT} ]; then + INPUT="export EESSI_DEV_PROJECT=${EESSI_DEV_PROJECT}; ${INPUT}" +fi if [ ! -z ${EESSI_VERSION_OVERRIDE} ]; then INPUT="export EESSI_VERSION_OVERRIDE=${EESSI_VERSION_OVERRIDE}; ${INPUT}" fi From 7c9dee85842243076d6376026571d7f6c7d978e8 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Tue, 5 Nov 2024 10:54:38 +0100 Subject: [PATCH 09/77] Expose cvmfs and version override in eessi_defaults --- init/eessi_defaults | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/init/eessi_defaults b/init/eessi_defaults index 654a829425..bdc8cc4871 100644 --- a/init/eessi_defaults +++ b/init/eessi_defaults @@ -19,8 +19,12 @@ if [[ $(uname -m) == "riscv64" ]]; then echo "" fi else + echo "eessi_defaults cvmfs override ${EESSI_CVMFS_REPO_OVERRIDE}" + echo "eessi_defaults version override ${EESSI_VERSION_OVERRIDE}" export EESSI_CVMFS_REPO="${EESSI_CVMFS_REPO_OVERRIDE:=/cvmfs/software.eessi.io}" export EESSI_VERSION="${EESSI_VERSION_OVERRIDE:=2023.06}" + echo "eessi_defaults cvmfs override post ${EESSI_CVMFS_REPO_OVERRIDE}" + echo "eessi_defaults version override post${EESSI_VERSION_OVERRIDE}" fi # use archdetect by default, unless otherwise specified export EESSI_USE_ARCHDETECT="${EESSI_USE_ARCHDETECT:=1}" From d5d152223e2a1b6fe221cdd1ea04f1f26579d427 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Tue, 5 Nov 2024 10:55:56 +0100 Subject: [PATCH 10/77] Also expose EESSI_CVMFS_REPO in defaults --- init/eessi_defaults | 1 + 1 file changed, 1 insertion(+) diff --git a/init/eessi_defaults b/init/eessi_defaults index bdc8cc4871..fcb0f42317 100644 --- a/init/eessi_defaults +++ b/init/eessi_defaults @@ -25,6 +25,7 @@ else export EESSI_VERSION="${EESSI_VERSION_OVERRIDE:=2023.06}" echo "eessi_defaults cvmfs override post ${EESSI_CVMFS_REPO_OVERRIDE}" echo "eessi_defaults version override post${EESSI_VERSION_OVERRIDE}" + echo "eessi_defaults cvmfs repo post ${EESSI_CVMFS_REPO}" fi # use archdetect by default, unless otherwise specified export EESSI_USE_ARCHDETECT="${EESSI_USE_ARCHDETECT:=1}" From fb45d7e8cc1b7233c31953d6cc182b9a26994f9d Mon Sep 17 00:00:00 2001 From: Neves-P Date: Tue, 5 Nov 2024 12:02:09 +0100 Subject: [PATCH 11/77] Try exporting EESSI_CVMFS_INSTALL --- init/minimal_eessi_env | 2 ++ 1 file changed, 2 insertions(+) diff --git a/init/minimal_eessi_env b/init/minimal_eessi_env index 5bcc48c818..9861d1e3c9 100644 --- a/init/minimal_eessi_env +++ b/init/minimal_eessi_env @@ -15,6 +15,8 @@ if [ -z ${EESSI_DEV_PROJECT} ]; then export EESSI_PREFIX=$EESSI_CVMFS_REPO/versions/$EESSI_VERSION/ else export EESSI_PREFIX=$EESSI_CVMFS_REPO/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/ + # Set EESSI_PREFIX to the dev project path for EESSI-extend + export EESSI_CVMFS_INSTALL=$EESSI_PREFIX fi From a1f11feab78fbc10a556937695d9970ca68066e9 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Tue, 5 Nov 2024 12:43:50 +0100 Subject: [PATCH 12/77] Overwrite EASYBUILD_INSTALLPATH and use EESSI_CVMFS_REPO_OVERRIDE in minimal_eessi_env --- EESSI-install-software.sh | 7 +++++-- init/minimal_eessi_env | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 9524ef7f77..b93315336a 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -207,6 +207,7 @@ export PYTHONPYCACHEPREFIX=$TMPDIR/pycache # - .lmod/lmodrc.lua # - .lmod/SitePackage.lua _eessi_software_path=${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} +echo "_eessi_software_path: ${_eessi_software_path}" _lmod_cfg_dir=${_eessi_software_path}/.lmod _lmod_rc_file=${_lmod_cfg_dir}/lmodrc.lua if [ ! -f ${_lmod_rc_file} ]; then @@ -297,10 +298,12 @@ fi # If in dev.eessi.io, allow building on top of software.eessi.io if [[ "${EESSI_CVMFS_REPO}" == /cvmfs/dev.eessi.io ]]; then module use /cvmfs/software.eessi.io/versions/$EESSI_VERSION/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE}/modules/all + # Overwrite EASYBUILD_INSTALLPATH to point to dev.eessi.io + EASYBUILD_INSTALLPATH=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/ +else + module use $EASYBUILD_INSTALLPATH/modules/all fi -module use $EASYBUILD_INSTALLPATH/modules/all - if [[ -z ${MODULEPATH} ]]; then fatal_error "Failed to set up \$MODULEPATH?!" else diff --git a/init/minimal_eessi_env b/init/minimal_eessi_env index 9861d1e3c9..abfda6d15a 100644 --- a/init/minimal_eessi_env +++ b/init/minimal_eessi_env @@ -14,7 +14,7 @@ echo "EESSI_DEV_PROJECT: ${EESSI_DEV_PROJECT}" if [ -z ${EESSI_DEV_PROJECT} ]; then export EESSI_PREFIX=$EESSI_CVMFS_REPO/versions/$EESSI_VERSION/ else - export EESSI_PREFIX=$EESSI_CVMFS_REPO/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/ + export EESSI_PREFIX=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/ # Set EESSI_PREFIX to the dev project path for EESSI-extend export EESSI_CVMFS_INSTALL=$EESSI_PREFIX fi From dd9fccd78f318bbfbed57bb65fd19bcaf896491b Mon Sep 17 00:00:00 2001 From: Neves-P Date: Tue, 5 Nov 2024 12:54:46 +0100 Subject: [PATCH 13/77] Load $EASYBUILD_INSTALLPATH modules in dev.eessi.io --- EESSI-install-software.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index b93315336a..2ee28c966a 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -300,7 +300,7 @@ if [[ "${EESSI_CVMFS_REPO}" == /cvmfs/dev.eessi.io ]]; then module use /cvmfs/software.eessi.io/versions/$EESSI_VERSION/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE}/modules/all # Overwrite EASYBUILD_INSTALLPATH to point to dev.eessi.io EASYBUILD_INSTALLPATH=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/ -else + echo "\$EASYBUILD_INSTALLPATH overwritten to ${EASYBUILD_INSTALLPATH}" module use $EASYBUILD_INSTALLPATH/modules/all fi From 821455bc8f25c0b0fcab8c40b89c7cd83ef29ee9 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Tue, 5 Nov 2024 14:09:57 +0100 Subject: [PATCH 14/77] Use EESSI_DEV_PROJECT for check instead of EESSI_CVMFS_REPO in EASYBUILD_INSTALLPATH override --- EESSI-install-software.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 2ee28c966a..326be7061c 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -296,7 +296,7 @@ if [ ! -z ${EESSI_ACCELERATOR_TARGET} ]; then fi # If in dev.eessi.io, allow building on top of software.eessi.io -if [[ "${EESSI_CVMFS_REPO}" == /cvmfs/dev.eessi.io ]]; then +if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then module use /cvmfs/software.eessi.io/versions/$EESSI_VERSION/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE}/modules/all # Overwrite EASYBUILD_INSTALLPATH to point to dev.eessi.io EASYBUILD_INSTALLPATH=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/ From a19c79cb91fac5a567218580c677434c22f0b8a4 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Wed, 6 Nov 2024 17:10:29 +0100 Subject: [PATCH 15/77] Fix running install_scripts.sh only if not in dev.eessi.io --- EESSI-install-software.sh | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 326be7061c..e85a8fb7bd 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -226,9 +226,8 @@ fi # order is important: these are needed to install a full CUDA SDK in host_injections # for now, this just reinstalls all scripts. Note the most elegant, but works -# Only run install_scripts.sh if not dev.eessi.io for security -echo "EESSI_CVMFS_REPO_pre: '${EESSI_CVMFS_REPO}'" -if [[ "${EESSI_CVMFS_REPO}" != /cvmfs/dev.eessi.io ]]; then +# Only run install_scripts.sh if not in dev.eessi.io for security +if [[ -z ${EESSI_DEV_PROJECT} ]]; then ${TOPDIR}/install_scripts.sh --prefix ${EESSI_PREFIX} fi @@ -267,7 +266,6 @@ fi echo ">> Configuring EasyBuild..." -echo "EESSI_CVMFS_REPO_post: '${EESSI_CVMFS_REPO}'" # Make sure that we use the EESSI_CVMFS_INSTALL # Since the path is set when loading EESSI-extend, we reload it to make sure it works - even if it is already loaded @@ -300,7 +298,7 @@ if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then module use /cvmfs/software.eessi.io/versions/$EESSI_VERSION/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE}/modules/all # Overwrite EASYBUILD_INSTALLPATH to point to dev.eessi.io EASYBUILD_INSTALLPATH=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/ - echo "\$EASYBUILD_INSTALLPATH overwritten to ${EASYBUILD_INSTALLPATH}" + echo ">> \$EASYBUILD_INSTALLPATH overwritten to ${EASYBUILD_INSTALLPATH}" module use $EASYBUILD_INSTALLPATH/modules/all fi From afaa94fe9eb21497f2d2b18716b3122995d9867d Mon Sep 17 00:00:00 2001 From: Neves-P Date: Wed, 6 Nov 2024 17:10:47 +0100 Subject: [PATCH 16/77] Remove debug printing to log --- init/eessi_defaults | 5 ----- 1 file changed, 5 deletions(-) diff --git a/init/eessi_defaults b/init/eessi_defaults index fcb0f42317..654a829425 100644 --- a/init/eessi_defaults +++ b/init/eessi_defaults @@ -19,13 +19,8 @@ if [[ $(uname -m) == "riscv64" ]]; then echo "" fi else - echo "eessi_defaults cvmfs override ${EESSI_CVMFS_REPO_OVERRIDE}" - echo "eessi_defaults version override ${EESSI_VERSION_OVERRIDE}" export EESSI_CVMFS_REPO="${EESSI_CVMFS_REPO_OVERRIDE:=/cvmfs/software.eessi.io}" export EESSI_VERSION="${EESSI_VERSION_OVERRIDE:=2023.06}" - echo "eessi_defaults cvmfs override post ${EESSI_CVMFS_REPO_OVERRIDE}" - echo "eessi_defaults version override post${EESSI_VERSION_OVERRIDE}" - echo "eessi_defaults cvmfs repo post ${EESSI_CVMFS_REPO}" fi # use archdetect by default, unless otherwise specified export EESSI_USE_ARCHDETECT="${EESSI_USE_ARCHDETECT:=1}" From 2c3e74e61ea38aa1c5624e5444b3f2508aec4b7f Mon Sep 17 00:00:00 2001 From: Neves-P Date: Wed, 6 Nov 2024 17:15:44 +0100 Subject: [PATCH 17/77] Improved logging when $EESSI_DEV_PROJECT is set --- init/minimal_eessi_env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/init/minimal_eessi_env b/init/minimal_eessi_env index abfda6d15a..6b57fc0079 100644 --- a/init/minimal_eessi_env +++ b/init/minimal_eessi_env @@ -10,10 +10,10 @@ source ${EESSI_INIT_DIR_PATH}/eessi_defaults # If $EESSI_DEV_PROJECT is defined, then we are building for dev.eessi.io # and add a subdirectory to $EESSI_PREFIX -echo "EESSI_DEV_PROJECT: ${EESSI_DEV_PROJECT}" if [ -z ${EESSI_DEV_PROJECT} ]; then export EESSI_PREFIX=$EESSI_CVMFS_REPO/versions/$EESSI_VERSION/ else + echo "\$EESSI_DEV_PROJECT: ${EESSI_DEV_PROJECT}; building for dev.eessi.io" export EESSI_PREFIX=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/ # Set EESSI_PREFIX to the dev project path for EESSI-extend export EESSI_CVMFS_INSTALL=$EESSI_PREFIX From 3d9424d3ac8b2e88ed41714a2cec013006e35319 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Fri, 8 Nov 2024 13:34:26 +0100 Subject: [PATCH 18/77] Fix tarball creations in dev.eessi.io --- create_tarball.sh | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/create_tarball.sh b/create_tarball.sh index 01f498e1ac..fc0674d9bc 100755 --- a/create_tarball.sh +++ b/create_tarball.sh @@ -20,6 +20,16 @@ echo ">> tmpdir: $tmpdir" os="linux" source ${base_dir}/init/eessi_defaults cvmfs_repo=${EESSI_CVMFS_REPO} +eessi_dev_project=${EESSI_DEV_PROJECT} + +# install to $eessi_version/$eessi_dev_project if defined, otherwise install +# to $eessi_version +echo "Setting $install_prefix_dir to: ${install_prefix_dir}" + +if [ ! -d ${install_prefix_dir} ]; then + echo "Install prefix directory ${install_prefix_dir} does not exist?!" >&2 + exit 2 +fi software_dir="${cvmfs_repo}/versions/${eessi_version}/software/${os}/${cpu_arch_subdir}" if [ ! -d ${software_dir} ]; then @@ -62,18 +72,18 @@ fi # consider both CPU-only and accelerator subdirectories for subdir in ${cpu_arch_subdir} ${cpu_arch_subdir}/accel/${accel_subdir}; do - if [ -d ${eessi_version}/software/${os}/${subdir}/modules ]; then + if [ -d ${install_prefix_dir}/software/${os}/${subdir}/modules ]; then # module files - find ${eessi_version}/software/${os}/${subdir}/modules -type f | grep -v '/\.wh\.' >> ${files_list} || true # Make sure we don't exit because of set -e if grep doesn't return a match + find ${install_prefix_dir}/software/${os}/${subdir}/modules -type f | grep -v '/\.wh\.' >> ${files_list} || true # Make sure we don't exit because of set -e if grep doesn't return a match # module symlinks - find ${eessi_version}/software/${os}/${subdir}/modules -type l | grep -v '/\.wh\.' >> ${files_list} || true # Make sure we don't exit because of set -e if grep doesn't return a match + find ${install_prefix_dir}/software/${os}/${subdir}/modules -type l | grep -v '/\.wh\.' >> ${files_list} || true # Make sure we don't exit because of set -e if grep doesn't return a match # module files and symlinks - find ${eessi_version}/software/${os}/${subdir}/modules/all -type f -o -type l \ + find ${install_prefix_dir}/software/${os}/${subdir}/modules/all -type f -o -type l \ | grep -v '/\.wh\.' | grep -v '/\.modulerc\.lua' | sed -e 's/.lua$//' | sed -e 's@.*/modules/all/@@g' | sort -u \ >> ${module_files_list} fi - if [ -d ${eessi_version}/software/${os}/${subdir}/software -a -r ${module_files_list} ]; then + if [ -d ${install_prefix_dir}/software/${os}/${subdir}/software -a -r ${module_files_list} ]; then # installation directories but only those for which module files were created # Note, we assume that module names (as defined by 'PACKAGE_NAME/VERSION.lua' # using EasyBuild's standard module naming scheme) match the name of the From 028f935f32c9bc7eb3a84f987c50159beaceab0d Mon Sep 17 00:00:00 2001 From: Neves-P Date: Fri, 8 Nov 2024 14:16:24 +0100 Subject: [PATCH 19/77] Actually set install_prefix_dir --- create_tarball.sh | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/create_tarball.sh b/create_tarball.sh index fc0674d9bc..ee70baaca1 100755 --- a/create_tarball.sh +++ b/create_tarball.sh @@ -4,15 +4,16 @@ set -e base_dir=$(dirname $(realpath $0)) -if [ $# -ne 5 ]; then - echo "ERROR: Usage: $0 " >&2 +if [ $# -ne 6 ]; then + echo "ERROR: Usage: $0 (example: ESPREsSo)" >&2 exit 1 fi eessi_tmpdir=$1 eessi_version=$2 cpu_arch_subdir=$3 accel_subdir=$4 -target_tgz=$5 +eessi_dev_project=$5 +target_tgz=$6 tmpdir=`mktemp -d` echo ">> tmpdir: $tmpdir" @@ -20,11 +21,11 @@ echo ">> tmpdir: $tmpdir" os="linux" source ${base_dir}/init/eessi_defaults cvmfs_repo=${EESSI_CVMFS_REPO} -eessi_dev_project=${EESSI_DEV_PROJECT} # install to $eessi_version/$eessi_dev_project if defined, otherwise install # to $eessi_version -echo "Setting $install_prefix_dir to: ${install_prefix_dir}" +install_prefix_dir=${eessi_version}${eessi_dev_project:+/$eessi_dev_project}/ +echo "Setting Install prefix directory to: ${install_prefix_dir}" if [ ! -d ${install_prefix_dir} ]; then echo "Install prefix directory ${install_prefix_dir} does not exist?!" >&2 From 4f0686406092130d2f0f4cb1c6585808bfe3de28 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Fri, 8 Nov 2024 14:58:49 +0100 Subject: [PATCH 20/77] Log EESSI_DEV_PROJECT and export it --- bot/build.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/bot/build.sh b/bot/build.sh index 3fd343e96f..6f08d14013 100755 --- a/bot/build.sh +++ b/bot/build.sh @@ -283,6 +283,10 @@ timestamp=$(date +%s) source $software_layer_dir/init/eessi_defaults export TGZ=$(printf "eessi-%s-software-%s-%s-%d.tar.gz" ${EESSI_VERSION} ${EESSI_OS_TYPE} ${EESSI_SOFTWARE_SUBDIR_OVERRIDE//\//-} ${timestamp}) +# Export EESSI_DEV_PROJECT to use it (if needed) when making tarball +echo "bot/build.sh: EESSI_DEV_PROJECT='${EESSI_DEV_PROJECT}'" +export EESSI_DEV_PROJECT=${EESSI_DEV_PROJECT} + # value of first parameter to create_tarball.sh - TMP_IN_CONTAINER - needs to be # synchronised with setting of TMP_IN_CONTAINER in eessi_container.sh # TODO should we make this a configurable parameter of eessi_container.sh using @@ -290,8 +294,8 @@ export TGZ=$(printf "eessi-%s-software-%s-%s-%d.tar.gz" ${EESSI_VERSION} ${EESSI TMP_IN_CONTAINER=/tmp echo "Executing command to create tarball:" echo "$software_layer_dir/eessi_container.sh ${COMMON_ARGS[@]} ${TARBALL_STEP_ARGS[@]}" -echo " -- $software_layer_dir/create_tarball.sh ${TMP_IN_CONTAINER} ${EESSI_VERSION} ${EESSI_SOFTWARE_SUBDIR_OVERRIDE} \"${EESSI_ACCELERATOR_TARGET}\" /eessi_bot_job/${TGZ} 2>&1 | tee -a ${tar_outerr}" +echo " -- $software_layer_dir/create_tarball.sh ${TMP_IN_CONTAINER} ${EESSI_VERSION} ${EESSI_SOFTWARE_SUBDIR_OVERRIDE} \"${EESSI_ACCELERATOR_TARGET}\" \"${EESSI_DEV_PROJECT}\" /eessi_bot_job/${TGZ} 2>&1 | tee -a ${tar_outerr}" $software_layer_dir/eessi_container.sh "${COMMON_ARGS[@]}" "${TARBALL_STEP_ARGS[@]}" \ - -- $software_layer_dir/create_tarball.sh ${TMP_IN_CONTAINER} ${EESSI_VERSION} ${EESSI_SOFTWARE_SUBDIR_OVERRIDE} "${EESSI_ACCELERATOR_TARGET}" /eessi_bot_job/${TGZ} 2>&1 | tee -a ${tar_outerr} + -- $software_layer_dir/create_tarball.sh ${TMP_IN_CONTAINER} ${EESSI_VERSION} ${EESSI_SOFTWARE_SUBDIR_OVERRIDE} "${EESSI_ACCELERATOR_TARGET}" "${EESSI_DEV_PROJECT}" /eessi_bot_job/${TGZ} 2>&1 | tee -a ${tar_outerr} exit 0 From 9eca5e4ad6d0f329235b8a3dfa50b58fc4a42ec6 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Fri, 8 Nov 2024 16:19:14 +0100 Subject: [PATCH 21/77] Fix test checking for ${install_prefix_dir} --- create_tarball.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/create_tarball.sh b/create_tarball.sh index ee70baaca1..a9861b465f 100755 --- a/create_tarball.sh +++ b/create_tarball.sh @@ -27,8 +27,8 @@ cvmfs_repo=${EESSI_CVMFS_REPO} install_prefix_dir=${eessi_version}${eessi_dev_project:+/$eessi_dev_project}/ echo "Setting Install prefix directory to: ${install_prefix_dir}" -if [ ! -d ${install_prefix_dir} ]; then - echo "Install prefix directory ${install_prefix_dir} does not exist?!" >&2 +if [ -z ${install_prefix_dir} ]; then + echo "\${install_prefix_dir} is empty?!" >&2 exit 2 fi From 0e68f1823c0caec3de33ec3f87928acf057559f3 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Sun, 10 Nov 2024 19:44:09 +0100 Subject: [PATCH 22/77] Look for installed software in the right directory --- create_tarball.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/create_tarball.sh b/create_tarball.sh index a9861b465f..1f6f40d0c6 100755 --- a/create_tarball.sh +++ b/create_tarball.sh @@ -93,7 +93,7 @@ for subdir in ${cpu_arch_subdir} ${cpu_arch_subdir}/accel/${accel_subdir}; do # installation directories), the procedure will likely not work. for package_version in $(cat ${module_files_list}); do echo "handling ${package_version}" - ls -d ${eessi_version}/software/${os}/${subdir}/software/${package_version} \ + ls -d ${install_prefix_dir}/software/${os}/${subdir}/software/${package_version} \ | grep -v '/\.wh\.' >> ${files_list} || true # Make sure we don't exit because of set -e if grep doesn't return a match done fi From 82d36c756a6e92271b3e068252334a1f561ad46f Mon Sep 17 00:00:00 2001 From: Neves-P Date: Tue, 19 Nov 2024 10:23:06 +0100 Subject: [PATCH 23/77] Fix error reporting of input in create_tarball.sh --- create_tarball.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/create_tarball.sh b/create_tarball.sh index 1f6f40d0c6..eea92305ed 100755 --- a/create_tarball.sh +++ b/create_tarball.sh @@ -5,7 +5,7 @@ set -e base_dir=$(dirname $(realpath $0)) if [ $# -ne 6 ]; then - echo "ERROR: Usage: $0 (example: ESPREsSo)" >&2 + echo "ERROR: Usage: $0 (example: ESPREsSo) " >&2 exit 1 fi eessi_tmpdir=$1 From 3248438f4f3969b499bcfdb193009fb25ba9cd9a Mon Sep 17 00:00:00 2001 From: Neves-P Date: Tue, 19 Nov 2024 10:46:57 +0100 Subject: [PATCH 24/77] Fix installpath to include cpu target --- EESSI-install-software.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index e85a8fb7bd..fdfd1aded4 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -297,7 +297,7 @@ fi if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then module use /cvmfs/software.eessi.io/versions/$EESSI_VERSION/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE}/modules/all # Overwrite EASYBUILD_INSTALLPATH to point to dev.eessi.io - EASYBUILD_INSTALLPATH=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/ + EASYBUILD_INSTALLPATH=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} echo ">> \$EASYBUILD_INSTALLPATH overwritten to ${EASYBUILD_INSTALLPATH}" module use $EASYBUILD_INSTALLPATH/modules/all fi From 4db10830c0365008ea29260b3829c109eb9c40bb Mon Sep 17 00:00:00 2001 From: Neves-P Date: Fri, 29 Nov 2024 14:49:14 +0100 Subject: [PATCH 25/77] Track EASYBUILD_EXPERIMENTAL set --- EESSI-install-software.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 7484c5b479..17fe2933d6 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -253,6 +253,8 @@ export EESSI_CVMFS_INSTALL=1 # EESSI-extend module itself needs to be installed. export EASYBUILD_INSTALLPATH=${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} source load_eessi_extend_module.sh ${EESSI_VERSION} +echo ">> Loaded load_eessi_extend_module.sh ${EESSI_VERSION}" +echo ">> \$EASYBUILD_EXPERIMENTAL: ${EASYBUILD_EXPERIMENTAL}" # Install full CUDA SDK and cu* libraries in host_injections # Hardcode this for now, see if it works From 720d6e95481667672697832ea33154abbcda4355 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Fri, 29 Nov 2024 14:49:23 +0100 Subject: [PATCH 26/77] Fix typo in path --- create_tarball.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/create_tarball.sh b/create_tarball.sh index eea92305ed..0966a09b3e 100755 --- a/create_tarball.sh +++ b/create_tarball.sh @@ -24,7 +24,7 @@ cvmfs_repo=${EESSI_CVMFS_REPO} # install to $eessi_version/$eessi_dev_project if defined, otherwise install # to $eessi_version -install_prefix_dir=${eessi_version}${eessi_dev_project:+/$eessi_dev_project}/ +install_prefix_dir=${eessi_version}${eessi_dev_project:+/$eessi_dev_project} echo "Setting Install prefix directory to: ${install_prefix_dir}" if [ -z ${install_prefix_dir} ]; then From e126f78075c1b621da431b7e7e13688be24f3390 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Fri, 29 Nov 2024 15:06:34 +0100 Subject: [PATCH 27/77] Use $TOPDIR to load_eessi_extend_module.sh --- EESSI-install-software.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 17fe2933d6..88e999c68b 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -252,9 +252,7 @@ export EESSI_CVMFS_INSTALL=1 # NOTE 3, we have to set a default for EASYBUILD_INSTALLPATH here in cases the # EESSI-extend module itself needs to be installed. export EASYBUILD_INSTALLPATH=${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} -source load_eessi_extend_module.sh ${EESSI_VERSION} -echo ">> Loaded load_eessi_extend_module.sh ${EESSI_VERSION}" -echo ">> \$EASYBUILD_EXPERIMENTAL: ${EASYBUILD_EXPERIMENTAL}" +source $TOPDIR/load_eessi_extend_module.sh ${EESSI_VERSION} # Install full CUDA SDK and cu* libraries in host_injections # Hardcode this for now, see if it works From 5a7012caf071d271210e3cf11f221cb297d043c6 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Fri, 29 Nov 2024 15:51:06 +0100 Subject: [PATCH 28/77] Handle custom prefix in dev.eessi.io --- bot/check-build.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/bot/check-build.sh b/bot/check-build.sh index 41aeab258e..faa2ff1e05 100755 --- a/bot/check-build.sh +++ b/bot/check-build.sh @@ -480,6 +480,12 @@ if [[ ! -z ${TARBALL} ]]; then accelerator=$(cfg_get_value "architecture" "accelerator") prefix="${repo_version}/software/${os_type}/${software_subdir}" + # if building for dev.eessi.io is set, the prefix is different + # it needs the project name in the path + if [ ! -z ${EESSI_DEV_PROJECT} ]; then + prefix="${repo_version}/${EESSI_DEV_PROJECT}/software/${os_type}/${software_subdir}" + fi + # if we build for an accelerator, the prefix is different if [[ ! -z ${accelerator} ]]; then prefix="${prefix}/accel/${accelerator}" From 8dd50b098c3cd39f0558d61d87fa7608e5fd050e Mon Sep 17 00:00:00 2001 From: Neves-P Date: Fri, 29 Nov 2024 21:49:20 +0100 Subject: [PATCH 29/77] create_tarball handles software_dir with eessi_dev_project --- create_tarball.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/create_tarball.sh b/create_tarball.sh index 0966a09b3e..0b6819e81a 100755 --- a/create_tarball.sh +++ b/create_tarball.sh @@ -32,7 +32,8 @@ if [ -z ${install_prefix_dir} ]; then exit 2 fi -software_dir="${cvmfs_repo}/versions/${eessi_version}/software/${os}/${cpu_arch_subdir}" +# software_dir includes $eessi_dev_project if defined, otherwise install omit +software_dir="${cvmfs_repo}/versions/${eessi_version}${eessi_dev_project:+/$eessi_dev_project}/software/${os}/${cpu_arch_subdir}" if [ ! -d ${software_dir} ]; then echo "Software directory ${software_dir} does not exist?!" >&2 exit 2 From 1bec91730d08145dd8fccd7a3e95cb3882e9bb9c Mon Sep 17 00:00:00 2001 From: Pedro Santos Neves <10762799+Neves-P@users.noreply.github.com> Date: Fri, 17 Jan 2025 17:00:59 +0100 Subject: [PATCH 30/77] Fix merge conflict --- EESSI-install-software.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 88e999c68b..922303a390 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -135,9 +135,9 @@ else # Make sure EESSI_PREFIX and EESSI_OS_TYPE are set source $TOPDIR/init/minimal_eessi_env - echo ">> Creating directory for software subdirectory override: ${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE}" - # make sure directory exists (since it's expected by init/eessi_environment_variables when using archdetect) - mkdir -p ${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} + # make sure the the software and modules directory exist + # (since it's expected by init/eessi_environment_variables when using archdetect and by the EESSI module) + mkdir -p ${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE}/{modules,software} ) fi From 5b477370302d861a3678324e5038ea1b7876411b Mon Sep 17 00:00:00 2001 From: Neves-P Date: Mon, 27 Jan 2025 17:36:13 +0100 Subject: [PATCH 31/77] Remove trailing `/` --- init/minimal_eessi_env | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/init/minimal_eessi_env b/init/minimal_eessi_env index 6b57fc0079..5150d49259 100644 --- a/init/minimal_eessi_env +++ b/init/minimal_eessi_env @@ -11,10 +11,10 @@ source ${EESSI_INIT_DIR_PATH}/eessi_defaults # If $EESSI_DEV_PROJECT is defined, then we are building for dev.eessi.io # and add a subdirectory to $EESSI_PREFIX if [ -z ${EESSI_DEV_PROJECT} ]; then - export EESSI_PREFIX=$EESSI_CVMFS_REPO/versions/$EESSI_VERSION/ + export EESSI_PREFIX=$EESSI_CVMFS_REPO/versions/$EESSI_VERSION else echo "\$EESSI_DEV_PROJECT: ${EESSI_DEV_PROJECT}; building for dev.eessi.io" - export EESSI_PREFIX=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/ + export EESSI_PREFIX=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT # Set EESSI_PREFIX to the dev project path for EESSI-extend export EESSI_CVMFS_INSTALL=$EESSI_PREFIX fi From 1ecd93b0433539de137047d777ddff3e61c0fd0a Mon Sep 17 00:00:00 2001 From: Neves-P Date: Fri, 31 Jan 2025 17:04:21 +0100 Subject: [PATCH 32/77] Set EESSI_DEV_PROJECT via EESSI-extend's EESSI_PROJECT_INSTALL --- EESSI-install-software.sh | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 0b45ad018d..2d8152ece9 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -252,6 +252,11 @@ export EESSI_CVMFS_INSTALL=1 # NOTE 3, we have to set a default for EASYBUILD_INSTALLPATH here in cases the # EESSI-extend module itself needs to be installed. export EASYBUILD_INSTALLPATH=${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} +# If $EESSI_DEV_PROJECT is set, we use EESSI-extend to install to +# /cvmfs/dev.eessi.io/ +if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then + $EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} +fi source $TOPDIR/load_eessi_extend_module.sh ${EESSI_VERSION} # Install full CUDA SDK and cu* libraries in host_injections @@ -293,15 +298,6 @@ if [ ! -z ${EESSI_ACCELERATOR_TARGET} ]; then fi fi -# If in dev.eessi.io, allow building on top of software.eessi.io -if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then - module use /cvmfs/software.eessi.io/versions/$EESSI_VERSION/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE}/modules/all - # Overwrite EASYBUILD_INSTALLPATH to point to dev.eessi.io - EASYBUILD_INSTALLPATH=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} - echo ">> \$EASYBUILD_INSTALLPATH overwritten to ${EASYBUILD_INSTALLPATH}" - module use $EASYBUILD_INSTALLPATH/modules/all -fi - if [[ -z ${MODULEPATH} ]]; then fatal_error "Failed to set up \$MODULEPATH?!" else From a4d61d6205592580ae0a27cd9dbbeb7c7fd406ad Mon Sep 17 00:00:00 2001 From: Neves-P Date: Fri, 31 Jan 2025 17:28:07 +0100 Subject: [PATCH 33/77] Add some debugging infop --- EESSI-install-software.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 2d8152ece9..289df57eb3 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -255,7 +255,10 @@ export EASYBUILD_INSTALLPATH=${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_S # If $EESSI_DEV_PROJECT is set, we use EESSI-extend to install to # /cvmfs/dev.eessi.io/ if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then +echo "EESSI_DEV_PROJECT is set to ${EESSI_DEV_PROJECT}, setting EESSI_PROJECT_INSTALL" $EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} + echo "EESSI_PROJECT_INSTALL set to ${EESSI_PROJECT_INSTALL}" + fi source $TOPDIR/load_eessi_extend_module.sh ${EESSI_VERSION} From 35bd8a18daae52d62910f59614f3f2751add5cf1 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Fri, 31 Jan 2025 17:54:07 +0100 Subject: [PATCH 34/77] Fix syntax error --- EESSI-install-software.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 289df57eb3..67b09f2bb1 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -256,10 +256,10 @@ export EASYBUILD_INSTALLPATH=${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_S # /cvmfs/dev.eessi.io/ if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then echo "EESSI_DEV_PROJECT is set to ${EESSI_DEV_PROJECT}, setting EESSI_PROJECT_INSTALL" - $EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} + export EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} echo "EESSI_PROJECT_INSTALL set to ${EESSI_PROJECT_INSTALL}" - fi + source $TOPDIR/load_eessi_extend_module.sh ${EESSI_VERSION} # Install full CUDA SDK and cu* libraries in host_injections From 72ba311687fc30dbefcd1d60d749eb11792c4290 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Fri, 31 Jan 2025 18:03:18 +0100 Subject: [PATCH 35/77] Unset EESSI_CVMFS_INSTALL on dev.eessi.io builds --- EESSI-install-software.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 67b09f2bb1..854677cfbb 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -255,7 +255,9 @@ export EASYBUILD_INSTALLPATH=${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_S # If $EESSI_DEV_PROJECT is set, we use EESSI-extend to install to # /cvmfs/dev.eessi.io/ if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then -echo "EESSI_DEV_PROJECT is set to ${EESSI_DEV_PROJECT}, setting EESSI_PROJECT_INSTALL" + echo "EESSI_DEV_PROJECT is set to ${EESSI_DEV_PROJECT}, setting EESSI_PROJECT_INSTALL" + echo "Unsetting EESSI_CVMFS_INSTALL" + unset EESSI_CVMFS_INSTALL export EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} echo "EESSI_PROJECT_INSTALL set to ${EESSI_PROJECT_INSTALL}" fi From b3399f2464a90e675b41cd00dbab3a770c51afff Mon Sep 17 00:00:00 2001 From: Neves-P Date: Sat, 1 Feb 2025 16:19:00 +0100 Subject: [PATCH 36/77] Shorten EESSI_PROJECT_INSTALL path --- EESSI-install-software.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 854677cfbb..9f10f48c10 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -258,7 +258,7 @@ if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then echo "EESSI_DEV_PROJECT is set to ${EESSI_DEV_PROJECT}, setting EESSI_PROJECT_INSTALL" echo "Unsetting EESSI_CVMFS_INSTALL" unset EESSI_CVMFS_INSTALL - export EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} + export EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT echo "EESSI_PROJECT_INSTALL set to ${EESSI_PROJECT_INSTALL}" fi From 9f0b2dffd101dcadc8e5f39651e68ce958f0b7ed Mon Sep 17 00:00:00 2001 From: Neves-P Date: Sat, 1 Feb 2025 16:40:58 +0100 Subject: [PATCH 37/77] Remove more redundant parts of path --- EESSI-install-software.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 9f10f48c10..e6869959e1 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -258,7 +258,7 @@ if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then echo "EESSI_DEV_PROJECT is set to ${EESSI_DEV_PROJECT}, setting EESSI_PROJECT_INSTALL" echo "Unsetting EESSI_CVMFS_INSTALL" unset EESSI_CVMFS_INSTALL - export EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT + export EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/$EESSI_DEV_PROJECT echo "EESSI_PROJECT_INSTALL set to ${EESSI_PROJECT_INSTALL}" fi From 3fc95e1ee3ce49f19d63fa3fbfad1064bc38866e Mon Sep 17 00:00:00 2001 From: Neves-P Date: Sat, 1 Feb 2025 17:45:47 +0100 Subject: [PATCH 38/77] Restore right part of path --- EESSI-install-software.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index e6869959e1..c165679b2c 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -258,7 +258,7 @@ if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then echo "EESSI_DEV_PROJECT is set to ${EESSI_DEV_PROJECT}, setting EESSI_PROJECT_INSTALL" echo "Unsetting EESSI_CVMFS_INSTALL" unset EESSI_CVMFS_INSTALL - export EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/$EESSI_DEV_PROJECT + export EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION echo "EESSI_PROJECT_INSTALL set to ${EESSI_PROJECT_INSTALL}" fi From 28c6b7ee0a85471064aac2ca3e9313975c6d5de1 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Sat, 1 Feb 2025 18:54:24 +0100 Subject: [PATCH 39/77] Use EESSI_SITE_INSTALL instead --- EESSI-install-software.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index c165679b2c..102e95699a 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -255,11 +255,11 @@ export EASYBUILD_INSTALLPATH=${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_S # If $EESSI_DEV_PROJECT is set, we use EESSI-extend to install to # /cvmfs/dev.eessi.io/ if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then - echo "EESSI_DEV_PROJECT is set to ${EESSI_DEV_PROJECT}, setting EESSI_PROJECT_INSTALL" + echo "EESSI_DEV_PROJECT is set to ${EESSI_DEV_PROJECT}, setting EESSI_SITE_INSTALL" echo "Unsetting EESSI_CVMFS_INSTALL" unset EESSI_CVMFS_INSTALL - export EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION - echo "EESSI_PROJECT_INSTALL set to ${EESSI_PROJECT_INSTALL}" + export EESSI_SITE_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT + echo "EESSI_SITE_INSTALL set to ${EESSI_SITE_INSTALL}" fi source $TOPDIR/load_eessi_extend_module.sh ${EESSI_VERSION} From 39d67ebca0c3f7c9d71fd73fa4a5530ea3c1d432 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Sun, 2 Feb 2025 17:07:05 +0100 Subject: [PATCH 40/77] Try EESSI_PROJECT_INSTALL without minimal_eessi_env override --- EESSI-install-software.sh | 6 +++--- init/minimal_eessi_env | 12 +----------- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 102e95699a..9f10f48c10 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -255,11 +255,11 @@ export EASYBUILD_INSTALLPATH=${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_S # If $EESSI_DEV_PROJECT is set, we use EESSI-extend to install to # /cvmfs/dev.eessi.io/ if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then - echo "EESSI_DEV_PROJECT is set to ${EESSI_DEV_PROJECT}, setting EESSI_SITE_INSTALL" + echo "EESSI_DEV_PROJECT is set to ${EESSI_DEV_PROJECT}, setting EESSI_PROJECT_INSTALL" echo "Unsetting EESSI_CVMFS_INSTALL" unset EESSI_CVMFS_INSTALL - export EESSI_SITE_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT - echo "EESSI_SITE_INSTALL set to ${EESSI_SITE_INSTALL}" + export EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT + echo "EESSI_PROJECT_INSTALL set to ${EESSI_PROJECT_INSTALL}" fi source $TOPDIR/load_eessi_extend_module.sh ${EESSI_VERSION} diff --git a/init/minimal_eessi_env b/init/minimal_eessi_env index 5150d49259..5e513c3c9f 100644 --- a/init/minimal_eessi_env +++ b/init/minimal_eessi_env @@ -8,17 +8,7 @@ EESSI_INIT_DIR_PATH=$(dirname $(readlink -f $BASH_SOURCE)) # script takes *_OVERRIDEs into account source ${EESSI_INIT_DIR_PATH}/eessi_defaults -# If $EESSI_DEV_PROJECT is defined, then we are building for dev.eessi.io -# and add a subdirectory to $EESSI_PREFIX -if [ -z ${EESSI_DEV_PROJECT} ]; then - export EESSI_PREFIX=$EESSI_CVMFS_REPO/versions/$EESSI_VERSION -else - echo "\$EESSI_DEV_PROJECT: ${EESSI_DEV_PROJECT}; building for dev.eessi.io" - export EESSI_PREFIX=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT - # Set EESSI_PREFIX to the dev project path for EESSI-extend - export EESSI_CVMFS_INSTALL=$EESSI_PREFIX -fi - +export EESSI_PREFIX=$EESSI_CVMFS_REPO/versions/$EESSI_VERSION if [[ $(uname -s) == 'Linux' ]]; then export EESSI_OS_TYPE='linux' From a37ae0b34aa8cf7a1cb185d83eecdc8d8dd93d98 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Sun, 2 Feb 2025 18:59:35 +0100 Subject: [PATCH 41/77] Set EESSI_PROJECT_INSTALL in minimal_eessi_env --- init/minimal_eessi_env | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/init/minimal_eessi_env b/init/minimal_eessi_env index 5e513c3c9f..954243cd57 100644 --- a/init/minimal_eessi_env +++ b/init/minimal_eessi_env @@ -8,7 +8,17 @@ EESSI_INIT_DIR_PATH=$(dirname $(readlink -f $BASH_SOURCE)) # script takes *_OVERRIDEs into account source ${EESSI_INIT_DIR_PATH}/eessi_defaults -export EESSI_PREFIX=$EESSI_CVMFS_REPO/versions/$EESSI_VERSION +# If $EESSI_DEV_PROJECT is defined, then we are building for dev.eessi.io +# and add a subdirectory to $EESSI_PREFIX +if [ -z ${EESSI_DEV_PROJECT} ]; then + export EESSI_PREFIX=$EESSI_CVMFS_REPO/versions/$EESSI_VERSION +else + echo "\$EESSI_DEV_PROJECT: ${EESSI_DEV_PROJECT}; building for dev.eessi.io" + export EESSI_PREFIX=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT + # Set EESSI_PREFIX to the dev project path for EESSI-extend + export EESSI_PROJECT_INSTALL=$EESSI_PREFIX +fi + if [[ $(uname -s) == 'Linux' ]]; then export EESSI_OS_TYPE='linux' From 2145b935cba62ba2a5291799a09106814f1ad65e Mon Sep 17 00:00:00 2001 From: Neves-P Date: Sun, 2 Feb 2025 19:28:18 +0100 Subject: [PATCH 42/77] Try full path --- EESSI-install-software.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 9f10f48c10..854677cfbb 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -258,7 +258,7 @@ if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then echo "EESSI_DEV_PROJECT is set to ${EESSI_DEV_PROJECT}, setting EESSI_PROJECT_INSTALL" echo "Unsetting EESSI_CVMFS_INSTALL" unset EESSI_CVMFS_INSTALL - export EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT + export EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} echo "EESSI_PROJECT_INSTALL set to ${EESSI_PROJECT_INSTALL}" fi From 145427fa6f5e46b52292608053e16f3703388b0b Mon Sep 17 00:00:00 2001 From: Neves-P Date: Sun, 2 Feb 2025 19:42:32 +0100 Subject: [PATCH 43/77] Revert "Try full path" This reverts commit 2145b935cba62ba2a5291799a09106814f1ad65e. --- EESSI-install-software.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 854677cfbb..9f10f48c10 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -258,7 +258,7 @@ if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then echo "EESSI_DEV_PROJECT is set to ${EESSI_DEV_PROJECT}, setting EESSI_PROJECT_INSTALL" echo "Unsetting EESSI_CVMFS_INSTALL" unset EESSI_CVMFS_INSTALL - export EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} + export EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT echo "EESSI_PROJECT_INSTALL set to ${EESSI_PROJECT_INSTALL}" fi From 751aa891af85d00bd82d1ecd06b9fdbbe3aff63f Mon Sep 17 00:00:00 2001 From: Neves-P Date: Sun, 2 Feb 2025 19:42:45 +0100 Subject: [PATCH 44/77] Revert "Set EESSI_PROJECT_INSTALL in minimal_eessi_env" This reverts commit a37ae0b34aa8cf7a1cb185d83eecdc8d8dd93d98. --- init/minimal_eessi_env | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/init/minimal_eessi_env b/init/minimal_eessi_env index 954243cd57..5e513c3c9f 100644 --- a/init/minimal_eessi_env +++ b/init/minimal_eessi_env @@ -8,17 +8,7 @@ EESSI_INIT_DIR_PATH=$(dirname $(readlink -f $BASH_SOURCE)) # script takes *_OVERRIDEs into account source ${EESSI_INIT_DIR_PATH}/eessi_defaults -# If $EESSI_DEV_PROJECT is defined, then we are building for dev.eessi.io -# and add a subdirectory to $EESSI_PREFIX -if [ -z ${EESSI_DEV_PROJECT} ]; then - export EESSI_PREFIX=$EESSI_CVMFS_REPO/versions/$EESSI_VERSION -else - echo "\$EESSI_DEV_PROJECT: ${EESSI_DEV_PROJECT}; building for dev.eessi.io" - export EESSI_PREFIX=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT - # Set EESSI_PREFIX to the dev project path for EESSI-extend - export EESSI_PROJECT_INSTALL=$EESSI_PREFIX -fi - +export EESSI_PREFIX=$EESSI_CVMFS_REPO/versions/$EESSI_VERSION if [[ $(uname -s) == 'Linux' ]]; then export EESSI_OS_TYPE='linux' From 5759cd521f54876821d9648c76e4156db809d800 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Sun, 2 Feb 2025 19:42:48 +0100 Subject: [PATCH 45/77] Revert "Try EESSI_PROJECT_INSTALL without minimal_eessi_env override" This reverts commit 39d67ebca0c3f7c9d71fd73fa4a5530ea3c1d432. --- EESSI-install-software.sh | 6 +++--- init/minimal_eessi_env | 12 +++++++++++- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 9f10f48c10..102e95699a 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -255,11 +255,11 @@ export EASYBUILD_INSTALLPATH=${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_S # If $EESSI_DEV_PROJECT is set, we use EESSI-extend to install to # /cvmfs/dev.eessi.io/ if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then - echo "EESSI_DEV_PROJECT is set to ${EESSI_DEV_PROJECT}, setting EESSI_PROJECT_INSTALL" + echo "EESSI_DEV_PROJECT is set to ${EESSI_DEV_PROJECT}, setting EESSI_SITE_INSTALL" echo "Unsetting EESSI_CVMFS_INSTALL" unset EESSI_CVMFS_INSTALL - export EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT - echo "EESSI_PROJECT_INSTALL set to ${EESSI_PROJECT_INSTALL}" + export EESSI_SITE_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT + echo "EESSI_SITE_INSTALL set to ${EESSI_SITE_INSTALL}" fi source $TOPDIR/load_eessi_extend_module.sh ${EESSI_VERSION} diff --git a/init/minimal_eessi_env b/init/minimal_eessi_env index 5e513c3c9f..5150d49259 100644 --- a/init/minimal_eessi_env +++ b/init/minimal_eessi_env @@ -8,7 +8,17 @@ EESSI_INIT_DIR_PATH=$(dirname $(readlink -f $BASH_SOURCE)) # script takes *_OVERRIDEs into account source ${EESSI_INIT_DIR_PATH}/eessi_defaults -export EESSI_PREFIX=$EESSI_CVMFS_REPO/versions/$EESSI_VERSION +# If $EESSI_DEV_PROJECT is defined, then we are building for dev.eessi.io +# and add a subdirectory to $EESSI_PREFIX +if [ -z ${EESSI_DEV_PROJECT} ]; then + export EESSI_PREFIX=$EESSI_CVMFS_REPO/versions/$EESSI_VERSION +else + echo "\$EESSI_DEV_PROJECT: ${EESSI_DEV_PROJECT}; building for dev.eessi.io" + export EESSI_PREFIX=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT + # Set EESSI_PREFIX to the dev project path for EESSI-extend + export EESSI_CVMFS_INSTALL=$EESSI_PREFIX +fi + if [[ $(uname -s) == 'Linux' ]]; then export EESSI_OS_TYPE='linux' From cc240d13913960f507c2f92d351663da4ad0b4ab Mon Sep 17 00:00:00 2001 From: Neves-P Date: Sun, 2 Feb 2025 19:42:49 +0100 Subject: [PATCH 46/77] Revert "Use EESSI_SITE_INSTALL instead" This reverts commit 28c6b7ee0a85471064aac2ca3e9313975c6d5de1. --- EESSI-install-software.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 102e95699a..c165679b2c 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -255,11 +255,11 @@ export EASYBUILD_INSTALLPATH=${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_S # If $EESSI_DEV_PROJECT is set, we use EESSI-extend to install to # /cvmfs/dev.eessi.io/ if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then - echo "EESSI_DEV_PROJECT is set to ${EESSI_DEV_PROJECT}, setting EESSI_SITE_INSTALL" + echo "EESSI_DEV_PROJECT is set to ${EESSI_DEV_PROJECT}, setting EESSI_PROJECT_INSTALL" echo "Unsetting EESSI_CVMFS_INSTALL" unset EESSI_CVMFS_INSTALL - export EESSI_SITE_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT - echo "EESSI_SITE_INSTALL set to ${EESSI_SITE_INSTALL}" + export EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION + echo "EESSI_PROJECT_INSTALL set to ${EESSI_PROJECT_INSTALL}" fi source $TOPDIR/load_eessi_extend_module.sh ${EESSI_VERSION} From 2769b6cd113ecf3468341601e4dc7f9cda76dcc3 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Sun, 2 Feb 2025 20:38:17 +0100 Subject: [PATCH 47/77] Reapply "Use EESSI_SITE_INSTALL instead" This reverts commit cc240d13913960f507c2f92d351663da4ad0b4ab. --- EESSI-install-software.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index c165679b2c..102e95699a 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -255,11 +255,11 @@ export EASYBUILD_INSTALLPATH=${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_S # If $EESSI_DEV_PROJECT is set, we use EESSI-extend to install to # /cvmfs/dev.eessi.io/ if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then - echo "EESSI_DEV_PROJECT is set to ${EESSI_DEV_PROJECT}, setting EESSI_PROJECT_INSTALL" + echo "EESSI_DEV_PROJECT is set to ${EESSI_DEV_PROJECT}, setting EESSI_SITE_INSTALL" echo "Unsetting EESSI_CVMFS_INSTALL" unset EESSI_CVMFS_INSTALL - export EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION - echo "EESSI_PROJECT_INSTALL set to ${EESSI_PROJECT_INSTALL}" + export EESSI_SITE_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT + echo "EESSI_SITE_INSTALL set to ${EESSI_SITE_INSTALL}" fi source $TOPDIR/load_eessi_extend_module.sh ${EESSI_VERSION} From 1fead90cd4979fceb36c90ab842b0e1cd9e1cc0f Mon Sep 17 00:00:00 2001 From: Neves-P Date: Sun, 2 Feb 2025 20:38:19 +0100 Subject: [PATCH 48/77] Reapply "Try EESSI_PROJECT_INSTALL without minimal_eessi_env override" This reverts commit 5759cd521f54876821d9648c76e4156db809d800. --- EESSI-install-software.sh | 6 +++--- init/minimal_eessi_env | 12 +----------- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 102e95699a..9f10f48c10 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -255,11 +255,11 @@ export EASYBUILD_INSTALLPATH=${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_S # If $EESSI_DEV_PROJECT is set, we use EESSI-extend to install to # /cvmfs/dev.eessi.io/ if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then - echo "EESSI_DEV_PROJECT is set to ${EESSI_DEV_PROJECT}, setting EESSI_SITE_INSTALL" + echo "EESSI_DEV_PROJECT is set to ${EESSI_DEV_PROJECT}, setting EESSI_PROJECT_INSTALL" echo "Unsetting EESSI_CVMFS_INSTALL" unset EESSI_CVMFS_INSTALL - export EESSI_SITE_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT - echo "EESSI_SITE_INSTALL set to ${EESSI_SITE_INSTALL}" + export EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT + echo "EESSI_PROJECT_INSTALL set to ${EESSI_PROJECT_INSTALL}" fi source $TOPDIR/load_eessi_extend_module.sh ${EESSI_VERSION} diff --git a/init/minimal_eessi_env b/init/minimal_eessi_env index 5150d49259..5e513c3c9f 100644 --- a/init/minimal_eessi_env +++ b/init/minimal_eessi_env @@ -8,17 +8,7 @@ EESSI_INIT_DIR_PATH=$(dirname $(readlink -f $BASH_SOURCE)) # script takes *_OVERRIDEs into account source ${EESSI_INIT_DIR_PATH}/eessi_defaults -# If $EESSI_DEV_PROJECT is defined, then we are building for dev.eessi.io -# and add a subdirectory to $EESSI_PREFIX -if [ -z ${EESSI_DEV_PROJECT} ]; then - export EESSI_PREFIX=$EESSI_CVMFS_REPO/versions/$EESSI_VERSION -else - echo "\$EESSI_DEV_PROJECT: ${EESSI_DEV_PROJECT}; building for dev.eessi.io" - export EESSI_PREFIX=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT - # Set EESSI_PREFIX to the dev project path for EESSI-extend - export EESSI_CVMFS_INSTALL=$EESSI_PREFIX -fi - +export EESSI_PREFIX=$EESSI_CVMFS_REPO/versions/$EESSI_VERSION if [[ $(uname -s) == 'Linux' ]]; then export EESSI_OS_TYPE='linux' From 13b2190c5c43c18bf00cdf2675b0f3b17a894ea8 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Sun, 2 Feb 2025 20:38:20 +0100 Subject: [PATCH 49/77] Reapply "Set EESSI_PROJECT_INSTALL in minimal_eessi_env" This reverts commit 751aa891af85d00bd82d1ecd06b9fdbbe3aff63f. --- init/minimal_eessi_env | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/init/minimal_eessi_env b/init/minimal_eessi_env index 5e513c3c9f..954243cd57 100644 --- a/init/minimal_eessi_env +++ b/init/minimal_eessi_env @@ -8,7 +8,17 @@ EESSI_INIT_DIR_PATH=$(dirname $(readlink -f $BASH_SOURCE)) # script takes *_OVERRIDEs into account source ${EESSI_INIT_DIR_PATH}/eessi_defaults -export EESSI_PREFIX=$EESSI_CVMFS_REPO/versions/$EESSI_VERSION +# If $EESSI_DEV_PROJECT is defined, then we are building for dev.eessi.io +# and add a subdirectory to $EESSI_PREFIX +if [ -z ${EESSI_DEV_PROJECT} ]; then + export EESSI_PREFIX=$EESSI_CVMFS_REPO/versions/$EESSI_VERSION +else + echo "\$EESSI_DEV_PROJECT: ${EESSI_DEV_PROJECT}; building for dev.eessi.io" + export EESSI_PREFIX=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT + # Set EESSI_PREFIX to the dev project path for EESSI-extend + export EESSI_PROJECT_INSTALL=$EESSI_PREFIX +fi + if [[ $(uname -s) == 'Linux' ]]; then export EESSI_OS_TYPE='linux' From 8b4b02232d74204f287c85b7c14b8862e4f14b7b Mon Sep 17 00:00:00 2001 From: Neves-P Date: Sun, 2 Feb 2025 20:38:20 +0100 Subject: [PATCH 50/77] Reapply "Try full path" This reverts commit 145427fa6f5e46b52292608053e16f3703388b0b. --- EESSI-install-software.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 9f10f48c10..854677cfbb 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -258,7 +258,7 @@ if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then echo "EESSI_DEV_PROJECT is set to ${EESSI_DEV_PROJECT}, setting EESSI_PROJECT_INSTALL" echo "Unsetting EESSI_CVMFS_INSTALL" unset EESSI_CVMFS_INSTALL - export EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT + export EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} echo "EESSI_PROJECT_INSTALL set to ${EESSI_PROJECT_INSTALL}" fi From 33a9d64bac41010b6703d288e397fa30e5c373c5 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Sun, 2 Feb 2025 20:38:20 +0100 Subject: [PATCH 51/77] Revert "Try full path" This reverts commit 2145b935cba62ba2a5291799a09106814f1ad65e. --- EESSI-install-software.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 854677cfbb..9f10f48c10 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -258,7 +258,7 @@ if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then echo "EESSI_DEV_PROJECT is set to ${EESSI_DEV_PROJECT}, setting EESSI_PROJECT_INSTALL" echo "Unsetting EESSI_CVMFS_INSTALL" unset EESSI_CVMFS_INSTALL - export EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} + export EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT echo "EESSI_PROJECT_INSTALL set to ${EESSI_PROJECT_INSTALL}" fi From 228fe3b94c45ef8ad4e7f7b021d8a433f076f83f Mon Sep 17 00:00:00 2001 From: Neves-P Date: Sun, 2 Feb 2025 20:38:20 +0100 Subject: [PATCH 52/77] Revert "Set EESSI_PROJECT_INSTALL in minimal_eessi_env" This reverts commit a37ae0b34aa8cf7a1cb185d83eecdc8d8dd93d98. --- init/minimal_eessi_env | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/init/minimal_eessi_env b/init/minimal_eessi_env index 954243cd57..5e513c3c9f 100644 --- a/init/minimal_eessi_env +++ b/init/minimal_eessi_env @@ -8,17 +8,7 @@ EESSI_INIT_DIR_PATH=$(dirname $(readlink -f $BASH_SOURCE)) # script takes *_OVERRIDEs into account source ${EESSI_INIT_DIR_PATH}/eessi_defaults -# If $EESSI_DEV_PROJECT is defined, then we are building for dev.eessi.io -# and add a subdirectory to $EESSI_PREFIX -if [ -z ${EESSI_DEV_PROJECT} ]; then - export EESSI_PREFIX=$EESSI_CVMFS_REPO/versions/$EESSI_VERSION -else - echo "\$EESSI_DEV_PROJECT: ${EESSI_DEV_PROJECT}; building for dev.eessi.io" - export EESSI_PREFIX=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT - # Set EESSI_PREFIX to the dev project path for EESSI-extend - export EESSI_PROJECT_INSTALL=$EESSI_PREFIX -fi - +export EESSI_PREFIX=$EESSI_CVMFS_REPO/versions/$EESSI_VERSION if [[ $(uname -s) == 'Linux' ]]; then export EESSI_OS_TYPE='linux' From 72395ea8c421da2265ea7b460e54f852b45c37ff Mon Sep 17 00:00:00 2001 From: Neves-P Date: Sun, 2 Feb 2025 20:38:20 +0100 Subject: [PATCH 53/77] Revert "Try EESSI_PROJECT_INSTALL without minimal_eessi_env override" This reverts commit 39d67ebca0c3f7c9d71fd73fa4a5530ea3c1d432. --- EESSI-install-software.sh | 6 +++--- init/minimal_eessi_env | 12 +++++++++++- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 9f10f48c10..102e95699a 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -255,11 +255,11 @@ export EASYBUILD_INSTALLPATH=${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_S # If $EESSI_DEV_PROJECT is set, we use EESSI-extend to install to # /cvmfs/dev.eessi.io/ if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then - echo "EESSI_DEV_PROJECT is set to ${EESSI_DEV_PROJECT}, setting EESSI_PROJECT_INSTALL" + echo "EESSI_DEV_PROJECT is set to ${EESSI_DEV_PROJECT}, setting EESSI_SITE_INSTALL" echo "Unsetting EESSI_CVMFS_INSTALL" unset EESSI_CVMFS_INSTALL - export EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT - echo "EESSI_PROJECT_INSTALL set to ${EESSI_PROJECT_INSTALL}" + export EESSI_SITE_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT + echo "EESSI_SITE_INSTALL set to ${EESSI_SITE_INSTALL}" fi source $TOPDIR/load_eessi_extend_module.sh ${EESSI_VERSION} diff --git a/init/minimal_eessi_env b/init/minimal_eessi_env index 5e513c3c9f..5150d49259 100644 --- a/init/minimal_eessi_env +++ b/init/minimal_eessi_env @@ -8,7 +8,17 @@ EESSI_INIT_DIR_PATH=$(dirname $(readlink -f $BASH_SOURCE)) # script takes *_OVERRIDEs into account source ${EESSI_INIT_DIR_PATH}/eessi_defaults -export EESSI_PREFIX=$EESSI_CVMFS_REPO/versions/$EESSI_VERSION +# If $EESSI_DEV_PROJECT is defined, then we are building for dev.eessi.io +# and add a subdirectory to $EESSI_PREFIX +if [ -z ${EESSI_DEV_PROJECT} ]; then + export EESSI_PREFIX=$EESSI_CVMFS_REPO/versions/$EESSI_VERSION +else + echo "\$EESSI_DEV_PROJECT: ${EESSI_DEV_PROJECT}; building for dev.eessi.io" + export EESSI_PREFIX=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT + # Set EESSI_PREFIX to the dev project path for EESSI-extend + export EESSI_CVMFS_INSTALL=$EESSI_PREFIX +fi + if [[ $(uname -s) == 'Linux' ]]; then export EESSI_OS_TYPE='linux' From b5b9916da4890022b553e0d5412a6c4ff53e87ff Mon Sep 17 00:00:00 2001 From: Neves-P Date: Sun, 2 Feb 2025 20:38:20 +0100 Subject: [PATCH 54/77] Revert "Use EESSI_SITE_INSTALL instead" This reverts commit 28c6b7ee0a85471064aac2ca3e9313975c6d5de1. --- EESSI-install-software.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 102e95699a..c165679b2c 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -255,11 +255,11 @@ export EASYBUILD_INSTALLPATH=${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_S # If $EESSI_DEV_PROJECT is set, we use EESSI-extend to install to # /cvmfs/dev.eessi.io/ if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then - echo "EESSI_DEV_PROJECT is set to ${EESSI_DEV_PROJECT}, setting EESSI_SITE_INSTALL" + echo "EESSI_DEV_PROJECT is set to ${EESSI_DEV_PROJECT}, setting EESSI_PROJECT_INSTALL" echo "Unsetting EESSI_CVMFS_INSTALL" unset EESSI_CVMFS_INSTALL - export EESSI_SITE_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT - echo "EESSI_SITE_INSTALL set to ${EESSI_SITE_INSTALL}" + export EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION + echo "EESSI_PROJECT_INSTALL set to ${EESSI_PROJECT_INSTALL}" fi source $TOPDIR/load_eessi_extend_module.sh ${EESSI_VERSION} From 00fc0258ae45f5214b2d12f0440d04c477c1ade3 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Sun, 2 Feb 2025 20:38:21 +0100 Subject: [PATCH 55/77] Revert "Restore right part of path" This reverts commit 3fc95e1ee3ce49f19d63fa3fbfad1064bc38866e. --- EESSI-install-software.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index c165679b2c..e6869959e1 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -258,7 +258,7 @@ if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then echo "EESSI_DEV_PROJECT is set to ${EESSI_DEV_PROJECT}, setting EESSI_PROJECT_INSTALL" echo "Unsetting EESSI_CVMFS_INSTALL" unset EESSI_CVMFS_INSTALL - export EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION + export EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/$EESSI_DEV_PROJECT echo "EESSI_PROJECT_INSTALL set to ${EESSI_PROJECT_INSTALL}" fi From cb41a856f65d38f1cbb6f5b87e22edc6a83b29e3 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Sun, 2 Feb 2025 20:38:21 +0100 Subject: [PATCH 56/77] Revert "Remove more redundant parts of path" This reverts commit 9f0b2dffd101dcadc8e5f39651e68ce958f0b7ed. --- EESSI-install-software.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index e6869959e1..9f10f48c10 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -258,7 +258,7 @@ if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then echo "EESSI_DEV_PROJECT is set to ${EESSI_DEV_PROJECT}, setting EESSI_PROJECT_INSTALL" echo "Unsetting EESSI_CVMFS_INSTALL" unset EESSI_CVMFS_INSTALL - export EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/$EESSI_DEV_PROJECT + export EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT echo "EESSI_PROJECT_INSTALL set to ${EESSI_PROJECT_INSTALL}" fi From ab7245adefe98a767894f2f8efdfdbc847182250 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Sun, 2 Feb 2025 20:38:21 +0100 Subject: [PATCH 57/77] Revert "Shorten EESSI_PROJECT_INSTALL path" This reverts commit b3399f2464a90e675b41cd00dbab3a770c51afff. --- EESSI-install-software.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 9f10f48c10..854677cfbb 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -258,7 +258,7 @@ if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then echo "EESSI_DEV_PROJECT is set to ${EESSI_DEV_PROJECT}, setting EESSI_PROJECT_INSTALL" echo "Unsetting EESSI_CVMFS_INSTALL" unset EESSI_CVMFS_INSTALL - export EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT + export EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} echo "EESSI_PROJECT_INSTALL set to ${EESSI_PROJECT_INSTALL}" fi From d9bed4fbc8f8a70e9780cc359ac4b118d1098f3f Mon Sep 17 00:00:00 2001 From: Neves-P Date: Sun, 2 Feb 2025 20:38:21 +0100 Subject: [PATCH 58/77] Revert "Unset EESSI_CVMFS_INSTALL on dev.eessi.io builds" This reverts commit 72ba311687fc30dbefcd1d60d749eb11792c4290. --- EESSI-install-software.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 854677cfbb..67b09f2bb1 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -255,9 +255,7 @@ export EASYBUILD_INSTALLPATH=${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_S # If $EESSI_DEV_PROJECT is set, we use EESSI-extend to install to # /cvmfs/dev.eessi.io/ if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then - echo "EESSI_DEV_PROJECT is set to ${EESSI_DEV_PROJECT}, setting EESSI_PROJECT_INSTALL" - echo "Unsetting EESSI_CVMFS_INSTALL" - unset EESSI_CVMFS_INSTALL +echo "EESSI_DEV_PROJECT is set to ${EESSI_DEV_PROJECT}, setting EESSI_PROJECT_INSTALL" export EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} echo "EESSI_PROJECT_INSTALL set to ${EESSI_PROJECT_INSTALL}" fi From 2dd7650e10c2d61706a802b1577abf9e6373b173 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Sun, 2 Feb 2025 20:38:21 +0100 Subject: [PATCH 59/77] Revert "Fix syntax error" This reverts commit 35bd8a18daae52d62910f59614f3f2751add5cf1. --- EESSI-install-software.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 67b09f2bb1..289df57eb3 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -256,10 +256,10 @@ export EASYBUILD_INSTALLPATH=${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_S # /cvmfs/dev.eessi.io/ if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then echo "EESSI_DEV_PROJECT is set to ${EESSI_DEV_PROJECT}, setting EESSI_PROJECT_INSTALL" - export EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} + $EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} echo "EESSI_PROJECT_INSTALL set to ${EESSI_PROJECT_INSTALL}" -fi +fi source $TOPDIR/load_eessi_extend_module.sh ${EESSI_VERSION} # Install full CUDA SDK and cu* libraries in host_injections From 5bb1c560472d40846c7035ceec76d02905366251 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Sun, 2 Feb 2025 20:38:21 +0100 Subject: [PATCH 60/77] Revert "Add some debugging infop" This reverts commit a4d61d6205592580ae0a27cd9dbbeb7c7fd406ad. --- EESSI-install-software.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 289df57eb3..2d8152ece9 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -255,10 +255,7 @@ export EASYBUILD_INSTALLPATH=${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_S # If $EESSI_DEV_PROJECT is set, we use EESSI-extend to install to # /cvmfs/dev.eessi.io/ if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then -echo "EESSI_DEV_PROJECT is set to ${EESSI_DEV_PROJECT}, setting EESSI_PROJECT_INSTALL" $EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} - echo "EESSI_PROJECT_INSTALL set to ${EESSI_PROJECT_INSTALL}" - fi source $TOPDIR/load_eessi_extend_module.sh ${EESSI_VERSION} From dc95dbda0442f14886c0583dc1f8991b2eb8a649 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Sun, 2 Feb 2025 20:38:21 +0100 Subject: [PATCH 61/77] Revert "Set EESSI_DEV_PROJECT via EESSI-extend's EESSI_PROJECT_INSTALL" This reverts commit 1ecd93b0433539de137047d777ddff3e61c0fd0a. --- EESSI-install-software.sh | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 2d8152ece9..0b45ad018d 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -252,11 +252,6 @@ export EESSI_CVMFS_INSTALL=1 # NOTE 3, we have to set a default for EASYBUILD_INSTALLPATH here in cases the # EESSI-extend module itself needs to be installed. export EASYBUILD_INSTALLPATH=${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} -# If $EESSI_DEV_PROJECT is set, we use EESSI-extend to install to -# /cvmfs/dev.eessi.io/ -if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then - $EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} -fi source $TOPDIR/load_eessi_extend_module.sh ${EESSI_VERSION} # Install full CUDA SDK and cu* libraries in host_injections @@ -298,6 +293,15 @@ if [ ! -z ${EESSI_ACCELERATOR_TARGET} ]; then fi fi +# If in dev.eessi.io, allow building on top of software.eessi.io +if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then + module use /cvmfs/software.eessi.io/versions/$EESSI_VERSION/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE}/modules/all + # Overwrite EASYBUILD_INSTALLPATH to point to dev.eessi.io + EASYBUILD_INSTALLPATH=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} + echo ">> \$EASYBUILD_INSTALLPATH overwritten to ${EASYBUILD_INSTALLPATH}" + module use $EASYBUILD_INSTALLPATH/modules/all +fi + if [[ -z ${MODULEPATH} ]]; then fatal_error "Failed to set up \$MODULEPATH?!" else From e5517b6db604092a0b5418de1066b22c1a5e88aa Mon Sep 17 00:00:00 2001 From: Neves-P Date: Mon, 3 Feb 2025 22:09:11 +0100 Subject: [PATCH 62/77] Try again EESSI_PROJECT_INSTALL; temp override EESSI_CVMFS_REPO --- EESSI-install-software.sh | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 0b45ad018d..05acbf49a2 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -252,8 +252,19 @@ export EESSI_CVMFS_INSTALL=1 # NOTE 3, we have to set a default for EASYBUILD_INSTALLPATH here in cases the # EESSI-extend module itself needs to be installed. export EASYBUILD_INSTALLPATH=${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} +if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then + EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} + # Force override of $EESSI_SOFTWARE_PATH + ORIG_EESSI_SOFTWARE_PATH=$EESSI_SOFTWARE_PATH + EESSI_SOFTWARE_PATH=$EESSI_CVMFS_REPO +fi source $TOPDIR/load_eessi_extend_module.sh ${EESSI_VERSION} +if [[ ! -z ${ORIG_EESSI_SOFTWARE_PATH} ]]; then + EESSI_SOFTWARE_PATH=$ORIG_EESSI_SOFTWARE_PATH + unset $ORIG_EESSI_SOFTWARE_PATH +fi + # Install full CUDA SDK and cu* libraries in host_injections # Hardcode this for now, see if it works # TODO: We should make a nice yaml and loop over all CUDA versions in that yaml to figure out what to install @@ -293,14 +304,6 @@ if [ ! -z ${EESSI_ACCELERATOR_TARGET} ]; then fi fi -# If in dev.eessi.io, allow building on top of software.eessi.io -if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then - module use /cvmfs/software.eessi.io/versions/$EESSI_VERSION/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE}/modules/all - # Overwrite EASYBUILD_INSTALLPATH to point to dev.eessi.io - EASYBUILD_INSTALLPATH=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} - echo ">> \$EASYBUILD_INSTALLPATH overwritten to ${EASYBUILD_INSTALLPATH}" - module use $EASYBUILD_INSTALLPATH/modules/all -fi if [[ -z ${MODULEPATH} ]]; then fatal_error "Failed to set up \$MODULEPATH?!" From 6c9e295f14c49bb7549b7c2cdc38df83ee7a8729 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Mon, 3 Feb 2025 22:23:07 +0100 Subject: [PATCH 63/77] Also unset $EESSI_CVMFS_INSTALL --- EESSI-install-software.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 05acbf49a2..fc30fd6281 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -253,6 +253,7 @@ export EESSI_CVMFS_INSTALL=1 # EESSI-extend module itself needs to be installed. export EASYBUILD_INSTALLPATH=${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then + unset $EESSI_CVMFS_INSTALL EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} # Force override of $EESSI_SOFTWARE_PATH ORIG_EESSI_SOFTWARE_PATH=$EESSI_SOFTWARE_PATH From b71e2f9703d70187f3826cb5c7c88457a4fc767c Mon Sep 17 00:00:00 2001 From: Neves-P Date: Mon, 3 Feb 2025 23:18:12 +0100 Subject: [PATCH 64/77] Fix typo in `unset` --- EESSI-install-software.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index fc30fd6281..02aa9abd4c 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -253,11 +253,12 @@ export EESSI_CVMFS_INSTALL=1 # EESSI-extend module itself needs to be installed. export EASYBUILD_INSTALLPATH=${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then - unset $EESSI_CVMFS_INSTALL + unset EESSI_CVMFS_INSTALL EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} # Force override of $EESSI_SOFTWARE_PATH ORIG_EESSI_SOFTWARE_PATH=$EESSI_SOFTWARE_PATH EESSI_SOFTWARE_PATH=$EESSI_CVMFS_REPO + echo "$ORIG_EESSI_SOFTWARE_PATH temp override to $EESSI_SOFTWARE_PATH" fi source $TOPDIR/load_eessi_extend_module.sh ${EESSI_VERSION} From 921145140cfa637e647ecf222053b91d1d2cfba7 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Mon, 3 Feb 2025 23:38:13 +0100 Subject: [PATCH 65/77] Need to export EESSI_PROJECT_INSTALL --- EESSI-install-software.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 02aa9abd4c..276828e67f 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -254,7 +254,7 @@ export EESSI_CVMFS_INSTALL=1 export EASYBUILD_INSTALLPATH=${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then unset EESSI_CVMFS_INSTALL - EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} + export EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} # Force override of $EESSI_SOFTWARE_PATH ORIG_EESSI_SOFTWARE_PATH=$EESSI_SOFTWARE_PATH EESSI_SOFTWARE_PATH=$EESSI_CVMFS_REPO From 48c61ef5bb2e2d081722149ee1371378fb42aad3 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Wed, 12 Feb 2025 16:14:14 +0100 Subject: [PATCH 66/77] Again, use previous apprach --- EESSI-install-software.sh | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 276828e67f..0b45ad018d 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -252,21 +252,8 @@ export EESSI_CVMFS_INSTALL=1 # NOTE 3, we have to set a default for EASYBUILD_INSTALLPATH here in cases the # EESSI-extend module itself needs to be installed. export EASYBUILD_INSTALLPATH=${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} -if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then - unset EESSI_CVMFS_INSTALL - export EESSI_PROJECT_INSTALL=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} - # Force override of $EESSI_SOFTWARE_PATH - ORIG_EESSI_SOFTWARE_PATH=$EESSI_SOFTWARE_PATH - EESSI_SOFTWARE_PATH=$EESSI_CVMFS_REPO - echo "$ORIG_EESSI_SOFTWARE_PATH temp override to $EESSI_SOFTWARE_PATH" -fi source $TOPDIR/load_eessi_extend_module.sh ${EESSI_VERSION} -if [[ ! -z ${ORIG_EESSI_SOFTWARE_PATH} ]]; then - EESSI_SOFTWARE_PATH=$ORIG_EESSI_SOFTWARE_PATH - unset $ORIG_EESSI_SOFTWARE_PATH -fi - # Install full CUDA SDK and cu* libraries in host_injections # Hardcode this for now, see if it works # TODO: We should make a nice yaml and loop over all CUDA versions in that yaml to figure out what to install @@ -306,6 +293,14 @@ if [ ! -z ${EESSI_ACCELERATOR_TARGET} ]; then fi fi +# If in dev.eessi.io, allow building on top of software.eessi.io +if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then + module use /cvmfs/software.eessi.io/versions/$EESSI_VERSION/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE}/modules/all + # Overwrite EASYBUILD_INSTALLPATH to point to dev.eessi.io + EASYBUILD_INSTALLPATH=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} + echo ">> \$EASYBUILD_INSTALLPATH overwritten to ${EASYBUILD_INSTALLPATH}" + module use $EASYBUILD_INSTALLPATH/modules/all +fi if [[ -z ${MODULEPATH} ]]; then fatal_error "Failed to set up \$MODULEPATH?!" From ee2bcb13b2c6a7dad50d53f73a8abc9ebadf7a99 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Fri, 14 Feb 2025 19:25:44 +0100 Subject: [PATCH 67/77] Handle dev.eessi.io via EESSI_extend-easybuild.eb --- EESSI-extend-easybuild.eb | 12 +++++++++++- EESSI-install-software.sh | 18 +++++++++--------- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/EESSI-extend-easybuild.eb b/EESSI-extend-easybuild.eb index f74f36aca7..3a984da77d 100644 --- a/EESSI-extend-easybuild.eb +++ b/EESSI-extend-easybuild.eb @@ -107,6 +107,7 @@ elseif (os.getenv("EESSI_SITE_INSTALL") ~= nil) then else -- Deal with user and project installs project_install = os.getenv("EESSI_PROJECT_INSTALL") + eessi_dev_project = os.getenv("EESSI_DEV_INSTALL") project_modulepath = nil if (project_install ~= nil) then -- Check the folder exists @@ -116,7 +117,16 @@ else if (mode() == "load") then LmodMessage("Configuring for use of EESSI_PROJECT_INSTALL under " .. project_install) end - easybuild_installpath = string.gsub(os.getenv("EESSI_SOFTWARE_PATH"), os.getenv("EESSI_CVMFS_REPO"), project_install) + if (eessi_dev_project ~= nil) then + -- Project install is assumed to be $EESSI_CVMFS_REPO_OVERRIDE set to dev.eessi.io + eessi_software_path = os.getenv("EESSI_SOFTWARE_PATH") + -- Extract ${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR} from ${EESSI_SOFTWARE_PATH} + os_type_software_subdir = string.match(eessi_software_path, "software/(.*)") + -- Construct installpath for dev.eessi.io and include project subdir + easybuild_installpath = pathJoin(project_install, 'versions', version, eessi_dev_project, 'software', os_type_software_subdir) + else + easybuild_installpath = string.gsub(os.getenv("EESSI_SOFTWARE_PATH"), os.getenv("EESSI_CVMFS_REPO"), project_install) + end project_modulepath = pathJoin(easybuild_installpath, 'modules', 'all') end user_install = os.getenv("EESSI_USER_INSTALL") diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 0b45ad018d..a2ed45b4cc 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -252,6 +252,15 @@ export EESSI_CVMFS_INSTALL=1 # NOTE 3, we have to set a default for EASYBUILD_INSTALLPATH here in cases the # EESSI-extend module itself needs to be installed. export EASYBUILD_INSTALLPATH=${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} + +# If in dev.eessi.io, allow building on top of software.eessi.io via EESSI-extend +if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then + # module use /cvmfs/software.eessi.io/versions/$EESSI_VERSION/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE}/modules/all + # Overwrite EASYBUILD_INSTALLPATH to point to dev.eessi.io + export EESSI_PROJECT_INSTALL=${EESSI_CVMFS_REPO_OVERRIDE} + echo ">> \$EESSI_PROJECT_INSTALL set to ${EESSI_PROJECT_INSTALL}" +fi + source $TOPDIR/load_eessi_extend_module.sh ${EESSI_VERSION} # Install full CUDA SDK and cu* libraries in host_injections @@ -293,15 +302,6 @@ if [ ! -z ${EESSI_ACCELERATOR_TARGET} ]; then fi fi -# If in dev.eessi.io, allow building on top of software.eessi.io -if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then - module use /cvmfs/software.eessi.io/versions/$EESSI_VERSION/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE}/modules/all - # Overwrite EASYBUILD_INSTALLPATH to point to dev.eessi.io - EASYBUILD_INSTALLPATH=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} - echo ">> \$EASYBUILD_INSTALLPATH overwritten to ${EASYBUILD_INSTALLPATH}" - module use $EASYBUILD_INSTALLPATH/modules/all -fi - if [[ -z ${MODULEPATH} ]]; then fatal_error "Failed to set up \$MODULEPATH?!" else From e012bd4d83b0e61cc0445de7a1c3e3507db0d1d1 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Mon, 17 Feb 2025 16:02:26 +0100 Subject: [PATCH 68/77] Try installing to dev.eessi.io/project/version --- EESSI-extend-easybuild.eb | 13 +------------ EESSI-install-software.sh | 2 +- 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/EESSI-extend-easybuild.eb b/EESSI-extend-easybuild.eb index 3a984da77d..29a81acfb1 100644 --- a/EESSI-extend-easybuild.eb +++ b/EESSI-extend-easybuild.eb @@ -106,8 +106,6 @@ elseif (os.getenv("EESSI_SITE_INSTALL") ~= nil) then easybuild_installpath = os.getenv("EESSI_SITE_SOFTWARE_PATH") else -- Deal with user and project installs - project_install = os.getenv("EESSI_PROJECT_INSTALL") - eessi_dev_project = os.getenv("EESSI_DEV_INSTALL") project_modulepath = nil if (project_install ~= nil) then -- Check the folder exists @@ -117,16 +115,7 @@ else if (mode() == "load") then LmodMessage("Configuring for use of EESSI_PROJECT_INSTALL under " .. project_install) end - if (eessi_dev_project ~= nil) then - -- Project install is assumed to be $EESSI_CVMFS_REPO_OVERRIDE set to dev.eessi.io - eessi_software_path = os.getenv("EESSI_SOFTWARE_PATH") - -- Extract ${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR} from ${EESSI_SOFTWARE_PATH} - os_type_software_subdir = string.match(eessi_software_path, "software/(.*)") - -- Construct installpath for dev.eessi.io and include project subdir - easybuild_installpath = pathJoin(project_install, 'versions', version, eessi_dev_project, 'software', os_type_software_subdir) - else - easybuild_installpath = string.gsub(os.getenv("EESSI_SOFTWARE_PATH"), os.getenv("EESSI_CVMFS_REPO"), project_install) - end + easybuild_installpath = string.gsub(os.getenv("EESSI_SOFTWARE_PATH"), os.getenv("EESSI_CVMFS_REPO"), project_install) project_modulepath = pathJoin(easybuild_installpath, 'modules', 'all') end user_install = os.getenv("EESSI_USER_INSTALL") diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index a2ed45b4cc..ba95b2e6c1 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -257,7 +257,7 @@ export EASYBUILD_INSTALLPATH=${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_S if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then # module use /cvmfs/software.eessi.io/versions/$EESSI_VERSION/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE}/modules/all # Overwrite EASYBUILD_INSTALLPATH to point to dev.eessi.io - export EESSI_PROJECT_INSTALL=${EESSI_CVMFS_REPO_OVERRIDE} + export EESSI_PROJECT_INSTALL=${EESSI_CVMFS_REPO_OVERRIDE}/${EESSI_DEV_PROJECT} echo ">> \$EESSI_PROJECT_INSTALL set to ${EESSI_PROJECT_INSTALL}" fi From 367e30b136c79b78dbcb920e6fa18117ad379fcf Mon Sep 17 00:00:00 2001 From: Neves-P Date: Mon, 17 Feb 2025 17:19:23 +0100 Subject: [PATCH 69/77] Unset EESSI_CVMFS_INSTALL --- EESSI-install-software.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index ba95b2e6c1..20920e453e 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -255,8 +255,8 @@ export EASYBUILD_INSTALLPATH=${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_S # If in dev.eessi.io, allow building on top of software.eessi.io via EESSI-extend if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then - # module use /cvmfs/software.eessi.io/versions/$EESSI_VERSION/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE}/modules/all - # Overwrite EASYBUILD_INSTALLPATH to point to dev.eessi.io + # Need to unset $EESSI_CVMFS_INSTALL to use $EESSI_SITE_INSTALL + unset EESSI_CVMFS_INSTALL export EESSI_PROJECT_INSTALL=${EESSI_CVMFS_REPO_OVERRIDE}/${EESSI_DEV_PROJECT} echo ">> \$EESSI_PROJECT_INSTALL set to ${EESSI_PROJECT_INSTALL}" fi From e17d4f3b361f57c2dff94b072e31a9467d681233 Mon Sep 17 00:00:00 2001 From: Pedro Santos Neves <10762799+Neves-P@users.noreply.github.com> Date: Tue, 18 Feb 2025 10:34:41 +0100 Subject: [PATCH 70/77] Create installdir if it doesn't exist Co-authored-by: ocaisa --- EESSI-install-software.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 20920e453e..faedc60725 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -259,6 +259,7 @@ if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then unset EESSI_CVMFS_INSTALL export EESSI_PROJECT_INSTALL=${EESSI_CVMFS_REPO_OVERRIDE}/${EESSI_DEV_PROJECT} echo ">> \$EESSI_PROJECT_INSTALL set to ${EESSI_PROJECT_INSTALL}" + mkdir -p ${EESSI_PROJECT_INSTALL} fi source $TOPDIR/load_eessi_extend_module.sh ${EESSI_VERSION} From 2b96be5e5f98778354b0f26da283a0fe57eadafc Mon Sep 17 00:00:00 2001 From: Neves-P Date: Tue, 18 Feb 2025 12:51:49 +0100 Subject: [PATCH 71/77] Correct place for eessi_dev_project in software_dir in create_tarball.sh --- create_tarball.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/create_tarball.sh b/create_tarball.sh index 0b6819e81a..c565076674 100755 --- a/create_tarball.sh +++ b/create_tarball.sh @@ -33,7 +33,7 @@ if [ -z ${install_prefix_dir} ]; then fi # software_dir includes $eessi_dev_project if defined, otherwise install omit -software_dir="${cvmfs_repo}/versions/${eessi_version}${eessi_dev_project:+/$eessi_dev_project}/software/${os}/${cpu_arch_subdir}" +software_dir="${cvmfs_repo}${eessi_dev_project:+/$eessi_dev_project}/versions/${eessi_version}/software/${os}/${cpu_arch_subdir}" if [ ! -d ${software_dir} ]; then echo "Software directory ${software_dir} does not exist?!" >&2 exit 2 From 82da386f0c96a99f9d3a63739e5d1aad13e75362 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Thu, 20 Feb 2025 10:37:41 +0100 Subject: [PATCH 72/77] Restore project_install definition --- EESSI-extend-easybuild.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/EESSI-extend-easybuild.eb b/EESSI-extend-easybuild.eb index 29a81acfb1..f74f36aca7 100644 --- a/EESSI-extend-easybuild.eb +++ b/EESSI-extend-easybuild.eb @@ -106,6 +106,7 @@ elseif (os.getenv("EESSI_SITE_INSTALL") ~= nil) then easybuild_installpath = os.getenv("EESSI_SITE_SOFTWARE_PATH") else -- Deal with user and project installs + project_install = os.getenv("EESSI_PROJECT_INSTALL") project_modulepath = nil if (project_install ~= nil) then -- Check the folder exists From acb896a163118d103e62e65566e052ce05c8ccc6 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Thu, 20 Feb 2025 16:35:43 +0100 Subject: [PATCH 73/77] Add $EESSI_DEV_PROJECT to CVMFS_REPO_OVERRIDE if available --- bot/build.sh | 2 +- create_tarball.sh | 27 +++++++++------------------ 2 files changed, 10 insertions(+), 19 deletions(-) diff --git a/bot/build.sh b/bot/build.sh index 875644e84d..025f67dc14 100755 --- a/bot/build.sh +++ b/bot/build.sh @@ -142,7 +142,7 @@ echo "bot/build.sh: EESSI_VERSION_OVERRIDE='${EESSI_VERSION_OVERRIDE}'" # determine CVMFS repo to be used from .repository.repo_name in ${JOB_CFG_FILE} # here, just set EESSI_CVMFS_REPO_OVERRIDE, a bit further down # "source init/eessi_defaults" via sourcing init/minimal_eessi_env -export EESSI_CVMFS_REPO_OVERRIDE=/cvmfs/${REPOSITORY_NAME} +export EESSI_CVMFS_REPO_OVERRIDE=/cvmfs/${REPOSITORY_NAME}${EESSI_DEV_PROJECT:+/$EESSI_DEV_PROJECT} echo "bot/build.sh: EESSI_CVMFS_REPO_OVERRIDE='${EESSI_CVMFS_REPO_OVERRIDE}'" # determine CPU architecture to be used from entry .architecture in ${JOB_CFG_FILE} diff --git a/create_tarball.sh b/create_tarball.sh index c565076674..76e651d29b 100755 --- a/create_tarball.sh +++ b/create_tarball.sh @@ -20,20 +20,11 @@ echo ">> tmpdir: $tmpdir" os="linux" source ${base_dir}/init/eessi_defaults -cvmfs_repo=${EESSI_CVMFS_REPO} +# EESSI_CVMFS_REPO is followed by $EESSI_DEV_PROJECT if defined +cvmfs_repo=${EESSI_CVMFS_REPO}${eessi_dev_project:+/$eessi_dev_project} -# install to $eessi_version/$eessi_dev_project if defined, otherwise install -# to $eessi_version -install_prefix_dir=${eessi_version}${eessi_dev_project:+/$eessi_dev_project} -echo "Setting Install prefix directory to: ${install_prefix_dir}" +software_dir="${cvmfs_repo}/versions/${eessi_version}/software/${os}/${cpu_arch_subdir}" -if [ -z ${install_prefix_dir} ]; then - echo "\${install_prefix_dir} is empty?!" >&2 - exit 2 -fi - -# software_dir includes $eessi_dev_project if defined, otherwise install omit -software_dir="${cvmfs_repo}${eessi_dev_project:+/$eessi_dev_project}/versions/${eessi_version}/software/${os}/${cpu_arch_subdir}" if [ ! -d ${software_dir} ]; then echo "Software directory ${software_dir} does not exist?!" >&2 exit 2 @@ -74,18 +65,18 @@ fi # consider both CPU-only and accelerator subdirectories for subdir in ${cpu_arch_subdir} ${cpu_arch_subdir}/accel/${accel_subdir}; do - if [ -d ${install_prefix_dir}/software/${os}/${subdir}/modules ]; then + if [ -d ${eessi_version}/software/${os}/${subdir}/modules ]; then # module files - find ${install_prefix_dir}/software/${os}/${subdir}/modules -type f | grep -v '/\.wh\.' >> ${files_list} || true # Make sure we don't exit because of set -e if grep doesn't return a match + find ${eessi_version}/software/${os}/${subdir}/modules -type f | grep -v '/\.wh\.' >> ${files_list} || true # Make sure we don't exit because of set -e if grep doesn't return a match # module symlinks - find ${install_prefix_dir}/software/${os}/${subdir}/modules -type l | grep -v '/\.wh\.' >> ${files_list} || true # Make sure we don't exit because of set -e if grep doesn't return a match + find ${eessi_version}/software/${os}/${subdir}/modules -type l | grep -v '/\.wh\.' >> ${files_list} || true # Make sure we don't exit because of set -e if grep doesn't return a match # module files and symlinks - find ${install_prefix_dir}/software/${os}/${subdir}/modules/all -type f -o -type l \ + find ${eessi_version}/software/${os}/${subdir}/modules/all -type f -o -type l \ | grep -v '/\.wh\.' | grep -v '/\.modulerc\.lua' | sed -e 's/.lua$//' | sed -e 's@.*/modules/all/@@g' | sort -u \ >> ${module_files_list} fi - if [ -d ${install_prefix_dir}/software/${os}/${subdir}/software -a -r ${module_files_list} ]; then + if [ -d ${eessi_version}/software/${os}/${subdir}/software -a -r ${module_files_list} ]; then # installation directories but only those for which module files were created # Note, we assume that module names (as defined by 'PACKAGE_NAME/VERSION.lua' # using EasyBuild's standard module naming scheme) match the name of the @@ -94,7 +85,7 @@ for subdir in ${cpu_arch_subdir} ${cpu_arch_subdir}/accel/${accel_subdir}; do # installation directories), the procedure will likely not work. for package_version in $(cat ${module_files_list}); do echo "handling ${package_version}" - ls -d ${install_prefix_dir}/software/${os}/${subdir}/software/${package_version} \ + ls -d ${eessi_version}/software/${os}/${subdir}/software/${package_version} \ | grep -v '/\.wh\.' >> ${files_list} || true # Make sure we don't exit because of set -e if grep doesn't return a match done fi From 4a8bceec8a5d1f806af14cf7f52d7303ee96e38b Mon Sep 17 00:00:00 2001 From: Neves-P Date: Thu, 20 Feb 2025 16:42:20 +0100 Subject: [PATCH 74/77] No longer need EESSI_DEV_PROJECT in minimal_eessi_env --- init/minimal_eessi_env | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/init/minimal_eessi_env b/init/minimal_eessi_env index 5150d49259..bc13a43bc4 100644 --- a/init/minimal_eessi_env +++ b/init/minimal_eessi_env @@ -8,16 +8,8 @@ EESSI_INIT_DIR_PATH=$(dirname $(readlink -f $BASH_SOURCE)) # script takes *_OVERRIDEs into account source ${EESSI_INIT_DIR_PATH}/eessi_defaults -# If $EESSI_DEV_PROJECT is defined, then we are building for dev.eessi.io -# and add a subdirectory to $EESSI_PREFIX -if [ -z ${EESSI_DEV_PROJECT} ]; then - export EESSI_PREFIX=$EESSI_CVMFS_REPO/versions/$EESSI_VERSION -else - echo "\$EESSI_DEV_PROJECT: ${EESSI_DEV_PROJECT}; building for dev.eessi.io" - export EESSI_PREFIX=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT - # Set EESSI_PREFIX to the dev project path for EESSI-extend - export EESSI_CVMFS_INSTALL=$EESSI_PREFIX -fi + +export EESSI_PREFIX=$EESSI_CVMFS_REPO/versions/$EESSI_VERSION if [[ $(uname -s) == 'Linux' ]]; then From 50937f797c07bff7a7285048e7d13fa4ea91b5d3 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Thu, 20 Feb 2025 17:07:28 +0100 Subject: [PATCH 75/77] EESSI_PROJECT_INSTALL should now be EESSI_CVMFS_REPO_OVERRIDE --- EESSI-install-software.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index faedc60725..9e2ccc0f94 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -257,7 +257,7 @@ export EASYBUILD_INSTALLPATH=${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_S if [[ ! -z ${EESSI_DEV_PROJECT} ]]; then # Need to unset $EESSI_CVMFS_INSTALL to use $EESSI_SITE_INSTALL unset EESSI_CVMFS_INSTALL - export EESSI_PROJECT_INSTALL=${EESSI_CVMFS_REPO_OVERRIDE}/${EESSI_DEV_PROJECT} + export EESSI_PROJECT_INSTALL=${EESSI_CVMFS_REPO_OVERRIDE} echo ">> \$EESSI_PROJECT_INSTALL set to ${EESSI_PROJECT_INSTALL}" mkdir -p ${EESSI_PROJECT_INSTALL} fi From a5c2cf30ea60ebb953230d8378bba01bfb7236cf Mon Sep 17 00:00:00 2001 From: Neves-P Date: Thu, 20 Feb 2025 17:22:54 +0100 Subject: [PATCH 76/77] In dev.eessi.io EESSI_CVMFS_REPO now contains project subdir This is no longer necessary here then --- bot/build.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bot/build.sh b/bot/build.sh index 025f67dc14..4c60b8f7bb 100755 --- a/bot/build.sh +++ b/bot/build.sh @@ -303,8 +303,8 @@ export EESSI_DEV_PROJECT=${EESSI_DEV_PROJECT} TMP_IN_CONTAINER=/tmp echo "Executing command to create tarball:" echo "$software_layer_dir/eessi_container.sh ${COMMON_ARGS[@]} ${TARBALL_STEP_ARGS[@]}" -echo " -- $software_layer_dir/create_tarball.sh ${TMP_IN_CONTAINER} ${EESSI_VERSION} ${EESSI_SOFTWARE_SUBDIR_OVERRIDE} \"${EESSI_ACCELERATOR_TARGET}\" \"${EESSI_DEV_PROJECT}\" /eessi_bot_job/${TGZ} 2>&1 | tee -a ${tar_outerr}" +echo " -- $software_layer_dir/create_tarball.sh ${TMP_IN_CONTAINER} ${EESSI_VERSION} ${EESSI_SOFTWARE_SUBDIR_OVERRIDE} \"${EESSI_ACCELERATOR_TARGET}\" /eessi_bot_job/${TGZ} 2>&1 | tee -a ${tar_outerr}" $software_layer_dir/eessi_container.sh "${COMMON_ARGS[@]}" "${TARBALL_STEP_ARGS[@]}" \ - -- $software_layer_dir/create_tarball.sh ${TMP_IN_CONTAINER} ${EESSI_VERSION} ${EESSI_SOFTWARE_SUBDIR_OVERRIDE} "${EESSI_ACCELERATOR_TARGET}" "${EESSI_DEV_PROJECT}" /eessi_bot_job/${TGZ} 2>&1 | tee -a ${tar_outerr} + -- $software_layer_dir/create_tarball.sh ${TMP_IN_CONTAINER} ${EESSI_VERSION} ${EESSI_SOFTWARE_SUBDIR_OVERRIDE} "${EESSI_ACCELERATOR_TARGET}" /eessi_bot_job/${TGZ} 2>&1 | tee -a ${tar_outerr} exit 0 From d0c063039e4a87101d1c7fb671bea25cbcccad01 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Thu, 20 Feb 2025 17:31:51 +0100 Subject: [PATCH 77/77] Fix input checking --- create_tarball.sh | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/create_tarball.sh b/create_tarball.sh index 76e651d29b..a6ba994124 100755 --- a/create_tarball.sh +++ b/create_tarball.sh @@ -4,24 +4,22 @@ set -e base_dir=$(dirname $(realpath $0)) -if [ $# -ne 6 ]; then - echo "ERROR: Usage: $0 (example: ESPREsSo) " >&2 +if [ $# -ne 5 ]; then + echo "ERROR: Usage: $0 " >&2 exit 1 fi eessi_tmpdir=$1 eessi_version=$2 cpu_arch_subdir=$3 accel_subdir=$4 -eessi_dev_project=$5 -target_tgz=$6 +target_tgz=$5 tmpdir=`mktemp -d` echo ">> tmpdir: $tmpdir" os="linux" source ${base_dir}/init/eessi_defaults -# EESSI_CVMFS_REPO is followed by $EESSI_DEV_PROJECT if defined -cvmfs_repo=${EESSI_CVMFS_REPO}${eessi_dev_project:+/$eessi_dev_project} +cvmfs_repo=${EESSI_CVMFS_REPO} software_dir="${cvmfs_repo}/versions/${eessi_version}/software/${os}/${cpu_arch_subdir}"