Skip to content
Snippets Groups Projects
Commit 3ca91f8a authored by Jan Ebert's avatar Jan Ebert
Browse files

Improve activation script resiliency

This way, it doesn't mess with the `curr_dir` in the `sbatch` script but
doesn't require a directory stack, all while not being influenced by
outside variables.
parent 871386bd
No related branches found
No related tags found
No related merge requests found
#!/usr/bin/env bash
if [ -z "$curr_dir" ]; then
curr_file="${BASH_SOURCE[0]:-${(%):-%x}}"
curr_dir="$(dirname "$curr_file")"
fi
_curr_file="${BASH_SOURCE[0]:-${(%):-%x}}"
_curr_dir="$(dirname "$_curr_file")"
venv_dir="$curr_dir"/env-"$SYSTEMNAME"
venv_dir="$_curr_dir"/env-"$SYSTEMNAME"
[ "$(command -v deactivate)" ] && deactivate
module --force purge
if ! [ -f "$curr_dir"/modules.sh ]; then
echo "Cannot find \`$curr_dir/modules.sh\`; its existence is required."
if ! [ -f "$_curr_dir"/modules.sh ]; then
echo "Cannot find \`$_curr_dir/modules.sh\`; its existence is required."
return 1
fi
source "$curr_dir"/modules.sh
source "$_curr_dir"/modules.sh
if ! [ -d "$venv_dir" ]; then
echo "Please manually execute \`nice bash ${curr_dir@Q}/set_up.sh\`" \
echo "Please manually execute \`nice bash ${_curr_dir@Q}/set_up.sh\`" \
"on a login node to create the \`venv\`."
return 1
elif ! [ -f "$venv_dir"/bin/activate ]; then
echo "Something seems to be wrong with the \`venv\` at \`$venv_dir\`." \
"Please delete it (\`nice rm -rf ${venv_dir@Q}\`) and" \
"execute \`nice bash ${curr_dir@Q}/set_up.sh\`" \
"execute \`nice bash ${_curr_dir@Q}/set_up.sh\`" \
"on a login node to re-create the \`venv\`."
return 1
fi
......
#!/usr/bin/env bash
if [ -z "$curr_dir" ]; then
curr_file="${BASH_SOURCE[0]:-${(%):-%x}}"
curr_dir="$(dirname "$curr_file")"
fi
_curr_file="${BASH_SOURCE[0]:-${(%):-%x}}"
_curr_dir="$(dirname "$_curr_file")"
venv_dir="$curr_dir"/env-"$SYSTEMNAME"
venv_dir="$_curr_dir"/env-"$SYSTEMNAME"
[ "$(command -v deactivate)" ] && deactivate
module --force purge
if ! [ -f "$curr_dir"/modules.sh ]; then
echo "Cannot find \`$curr_dir/modules.sh\`; its existence is required."
if ! [ -f "$_curr_dir"/modules.sh ]; then
echo "Cannot find \`$_curr_dir/modules.sh\`; its existence is required."
return 1
fi
source "$curr_dir"/modules.sh
source "$_curr_dir"/modules.sh
if ! [ -d "$venv_dir" ]; then
echo "Please manually execute \`nice bash ${curr_dir@Q}/set_up.sh\`" \
echo "Please manually execute \`nice bash ${_curr_dir@Q}/set_up.sh\`" \
"on a login node to create the \`venv\`."
return 1
elif ! [ -f "$venv_dir"/bin/activate ]; then
echo "Something seems to be wrong with the \`venv\` at \`$venv_dir\`." \
"Please delete it (\`nice rm -rf ${venv_dir@Q}\`) and" \
"execute \`nice bash ${curr_dir@Q}/set_up.sh\`" \
"execute \`nice bash ${_curr_dir@Q}/set_up.sh\`" \
"on a login node to re-create the \`venv\`."
return 1
fi
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment