update ipkg patch for 1.1.1, expose an hash_fd function again removed in 1.1.1
[openwrt.git] / openwrt / scripts / ipkg
index dd44dd6..4d3ad85 100755 (executable)
@@ -43,7 +43,7 @@ ipkg_src_names() {
 
 ipkg_src_byname() {
        local src="$1"
-       ipkg_srcs $src | head -1
+       ipkg_srcs $src | head -1
 }
 
 ipkg_dests() {
@@ -68,16 +68,16 @@ ipkg_state_dirs() {
 }
 
 ipkg_dest_default() {
-       ipkg_dests_all | head -1
+       ipkg_dests_all | head -1
 }
 
 ipkg_dest_default_name() {
-       ipkg_dest_names | head -1
+       ipkg_dest_names | head -1
 }
 
 ipkg_dest_byname() {
        local dest="$1"
-       ipkg_dests $dest | head -1
+       ipkg_dests $dest | head -1
 }
 
 ipkg_option() {
@@ -117,7 +117,11 @@ Valid destinations are directories or one of the dest names from $IPKG_CONF:" >&
        IPKG_DIR_PREFIX=usr/lib/ipkg
        IPKG_LISTS_DIR=$IPKG_OFFLINE_ROOT/$IPKG_DIR_PREFIX/lists
        IPKG_PENDING_DIR=$IPKG_OFFLINE_ROOT/$IPKG_DIR_PREFIX/pending
-       IPKG_TMP=$IPKG_ROOT/tmp/ipkg
+       if [ -z "$IPKG_TMP" ]; then
+               IPKG_TMP=$IPKG_ROOT/tmp/ipkg
+       fi
+
+       [ -e "$IPKG_TMP" ] || mkdir -p $IPKG_TMP
 
        # Destination specific ipkg meta-data directory
        IPKG_STATE_DIR=$IPKG_ROOT/$IPKG_DIR_PREFIX
@@ -546,20 +550,20 @@ ipkg_set_depends() {
        local new_deps="$*"
        pkg="`ipkg_safe_pkg_name $pkg`"
        ## setvar ${pkg}_depends "$new_deps"
-       echo $new_deps > /tmp/ipkg/${pkg}.depends
+       echo $new_deps > $IPKG_TMP/${pkg}.depends
 }
 
 ipkg_get_depends() {
        local pkg=$1
        pkg="`ipkg_safe_pkg_name $pkg`"
-       cat /tmp/ipkg/${pkg}.depends
+       cat $IPKG_TMP/${pkg}.depends
        ## eval "echo \$${pkg}_depends"
 }
 
 ipkg_set_installed() {
        local pkg=$1
        pkg="`ipkg_safe_pkg_name $pkg`"
-       echo installed > /tmp/ipkg/${pkg}.installed
+       echo installed > $IPKG_TMP/${pkg}.installed
        ## setvar ${pkg}_installed "installed"
 }
 
@@ -567,15 +571,15 @@ ipkg_set_uninstalled() {
        local pkg=$1
        pkg="`ipkg_safe_pkg_name $pkg`"
        ### echo ipkg_set_uninstalled $pkg > /dev/console
-       echo uninstalled > /tmp/ipkg/${pkg}.installed
+       echo uninstalled > $IPKG_TMP/${pkg}.installed
        ## setvar ${pkg}_installed "uninstalled"
 }
 
 ipkg_get_installed() {
        local pkg=$1
        pkg="`ipkg_safe_pkg_name $pkg`"
-       if [ -f /tmp/ipkg/${pkg}.installed ]; then
-               cat /tmp/ipkg/${pkg}.installed
+       if [ -f $IPKG_TMP/${pkg}.installed ]; then
+               cat $IPKG_TMP/${pkg}.installed
        fi
        ## eval "echo \$${pkg}_installed"
 }
@@ -603,8 +607,7 @@ s/ \+/ /g'`
                        ipkg_set_depends $pkg $new_deps
                done
 
-               new_deps=`echo $new_deps | sed -e 's/[[:space:]]\+/\\
-/g' | sort | uniq`
+               new_deps=`echo $new_deps | sed -e 's/[[:space:]]\+/\n/g' | sort | uniq`
 
                local maybe_new_pkgs=
                for pkg in $new_deps; do
@@ -688,8 +691,6 @@ Status: install ok not-installed" | ipkg_status_update_sd $sd $pkg
                                return 1;
                        fi
 
-                       [ -e "$IPKG_TMP" ] || mkdir -p $IPKG_TMP
-
                        echo ""
                        local tmp_pkg_file="$IPKG_TMP/"`ipkg_file_part $filename`
                        if ! ipkg_download `ipkg_src_byname $src`/$filename $tmp_pkg_file; then
@@ -785,7 +786,7 @@ ipkg_install_file_dest() {
                        echo "Package: $pkg
 Status: install ok pending" | ipkg_status_update_sd $sd $pkg
                        mkdir -p $IPKG_PENDING_DIR
-                       cp $filename $IPKG_PENDING_DIR
+                       cp -f $filename $IPKG_PENDING_DIR
                        rm -r $IPKG_TMP/$pkg/control
                        rm -r $IPKG_TMP/$pkg/data
                        rmdir $IPKG_TMP/$pkg
@@ -982,7 +983,7 @@ ipkg_install_wanted() {
 
 ipkg_upgrade_pkg() {
        local pkg="$1"
-       local avail_ver="`ipkg_info $pkg Version | ipkg_extract_value | head -1`"
+       local avail_ver="`ipkg_info $pkg Version | ipkg_extract_value | head -1`"
 
        is_installed=
        for dest_name in `ipkg_dest_names`; do
This page took 0.039975 seconds and 4 git commands to generate.