Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# !/bin/bash
# load config
. ../CONFIG
IMAGE=$1
VERSION=$2
OMPI=$3
# 1 ... classic, 2 ... gpu, 3 ... mic
TYPE=$4
VERSION2=$VERSION
if [ "$TYPE" == 1 ]; then
NAME="$VERSION.lua"
elif [ "$TYPE" == 2 ]; then
NAME="$VERSION-GPU.lua"
VERSION2="$VERSION-GPU"
elif [ "$TYPE" == 3 ]; then
NAME="$VERSION-MIC.lua"
VERSION2="$VERSION-MIC"
else
echo "Image TYPE is unsupported, exiting..."
exit 1
fi
if [ "$IMAGE" == "CentOS" ]; then
if [ "$VERSION" == "6.9" ]; then
PATH="./centos/6.9"
elif [ "$VERSION" == "7.4" ]; then
PATH="./centos/7.4"
else
echo "Unsupported OS Version"
exit 1
fi
elif [ "$IMAGE" == "Debian" ]; then
PATH="./debian/template"
elif [ "$IMAGE" == "Ubuntu" ]; then
PATH="./ubuntu/template"
else
echo "Unsupported OS"
exit 1
fi
/bin/cat "$PATH" > "$NAME"
echo "conflict(\"Singularity\")" >> "$NAME"
echo "" >> "$NAME"
echo "if not isloaded(\"OpenMPI/2.1.1-GCC-6.3.0-2.27\") then" >> "$NAME"
echo " load(\"OpenMPI/2.1.1-GCC-6.3.0-2.27\")" >> "$NAME"
echo "end" >> "$NAME"
echo "" >> "$NAME"
echo "if not isloaded(\"Singularity\") then" >> "$NAME"
echo " load(\"Singularity\")" >> "$NAME"
echo "end" >> "$NAME"
echo "" >> "$NAME"
echo "if not isloaded(\"Singularity-wrappers\") then" >> "$NAME"
echo " load(\"Singularity-wrappers\")" >> "$NAME"
echo "end" >> "$NAME"
echo "" >> "$NAME"
echo "add_property(\"state\", \"singularity\")" >> "$NAME"
echo "" >> "$NAME"
echo "prepend_path(\"PATH\", \"/apps/all/OS/bin\")" >> "$NAME"
echo "set_alias(\"image-update\",\". image-update\")" >> "$NAME"
echo "setenv(\"IMAGE_ROOT\", \"/apps/all/OS/$IMAGE/$VERSION2\")" >> "$NAME"
echo "setenv(\"IMAGE_OS\", \"$IMAGE\")" >> "$NAME"
echo "setenv(\"IMAGE_VERSION\", \"$VERSION2\")" >> "$NAME"
echo "setenv(\"IMAGE_PATH_LOCAL\", \"\")" >> "$NAME"
echo "" >> "$NAME"
echo "execute {cmd=\"source /apps/all/OS/bin/image-load\",modeA={\"load\"}}" >> "$NAME"
if [ ! -d "$MODULEFILE_PATH/all/$IMAGE" ]; then
/bin/mkdir -p "$MODULEFILE_PATH/all/$IMAGE" || exit 1
fi
if [ ! -f "$MODULEFILE_PATH/all/$IMAGE/$NAME" ]; then
/bin/mv ./$NAME $MODULEFILE_PATH/all/$IMAGE/$NAME || exit 1
/bin/chown $USER_IMAGE:$USER_IMAGE $MODULEFILE_PATH/all/$IMAGE/$NAME && /bin/chmod 0664 $MODULEFILE_PATH/all/$IMAGE/$NAME || exit 1
else
MD5SUM_orig=`/usr/bin/md5sum /apps/modules/all/$IMAGE/$NAME`
MD5SUM_new=`/usr/bin/md5sum ./$NAME`
if [ ! "MD5SUM_orig" == "MD5SUM_new" ]; then
/bin/mv ./$NAME $MODULEFILE_PATH/all/$IMAGE/$NAME || exit 1
/bin/chown $USER_IMAGE:$USER_IMAGE $MODULEFILE_PATH/all/$IMAGE/$NAME && /bin/chmod 0664 $MODULEFILE_PATH/all/$IMAGE/$NAME || exit 1
fi
fi
if [ ! -d "$MODULEFILE_PATH/OS/$IMAGE" ]; then
/bin/mkdir -p $MODULEFILE_PATH/OS/$IMAGE || exit 1
fi
if [ ! -f "$MODULEFILE_PATH/OS/$IMAGE/$NAME" ]; then
/bin/ln -s $MODULEFILE_PATH/all/$IMAGE/$NAME $MODULEFILE_PATH/OS/$IMAGE/$NAME || exit 1
/bin/chown easybuild: $MODULEFILE_PATH/OS/$IMAGE/$NAME && /bin/chmod 0777 $MODULEFILE_PATH/OS/$IMAGE/$NAME || exit 1
fi