|
|
|
@ -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 |
|
|
|
|