[CalendarServer-changes] [6450] CalendarServer/trunk/support/py.sh

source_changes at macosforge.org source_changes at macosforge.org
Thu Oct 21 12:44:18 PDT 2010


Revision: 6450
          http://trac.macosforge.org/projects/calendarserver/changeset/6450
Author:   wsanchez at apple.com
Date:     2010-10-21 12:44:16 -0700 (Thu, 21 Oct 2010)
Log Message:
-----------
Abstract out cmp_version()

Modified Paths:
--------------
    CalendarServer/trunk/support/py.sh

Modified: CalendarServer/trunk/support/py.sh
===================================================================
--- CalendarServer/trunk/support/py.sh	2010-10-20 19:49:14 UTC (rev 6449)
+++ CalendarServer/trunk/support/py.sh	2010-10-21 19:44:16 UTC (rev 6450)
@@ -102,47 +102,54 @@
     done;
 
     if [ -z "${module_version}" ]; then
-      echo "Unable to determine version for ${module}.";
+      if ! "${print_path}"; then
+        echo "Unable to determine version for ${module}.";
+      fi;
       result=1;
+    elif ! cmp_version "${version}" "${module_version}"; then
+      if ! "${print_path}"; then
+        echo "A system version of ${module} exists, but version is ${module_version} (< ${version}).";
+      fi;
+      result=1;
     fi;
+  fi;
 
-     v="${version}";
-    mv="${module_version}";
+  return ${result};
+}
 
-    no_such_luck="A system version of ${module} exists, but version is ${module_version} (< ${version}).";
+# Compare version numbers
 
-    while [ $result != 1 ]; do
-       vh="${v%%.*}"; # Get highest-order segment
-      mvh="${mv%%.*}";
+cmp_version () {
+  local result=0;
 
-      if [ "$vh" -gt "$mvh" ]; then
-        if ! "${print_path}"; then
-          echo "${no_such_luck}";
-        fi;
-        result=1;
-        break;
-      fi;
+  local  v="$1"; shift;
+  local mv="$1"; shift;
 
-      if [ "${v}" == "${v#*.}" ]; then
-        # No dots left, so we're ok
-        break;
-      fi;
+  while [ $result != 1 ]; do
+     vh="${v%%.*}"; # Get highest-order segment
+    mvh="${mv%%.*}";
 
-      if [ "${mv}" == "${mv#*.}" ]; then
-        # No dots left, so we're not gonna match
-        if ! "${print_path}"; then
-          echo "${no_such_luck}";
-        fi;
-        result=1;
-        break;
-      fi;
+    if [ "${vh}" -gt "${mvh}" ]; then
+      result=1;
+      break;
+    fi;
 
-       v="${v#*.}";
-      mv="${mv#*.}";
-    done;
-  fi;
+    if [ "${v}" == "${v#*.}" ]; then
+      # No dots left, so we're ok
+      break;
+    fi;
 
-  return $result;
+    if [ "${mv}" == "${mv#*.}" ]; then
+      # No dots left, so we're not gonna match
+      result=1;
+      break;
+    fi;
+
+     v="${v#*.}";
+    mv="${mv#*.}";
+  done;
+
+  return ${result};
 }
 
 # Detect which python to use, and store it in the 'python' variable, as well as
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20101021/5c441184/attachment.html>


More information about the calendarserver-changes mailing list