fix version checks
authorMike Baker <mbm@openwrt.org>
Sun, 20 Mar 2005 05:46:41 +0000 (05:46 +0000)
committerMike Baker <mbm@openwrt.org>
Sun, 20 Mar 2005 05:46:41 +0000 (05:46 +0000)
SVN-Revision: 403

openwrt/target/default/target_skeleton/bin/ipkg

index 6ceb9d457460225d4efb8622a79038d9f8111129..c9947c8fa0a5f04de086d59ac1784d0f6a9c313d 100755 (executable)
@@ -20,16 +20,17 @@ set -e
 set -o noglob
 
 ipkg_is_upgrade () {
-  local A B a b
-  A=$(echo $1 | sed "s/[0-9]*/ & /g" | sed "s/[^ A-Za-z0-9]//g")
-  B=$(echo $2 | sed "s/[0-9]*/ & /g" | sed "s/[^ A-Za-z0-9]//g")
-  while [ \! -z "$A" ] && [ \! -z "$B" ]; do {
+  local A B a b     
+  A=$(echo $1 | sed -r "s/([0-9]+)[^A-Za-z]?/ \1 /g").
+  B=$(echo $2 | sed -r "s/([0-9]+)[^A-Za-z]?/ \1 /g").
+  while [ \! -z "$A" ] && [ \! -z "$B" ]; do {        
     set $A; a=$1; shift; A=$*
     set $B; b=$1; shift; B=$*
-    { [ "$a" -gt "$b" ] 2>&- || [ "$a" ">" "$b" ]; } && { return 0; }
-  }; done
-  return 1;
-}
+      [ "$a" -lt "$b" ] 2>&- && return 1
+    { [ "$a" -gt "$b" ] 2>&- || [ "$a" ">" "$b" ]; } && return
+  }; done                                                     
+  return 1
+}         
 
 ipkg_srcs() {
        local srcre="$1"