mirror of
git://git.openwrt.org/openwrt/openwrt.git
synced 2024-12-25 08:02:32 +00:00
fix update's version logic
SVN-Revision: 86
This commit is contained in:
parent
ee41d03754
commit
8d8f855860
@ -19,6 +19,18 @@ set -e
|
||||
# explicitly enable it first and disable it afterwards.
|
||||
set -o noglob
|
||||
|
||||
ipkg_is_upgrade () {
|
||||
local A B a b
|
||||
A=$(echo $1 | sed "s/[0-9]*/ & /g")
|
||||
B=$(echo $2 | sed "s/[0-9]*/ & /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;
|
||||
}
|
||||
|
||||
ipkg_srcs() {
|
||||
local srcre="$1"
|
||||
sed -ne "s/^src[[:space:]]\+$srcre[[:space:]]\+//p" < $IPKG_CONF
|
||||
@ -984,7 +996,7 @@ ipkg_upgrade_pkg() {
|
||||
|
||||
if [ "$avail_ver" = "$inst_ver" ]; then
|
||||
echo "Package $pkg ($inst_ver) installed in $dest_name is up to date"
|
||||
elif [ "$avail_ver" -gt "$inst_ver" ]; then
|
||||
elif ipkg_is_upgrade "$avail_ver" "$inst_ver"; then
|
||||
echo "Upgrading $pkg ($dest_name) from $inst_ver to $avail_ver"
|
||||
ipkg_get_install_dest $dest $pkg
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user