29 lines
611 B
Bash
Executable File
29 lines
611 B
Bash
Executable File
#!/bin/bash
|
|
|
|
declare buildblock=$1
|
|
declare variants=$2
|
|
|
|
|
|
declare -r OS=$(uname -s)
|
|
|
|
# File format example
|
|
# 1.10.2 Linux,Darwin unstable gcc/4.8.5
|
|
declare -a toks=()
|
|
declare version=''
|
|
declare oss=''
|
|
declare release=''
|
|
declare -a dependencies=()
|
|
|
|
while read -a toks; do
|
|
# skip comment and empty line
|
|
(( ${#toks[@]} == 0 )) && continue
|
|
[[ "${toks[0]:0:1}" == "#" ]] && continue
|
|
version=${toks[0]}
|
|
oss=${toks[1]}
|
|
release=${toks[2]}
|
|
dependencies=( ${toks[@]:3} )
|
|
|
|
[[ "${oss}" =~ "${OS}" ]] || continue
|
|
"${buildblock}" "${version}" --release=${release} "${dependencies[@]/#/--with=}"
|
|
done < "${variants}"
|