diff options
author | Mike Baker <mbm@openwrt.org> | 2005-03-20 05:46:41 +0000 |
---|---|---|
committer | Mike Baker <mbm@openwrt.org> | 2005-03-20 05:46:41 +0000 |
commit | 4421b4f1bd052d1446188ce13c56ff58ff5c51b5 (patch) | |
tree | 0ec16b9c0c33eb45d5b35631895327fe168f5ac1 /openwrt/target | |
parent | 899db44607aa1d95d7a4b248db4adf32b797ee17 (diff) | |
download | mtk-20170518-4421b4f1bd052d1446188ce13c56ff58ff5c51b5.zip mtk-20170518-4421b4f1bd052d1446188ce13c56ff58ff5c51b5.tar.gz mtk-20170518-4421b4f1bd052d1446188ce13c56ff58ff5c51b5.tar.bz2 |
fix version checks
SVN-Revision: 403
Diffstat (limited to 'openwrt/target')
-rwxr-xr-x | openwrt/target/default/target_skeleton/bin/ipkg | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/openwrt/target/default/target_skeleton/bin/ipkg b/openwrt/target/default/target_skeleton/bin/ipkg index 6ceb9d4..c9947c8 100755 --- a/openwrt/target/default/target_skeleton/bin/ipkg +++ b/openwrt/target/default/target_skeleton/bin/ipkg @@ -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" |