X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/e46aa6fbddf54d8da50a9286826fd38776be221c..2b3988d5abfd2a1c55bd2a49d09f33cc7fbed57f:/scripts/ipkg diff --git a/scripts/ipkg b/scripts/ipkg index 4d3ad8506..554521a81 100755 --- a/scripts/ipkg +++ b/scripts/ipkg @@ -32,6 +32,8 @@ ipkg_is_upgrade () { return 1 } +which md5sum 2>&1 >/dev/null || alias md5sum=md5 + ipkg_srcs() { local srcre="$1" sed -ne "s/^src[[:space:]]\+$srcre[[:space:]]\+//p" < $IPKG_CONF @@ -114,7 +116,7 @@ Valid destinations are directories or one of the dest names from $IPKG_CONF:" >& fi # Global ipkg state directories - IPKG_DIR_PREFIX=usr/lib/ipkg + IPKG_DIR_PREFIX=usr/lib/opkg IPKG_LISTS_DIR=$IPKG_OFFLINE_ROOT/$IPKG_DIR_PREFIX/lists IPKG_PENDING_DIR=$IPKG_OFFLINE_ROOT/$IPKG_DIR_PREFIX/pending if [ -z "$IPKG_TMP" ]; then @@ -144,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() { @@ -232,7 +234,6 @@ ipkg_download() { proxyoption="--proxy=on" fi - echo "Downloading $src ..." rm -f $IPKG_TMP/$src_file case "$src" in http://* | ftp://*) @@ -250,7 +251,6 @@ ipkg_download() { ;; esac - echo "Done." return 0 } @@ -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. @@ -663,7 +663,7 @@ Status: install ok not-installed" | ipkg_status_update_sd $sd $pkg curcheck="`expr $curcheck + 1`" local is_installed="`ipkg_get_installed $pkg`" if [ "$is_installed" = "installed" ]; then - echo "$pkg is installed" > /dev/console + echo "$pkg is installed" continue fi @@ -691,7 +691,6 @@ Status: install ok not-installed" | ipkg_status_update_sd $sd $pkg return 1; fi - echo "" local tmp_pkg_file="$IPKG_TMP/"`ipkg_file_part $filename` if ! ipkg_download `ipkg_src_byname $src`/$filename $tmp_pkg_file; then echo "ipkg_get_install: Perhaps you need to run \`ipkg update'?" @@ -774,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 @@ -804,7 +803,7 @@ 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 @@ -876,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 's/^\.//' > $info_dir/$pkg.list if [ -x "$info_dir/$pkg.postinst" ]; then $info_dir/$pkg.postinst configure @@ -905,7 +904,6 @@ ipkg_install_file() { } ipkg_install() { - while [ $# -gt 0 ]; do local pkg="$1" shift @@ -923,11 +921,7 @@ ipkg_install() { ipkg_install_file $ipkg_filename ;; *.ipk | *.deb) - if [ -f "$pkg" ]; then ipkg_install_file $pkg - else - echo "File not found $pkg" >&2 - fi ;; *) ipkg_get_install $pkg || true