29 lines
645 B
Bash
Executable File
29 lines
645 B
Bash
Executable File
#!/bin/bash
|
|
|
|
declare buildblock=$1
|
|
declare variants=$2
|
|
|
|
declare -r OS=$(uname -s)
|
|
|
|
# File format example
|
|
# openmpi/1.10.2 unstable gcc/4.8.5
|
|
declare -a toks=()
|
|
declare version=''
|
|
declare release=''
|
|
declare -a dependencies=()
|
|
|
|
while read -a toks; do
|
|
# skip comment and empty line
|
|
(( ${#toks[@]} == 0 )) && continue
|
|
[[ "${toks[0]:0:1}" == "#" ]] && continue
|
|
module=${toks[0]}
|
|
release=${toks[1]}
|
|
dependencies=( ${toks[@]:2} )
|
|
|
|
"${buildblock}" "${module#*/}" "${dependencies[@]/#/--with=}"
|
|
if [[ $? != 0 ]]; then
|
|
echo "Failed building: ${module} --release=${release} ${dependencies[@]/#/--with=}" 1>&2
|
|
exit 42
|
|
fi
|
|
done < "${variants}"
|