X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/6fa165042b07cbb6ff52d2439e79d8ffe17be4ab..35cbf0d9385af66d9ab2dad3facba3e1845ae5a7:/openwrt/target/default/target_skeleton/bin/ipkg?ds=sidebyside diff --git a/openwrt/target/default/target_skeleton/bin/ipkg b/openwrt/target/default/target_skeleton/bin/ipkg index bf275d842..dd44dd609 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") - B=$(echo $2 | sed "s/[0-9]*/ & /g") - while [ \! -z "$A" ] && [ \! -z "$B" ]; do { + local A B a b + A=$(echo $1 | sed -r "s/([0-9]+)[^[:alnum:]]*/ \1 /g"). + B=$(echo $2 | sed -r "s/([0-9]+)[^[:alnum:]]*/ \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" @@ -873,6 +874,7 @@ diff -u $dest/$conffile $IPKG_TMP/$pkg/data/$conffile" (cd $IPKG_TMP/$pkg/data/; tar cf - . | (cd $owd; cd $dest; tar xf -)) rm -rf $IPKG_TMP/$pkg/data rmdir $IPKG_TMP/$pkg + rm -f $info_dir/$pkg.list $pkg_extract_stdout $filename ./data.tar.gz | tar tzf - | sed -e 's/^\.//' > $info_dir/$pkg.list if [ -x "$info_dir/$pkg.postinst" ]; then @@ -882,7 +884,8 @@ diff -u $dest/$conffile $IPKG_TMP/$pkg/data/$conffile" if [ -n "$new_conffiles" ]; then new_conffiles='Conffiles: '`echo $new_conffiles | ipkg_protect_slashes` fi - local sed_safe_root="`echo $dest | sed -e "s/^${IPKG_OFFLINE_ROOT}//" | ipkg_protect_slashes`" + local sed_safe_offline_root="`echo ${IPKG_OFFLINE_ROOT} | ipkg_protect_slashes`" + local sed_safe_root="`echo $dest | sed -e "s/^${sed_safe_offline_root}//" | ipkg_protect_slashes`" sed -e "s/\(Package:.*\)/\1\\ Status: install ok installed\\ Root: ${sed_safe_root}\\