# HG changeset patch # User "Yann E. MORIN" # Date 1233611790 0 # Node ID 136731f6f597b67b8330379d8b58fc35353516d7 # Parent 4714cf419e989f8838d01dc395f3280ff838316d Don't add versions that already exist. /trunk/scripts/addToolVersion.sh | 15 14 1 0 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff -r 4714cf419e98 -r 136731f6f597 scripts/addToolVersion.sh --- a/scripts/addToolVersion.sh Mon Feb 02 21:09:42 2009 +0000 +++ b/scripts/addToolVersion.sh Mon Feb 02 21:56:30 2009 +0000 @@ -52,6 +52,7 @@ addToolVersion() { local version="$1" local file + local config_ver_option local exp_obs_prompt local deps v ver_M ver_m local SedExpr1 SedExpr2 @@ -59,7 +60,19 @@ file="config/${tool_prefix}/${tool}.in" v=$(echo "${version}" |"${sed}" -r -e 's/-/_/g; s/\./_/g;') - SedExpr1="${SedExpr1}config ${cat}_V_${v}\n" + config_ver_option="${cat}_V_${v}" + + # Check for existing version: it can be legitimitate for an end-user + # to try adding a new version if the one he/she wants is not listed. + # But it can be the case where the version is hidden behind either one + # of EXPERIMENTAL or OBSOLETE, so warn if the version is already listed. + if (GREP_OPTIONS= grep -E "^config ${config_ver_option}$" "${file}" >/dev/null 2>&1); then + echo "'${tool}': version '${version}' already present:" + GREP_OPTIONS= grep -A3 -B0 -E "^config ${config_ver_option}$" "${file}" + return 0 + fi + + SedExpr1="${SedExpr1}config ${config_ver_option}\n" SedExpr1="${SedExpr1} bool\n" SedExpr1="${SedExpr1} prompt \"${version}" case "${EXP},${OBS}" in