From 4207911754d8b0c473f9a3e4fea34090f584b6fd Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Wed, 20 Apr 2016 14:59:33 +0200 Subject: [PATCH] bin/manage_variants - reviewed --- bin/manage_variants | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/bin/manage_variants b/bin/manage_variants index 68e5cd4..8b14331 100755 --- a/bin/manage_variants +++ b/bin/manage_variants @@ -6,11 +6,23 @@ declare variants=$2 declare -r OS=$(uname -s) -while read versions release oss dependencies; do - [[ "${oss}" =~ "${OS}" ]] || continue - versions_a=( ${versions//,/ } ) - dependencies_a=( ${dependencies//,/ } ) - for version in "${versions_a[@]}"; do - "${buildblock}" "${version}" --release=${release} "${dependencies_a[@]/#/--with=}" - done -done < "${variants}" \ No newline at end of file +# 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}"