diff -r 6df2d4f78948 -r 7eda1fcfd53d scripts/addToolVersion.sh --- a/scripts/addToolVersion.sh Thu Apr 15 22:35:18 2010 +0200 +++ b/scripts/addToolVersion.sh Wed May 04 19:19:56 2011 +0200 @@ -55,13 +55,14 @@ # $1 : version string to add addToolVersion() { local version="$1" - local file + local file="$2" local config_ver_option local exp_obs_prompt local deps v ver_M ver_m ver_p local SedExpr1 SedExpr2 - file="config/${tool_prefix}/${tool}.in" + [ -f "${file}" ] || return 0 + v=$(echo "${version}" |"${sed}" -r -e 's/-/_/g; s/\./_/g;') config_ver_option="${cat}_V_${v}" @@ -70,9 +71,11 @@ # 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 + if 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}" + grep -A1 -B0 -n \ + -E "^(config ${config_ver_option}| {4}prompt \"${version}\")$" \ + "${file}" /dev/null return 0 fi @@ -180,7 +183,11 @@ # Version string: *) [ -n "${tool}" ] || { doHelp; exit 1; } - addToolVersion "$1" + file_base="config/${tool_prefix}/${tool}.in" + # Components have their version selection either + # in the .in or the .in.2 file. Handle both. + addToolVersion "$1" "${file_base}" + addToolVersion "$1" "${file_base}.2" ;; esac shift