AR71xx/9xxx based routers are the most common these days, select that as the default...
[openwrt/svn-archive/archive.git] / scripts / ipkg
index 9143c984edc679ccb345d9c27a72212093012971..da6447c978675f0d1787b15af7a25d8e864d15da 100755 (executable)
@@ -146,7 +146,7 @@ Valid destinations are directories or one of the dest names from $IPKG_CONF:" >&
                export no_proxy="$IPKG_NO_PROXY"
        fi
 
-       IPKG_STATUS_FIELDS='\(Package\|Status\|Essential\|Version\|Conffiles\|Root\)'
+       IPKG_STATUS_FIELDS='\(Package\|Status\|Essential\|Version\|Conffiles\|Root\|Architecture\)'
 }
 
 ipkg_usage() {
@@ -595,8 +595,8 @@ ipkg_depends() {
                all_deps="$all_deps $new_pkgs"
                local new_deps=
                for pkg in $new_pkgs; do
-                       if echo $pkg | grep -q '[^a-z0-9.+-]'; then
-                               echo "ipkg_depends: ERROR: Package name $pkg contains illegal characters (should be [a-z0-9.+-])" >&2
+                       if echo $pkg | grep -q '[^A-Za-z0-9.+-]'; then
+                               echo "ipkg_depends: ERROR: Package name $pkg contains illegal characters (should be [A-Za-z0-9.+-])" >&2
                                return 1
                        fi
                        # TODO: Fix this. For now I am ignoring versions and alternations in dependencies.
@@ -773,7 +773,7 @@ ipkg_install_file_dest() {
        mkdir -p $IPKG_TMP/$pkg/data
        mkdir -p $info_dir
 
-       if ! $pkg_extract_stdout $filename ./control.tar.gz | (cd $IPKG_TMP/$pkg/control; tar -xzf - ) ; then
+       if ! $pkg_extract_stdout $filename ./control.tar.gz | (cd $IPKG_TMP/$pkg/control; zcat | tar -xf - ) ; then
                echo "ipkg_install_file: ERROR unpacking control.tar.gz from $filename"
                return 1
        fi
@@ -794,7 +794,7 @@ Status: install ok pending" | ipkg_status_update_sd $sd $pkg
        fi
 
 
-       echo -n "Unpacking $pkg..."
+       printf "Unpacking $pkg..."
        set +o noglob
        for file in $IPKG_TMP/$pkg/control/*; do
                local base_file="`ipkg_file_part $file`"
@@ -803,13 +803,13 @@ Status: install ok pending" | ipkg_status_update_sd $sd $pkg
        set -o noglob
        rm -r $IPKG_TMP/$pkg/control
 
-       if ! $pkg_extract_stdout $filename ./data.tar.gz | (cd $IPKG_TMP/$pkg/data; tar -xzf - ) ; then
+       if ! $pkg_extract_stdout $filename ./data.tar.gz | (cd $IPKG_TMP/$pkg/data; zcat | tar -xf - ) ; then
                echo "ipkg_install_file: ERROR unpacking data.tar.gz from $filename"
                return 1
        fi
        echo "Done."
 
-       echo -n "Configuring $pkg..."
+       printf "Configuring $pkg..."
        export PKG_ROOT=$dest
        if [ -x "$info_dir/$pkg.preinst" ]; then
                if ! $info_dir/$pkg.preinst install; then
@@ -828,7 +828,7 @@ Status: install ok pending" | ipkg_status_update_sd $sd $pkg
                                local use_maintainers_conffile=
                                if [ -z "$FORCE_DEFAULTS" ]; then
                                        while true; do
-                                               echo -n "Configuration file \`$conffile'
+                                               printf "Configuration file \`$conffile'
  ==> File on system created by you or by a script.
  ==> File also in package provided by package maintainer.
    What would you like to do about it ?  Your options are:
@@ -875,7 +875,7 @@ diff -u $dest/$conffile $IPKG_TMP/$pkg/data/$conffile"
        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
+       $pkg_extract_stdout $filename ./data.tar.gz | zcat | tar tf - | sed -e '/\/$/d; s/^\.//' > $info_dir/$pkg.list
 
        if [ -x "$info_dir/$pkg.postinst" ]; then
                $info_dir/$pkg.postinst configure
@@ -960,7 +960,7 @@ ipkg_install_wanted() {
                if [ -n "$FORCE_DEFAULTS" ]; then
                        echo "Installing them now."
                else
-                       echo -n "Install them now [Y/n] ? "
+                       printf "Install them now [Y/n] ? "
                        read response
                        case "$response" in
                        [Nn] | [Nn][Oo])