@@ -18,11 +18,11 @@ function show_msg {
1818# set up minimal environment: $EESSI_PREFIX, $EESSI_VERSION, $EESSI_OS_TYPE, $EESSI_CPU_FAMILY, $EPREFIX
1919source $EESSI_INIT_DIR_PATH/minimal_eessi_env
2020
21- if [ -d $EESSI_PREFIX ]; then
21+ if [ -d " $EESSI_PREFIX" ]; then
2222 show_msg "Found EESSI repo @ $EESSI_PREFIX!"
2323
24- export EESSI_EPREFIX=$EPREFIX
25- if [ -d $EESSI_EPREFIX ]; then
24+ export EESSI_EPREFIX=" $EPREFIX"
25+ if [ -d " $EESSI_EPREFIX" ]; then
2626
2727 # determine subdirectory in software layer
2828 if [ "$EESSI_USE_ARCHDETECT" == "1" ]; then
@@ -32,8 +32,8 @@ if [ -d $EESSI_PREFIX ]; then
3232 # under $EESSI_PREFIX/software/$EESSI_OS_TYPE; if so use the architecture as best match
3333 IFS=: read -r -a archs <<< "${all_cpupaths}"
3434 for arch in "${archs[@]}"; do
35- if [ -d ${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${arch} ]; then
36- export EESSI_SOFTWARE_SUBDIR=${arch}
35+ if [ -d " ${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${arch}" ]; then
36+ export EESSI_SOFTWARE_SUBDIR=" ${arch}"
3737 show_msg "archdetect says ${EESSI_SOFTWARE_SUBDIR}"
3838 break
3939 fi
@@ -58,23 +58,23 @@ if [ -d $EESSI_PREFIX ]; then
5858 set -e
5959 fi
6060
61- if [[ $accelpath_exit_code -eq 0 ]]; then
61+ if [[ " $accelpath_exit_code" -eq 0 ]]; then
6262 export EESSI_ACCEL_SUBDIR=$(tail -n 1 $tmpout && rm -f $tmpout)
63- if [ -z ${EESSI_ACCEL_SUBDIR} ]; then
63+ if [ -z " ${EESSI_ACCEL_SUBDIR}" ]; then
6464 error "accelerator detection with archdetect worked, but no result was returned?!"
6565 else
6666 # allow specifying different parent directory for accel/* subdirectory via $EESSI_ACCEL_SOFTWARE_SUBDIR_OVERRIDE
67- EESSI_ACCEL_SOFTWARE_SUBDIR=${EESSI_ACCEL_SOFTWARE_SUBDIR_OVERRIDE:-$EESSI_SOFTWARE_SUBDIR}
67+ EESSI_ACCEL_SOFTWARE_SUBDIR=" ${EESSI_ACCEL_SOFTWARE_SUBDIR_OVERRIDE:-$EESSI_SOFTWARE_SUBDIR}"
6868 # path to where accel/* subdirectory is located
69- EESSI_ACCEL_SOFTWARE_PATH=${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_ACCEL_SOFTWARE_SUBDIR}
70- if [ ! -d $EESSI_ACCEL_SOFTWARE_PATH/${EESSI_ACCEL_SUBDIR} ]; then
69+ EESSI_ACCEL_SOFTWARE_PATH=" ${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_ACCEL_SOFTWARE_SUBDIR}"
70+ if [ ! -d " $EESSI_ACCEL_SOFTWARE_PATH/${EESSI_ACCEL_SUBDIR}" ]; then
7171 # We should try to use the fallback compute capability
7272 EESSI_ACCELERATOR_TARGET="${EESSI_ACCEL_SUBDIR::-1}0"
7373 show_msg "archdetect found no supported accelerator ${EESSI_ACCEL_SUBDIR}, falling back to ${EESSI_ACCELERATOR_TARGET}"
7474 else
7575 EESSI_ACCELERATOR_TARGET="${EESSI_ACCEL_SUBDIR}"
7676 fi
77- if [ -d $EESSI_ACCEL_SOFTWARE_PATH/${EESSI_ACCELERATOR_TARGET} ]; then
77+ if [ -d " $EESSI_ACCEL_SOFTWARE_PATH/${EESSI_ACCELERATOR_TARGET}" ]; then
7878 show_msg "archdetect found supported accelerator for CPU target ${EESSI_ACCEL_SOFTWARE_SUBDIR}: ${EESSI_ACCELERATOR_TARGET}"
7979 export EESSI_ACCELERATOR_TARGET
8080 else
@@ -83,7 +83,7 @@ if [ -d $EESSI_PREFIX ]; then
8383 fi
8484 else
8585 show_msg "archdetect could not detect any accelerators"
86- rm -f $tmpout
86+ rm -f " $tmpout"
8787 fi
8888 elif [ "$EESSI_USE_ARCHSPEC" == "1" ]; then
8989 # note: eessi_software_subdir_for_host.py will pick up value from $EESSI_SOFTWARE_SUBDIR_OVERRIDE if it's defined!
@@ -93,15 +93,15 @@ if [ -d $EESSI_PREFIX ]; then
9393 else
9494 error "Don't know how to detect host CPU, giving up!"
9595 fi
96- if [ ! -z $EESSI_SOFTWARE_SUBDIR ]; then
96+ if [ ! -z " $EESSI_SOFTWARE_SUBDIR" ]; then
9797
9898 show_msg "Using ${EESSI_SOFTWARE_SUBDIR} as software subdirectory."
99- export EESSI_SOFTWARE_PATH=$EESSI_PREFIX/software/$EESSI_OS_TYPE/$EESSI_SOFTWARE_SUBDIR
99+ export EESSI_SOFTWARE_PATH=" $EESSI_PREFIX/software/$EESSI_OS_TYPE/$EESSI_SOFTWARE_SUBDIR"
100100
101101 # Configure our LMOD
102102 export LMOD_CONFIG_DIR="$EESSI_SOFTWARE_PATH/.lmod"
103103 lmod_rc_file="$LMOD_CONFIG_DIR/lmodrc.lua"
104- if [ -f $lmod_rc_file ]; then
104+ if [ -f " $lmod_rc_file" ]; then
105105 show_msg "Found Lmod configuration file at $lmod_rc_file"
106106 export LMOD_RC="$lmod_rc_file"
107107 else
@@ -110,19 +110,35 @@ if [ -d $EESSI_PREFIX ]; then
110110
111111 export LMOD_PACKAGE_PATH="$EESSI_SOFTWARE_PATH/.lmod"
112112 lmod_sitepackage_file="$LMOD_PACKAGE_PATH/SitePackage.lua"
113- if [ -f $lmod_sitepackage_file ]; then
113+ if [ -f " $lmod_sitepackage_file" ]; then
114114 show_msg "Found Lmod SitePackage.lua file at $lmod_sitepackage_file"
115115 else
116116 error "Lmod SitePackage.lua file not found at $lmod_sitepackage_file"
117117 fi
118118
119- if [ ! -z $EESSI_BASIC_ENV ]; then
119+ if [ ! -z " $EESSI_BASIC_ENV" ]; then
120120 show_msg "Only setting up basic environment, so we're done"
121- elif [ -d $EESSI_SOFTWARE_PATH ]; then
122- export EESSI_SITE_SOFTWARE_PATH=${EESSI_SOFTWARE_PATH/versions/host_injections}
121+ elif [ -d "$EESSI_SOFTWARE_PATH" ]; then
122+ if [ -z "${EESSI_SITE_SOFTWARE_PREFIX}" ]; then
123+ site_software_path="${EESSI_SOFTWARE_PATH/versions/host_injections}"
124+ site_software_accel_path="${EESSI_ACCEL_SOFTWARE_PATH/versions/host_injections}"
125+ else
126+ site_software_path="${EESSI_SOFTWARE_PATH/$EESSI_CVMFS_REPO/$EESSI_SITE_SOFTWARE_PREFIX}"
127+ site_software_accel_path="${EESSI_ACCEL_SOFTWARE_PATH/$EESSI_CVMFS_REPO/$EESSI_SITE_SOFTWARE_PREFIX}"
128+ fi
129+ export EESSI_SITE_SOFTWARE_PATH="${site_software_path}"
123130 show_msg "Using ${EESSI_SITE_SOFTWARE_PATH} as the site extension directory for installations."
124- EESSI_SITE_ACCEL_SOFTWARE_PATH=${EESSI_ACCEL_SOFTWARE_PATH/versions/host_injections}
131+ EESSI_SITE_ACCEL_SOFTWARE_PATH="${site_software_accel_path}"
125132 show_msg "Using ${EESSI_SITE_ACCEL_SOFTWARE_PATH} as the site extension directory for accelerated installations."
133+
134+ # Prepend site's lmodrc.lua path to $LMOD_RC
135+ show_msg "Adding Lmod site configuration file path ($site_lmod_rc_file) to $LMOD_RC"
136+ site_lmod_rc_file="$EESSI_SITE_SOFTWARE_PATH/.lmod/lmodrc.lua"
137+ if [ -z "${LMOD_RC}" ]; then
138+ export LMOD_RC="$site_lmod_rc_file"
139+ else
140+ export LMOD_RC="$site_lmod_rc_file:$LMOD_RC"
141+ fi
126142 # Allow for use of alternative module tree shipped with EESSI
127143 if [ -z ${EESSI_MODULE_SUBDIR+x} ]; then
128144 # EESSI_MODULE_SUBDIR not set
@@ -132,26 +148,28 @@ if [ -d $EESSI_PREFIX ]; then
132148 if [ -z ${EESSI_CUSTOM_MODULEPATH+x} ]; then
133149 # EESSI_CUSTOM_MODULEPATH not set so we use our defaults
134150
135- EESSI_MODULEPATH=$EESSI_SOFTWARE_PATH/$EESSI_MODULE_SUBDIR
151+ EESSI_MODULEPATH=" $EESSI_SOFTWARE_PATH/$EESSI_MODULE_SUBDIR"
136152 else
137153 show_msg "Using defined environment variable \$EESSI_CUSTOM_MODULEPATH to set EESSI_MODULEPATH."
138- EESSI_MODULEPATH=$EESSI_CUSTOM_MODULEPATH
154+ EESSI_MODULEPATH=" $EESSI_CUSTOM_MODULEPATH"
139155 fi
140156
141- if [ -d $EESSI_MODULEPATH ]; then
142- export EESSI_MODULEPATH=$EESSI_MODULEPATH
157+ if [ -d " $EESSI_MODULEPATH" ]; then
158+ export EESSI_MODULEPATH=" $EESSI_MODULEPATH"
143159 show_msg "Using ${EESSI_MODULEPATH} as the directory to be added to MODULEPATH."
144- export EESSI_SITE_MODULEPATH=$EESSI_SITE_SOFTWARE_PATH/$EESSI_MODULE_SUBDIR
160+ export EESSI_SITE_MODULEPATH=" $EESSI_SITE_SOFTWARE_PATH/$EESSI_MODULE_SUBDIR"
145161 show_msg "Using ${EESSI_SITE_MODULEPATH} as the site extension directory to be added to MODULEPATH."
146162 else
147163 error "EESSI module path at $EESSI_MODULEPATH not found!"
148164 false
149165 fi
150166
151- if [ -d ${EESSI_ACCEL_SOFTWARE_PATH}/${EESSI_ACCELERATOR_TARGET}/${EESSI_MODULE_SUBDIR} ]; then
152- export EESSI_MODULEPATH_ACCEL=${EESSI_ACCEL_SOFTWARE_PATH}/${EESSI_ACCELERATOR_TARGET}/${EESSI_MODULE_SUBDIR}
167+ if [ -d " ${EESSI_ACCEL_SOFTWARE_PATH}/${EESSI_ACCELERATOR_TARGET}/${EESSI_MODULE_SUBDIR}" ]; then
168+ export EESSI_MODULEPATH_ACCEL=" ${EESSI_ACCEL_SOFTWARE_PATH}/${EESSI_ACCELERATOR_TARGET}/${EESSI_MODULE_SUBDIR}"
153169 show_msg "Using ${EESSI_MODULEPATH_ACCEL} as additional directory (for accelerators) to be added to MODULEPATH."
154- export EESSI_SITE_MODULEPATH_ACCEL=${EESSI_SITE_ACCEL_SOFTWARE_PATH}/${EESSI_ACCELERATOR_TARGET}/${EESSI_MODULE_SUBDIR}
170+ fi
171+ if [ -d "${EESSI_SITE_ACCEL_SOFTWARE_PATH}/${EESSI_ACCELERATOR_TARGET}/${EESSI_MODULE_SUBDIR}" ]; then
172+ export EESSI_SITE_MODULEPATH_ACCEL="${EESSI_SITE_ACCEL_SOFTWARE_PATH}/${EESSI_ACCELERATOR_TARGET}/${EESSI_MODULE_SUBDIR}"
155173 show_msg "Using ${EESSI_SITE_MODULEPATH_ACCEL} as additional site extension directory (for accelerators) to be added to MODULEPATH."
156174 fi
157175
@@ -160,9 +178,9 @@ if [ -d $EESSI_PREFIX ]; then
160178 # curl as a module file we could instead do this via a `modluafooter` in an EasyBuild
161179 # hook (or via an Lmod hook)
162180 rhel_libcurl_file="/etc/pki/tls/certs/ca-bundle.crt"
163- if [ -f $rhel_libcurl_file ]; then
181+ if [ -f " $rhel_libcurl_file" ]; then
164182 show_msg "Found libcurl CAs file at RHEL location, setting CURL_CA_BUNDLE"
165- export CURL_CA_BUNDLE=$rhel_libcurl_file
183+ export CURL_CA_BUNDLE=" $rhel_libcurl_file"
166184 fi
167185
168186 else
0 commit comments