Currently, the script uses '--version' option from different commands
to check for their availability. uuidgen on Centos6 has been reported
not to have the '--version' option causing failure in script invocation.

This commit looks for the utilities in $PATH instead. The code is
copied from build-aux/dist-docs.

Reported-by: Michael J. Smalley <michaeljsmal...@gmail.com>
Suggested-by: Ben Pfaff <b...@nicira.com>
Signed-off-by: Gurucharan Shetty <gshe...@nicira.com>
---
 AUTHORS              |  1 +
 utilities/ovs-docker | 21 ++++++++++++++-------
 2 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/AUTHORS b/AUTHORS
index c85ecd4..6a54e8e 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -286,6 +286,7 @@ Maxime Brun             m.b...@alphalink.fr
 Madhu Venugopal         maven...@gmail.com
 Michael A. Collins      mike.a.coll...@ark-net.org
 Michael Hu              m...@nicira.com
+Michael J. Smalley      michaeljsmal...@gmail.com
 Michael Mao             m...@nicira.com
 Michael Shigorin        m...@osdn.org.ua
 Mihir Gangar            gang...@vmware.com
diff --git a/utilities/ovs-docker b/utilities/ovs-docker
index 48908b1..099ba31 100755
--- a/utilities/ovs-docker
+++ b/utilities/ovs-docker
@@ -13,14 +13,19 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-check_command_avail () {
-    while [ $# -ne 0 ]; do
-        if ("$1" --version) > /dev/null 2>&1; then :; else
-            echo >&2 "$UTIL: missing $1, cannot proceed"
-            exit 1
+# Check for programs we'll need.
+search_path () {
+    save_IFS=$IFS
+    IFS=:
+    for dir in $PATH; do
+        IFS=$save_IFS
+        if test -x "$dir/$1"; then
+            return 0
         fi
-        shift
     done
+    IFS=$save_IFS
+    echo >&2 "$0: $1 not found in \$PATH, please install and try again"
+    exit 1
 }
 
 ovs_vsctl () {
@@ -201,7 +206,9 @@ EOF
 }
 
 UTIL=$(basename $0)
-check_command_avail ovs-vsctl docker uuidgen
+search_path ovs-vsctl
+search_path docker
+search_path uuidgen
 
 if (ip netns) > /dev/null 2>&1; then :; else
     echo >&2 "$UTIL: ip utility not found (or it does not support netns),"\
-- 
1.9.1

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to