tazpkg rev 420
Automated merge with http://repos.slitaz.org/tazpkg
author | Antoine Bodin <gokhlayeh@slitaz.org> |
---|---|
date | Tue Feb 01 02:29:18 2011 +0100 (2011-02-01) |
parents | 003d6e430c93 18c7dbaf6632 |
children | 13789d978d23 |
files | tazpkg |
line diff
1.1 --- a/tazpkg Mon Jan 31 00:29:47 2011 +0000 1.2 +++ b/tazpkg Tue Feb 01 02:29:18 2011 +0100 1.3 @@ -53,6 +53,7 @@ 1.4 TOP_DIR=`pwd` 1.5 TMP_DIR=$tmp/$RANDOM 1.6 INSTALL_LIST="" 1.7 +SAVE_CACHE_DIR="$CACHE_DIR" 1.8 1.9 # Path to tazpkg used dir and configuration files 1.10 INSTALLED=$LOCALSTATE/installed 1.11 @@ -232,6 +233,21 @@ 1.12 fi 1.13 } 1.14 1.15 +get_cache_dir() 1.16 +{ 1.17 + echo $rep > $tmp/rep 1.18 + if [ "$rep" = /var/lib/tazpkg ]; then 1.19 + CACHE_DIR="$SAVE_CACHE_DIR/$SLITAZ_VERSION/packages" 1.20 + elif [ "${rep%-incoming}" = "$rep" ]; then 1.21 + CACHE_DIR="$SAVE_CACHE_DIR/${rep##*/}/packages" 1.22 + else 1.23 + rep="${rep%-incoming}" 1.24 + CACHE_DIR="$SAVE_CACHE_DIR/${rep##*/}/packages-incoming" 1.25 + fi 1.26 + [ -d "$CACHE_DIR" ] || mkdir -p $CACHE_DIR 1.27 + echo $CACHE_DIR > $tmp/cachedir 1.28 +} 1.29 + 1.30 # get an already installed package from packages.equiv 1.31 equivalent_pkg() 1.32 { 1.33 @@ -297,7 +313,7 @@ 1.34 $rep/packages.list | head -1) 1.35 [ "$pkg" ] || pkg=$(grep -sh "^$1-.[\.0-9]" \ 1.36 $rep/packages.list | head -1) 1.37 - [ "$pkg" ] && break 1.38 + [ "$pkg" ] && get_cache_dir && break 1.39 done 1.40 if [ -z "$pkg" ]; then 1.41 # Check for vitual package 1.42 @@ -320,8 +336,11 @@ 1.43 local check_only 1.44 check_only="$1" 1.45 filename=$(get_package_filename $PACKAGE) 1.46 - if [ -n "$filename" ]; then 1.47 + if [ "$filename" ]; then 1.48 PACKAGE=$filename 1.49 + CACHE_DIR=$(cat $tmp/cachedir) 1.50 + rep=$(cat $tmp/rep) 1.51 + rm -f $tmp/rep $tmp/cachedir 1.52 else 1.53 echo "" 1.54 eval_gettext "Unable to find: \$PACKAGE in the mirrored packages list."; echo 1.55 @@ -2584,7 +2603,7 @@ 1.56 check_for_package_in_list 1.57 echo "" 1.58 if [ -f $PACKAGE.tazpkg ]; then 1.59 - if [ "$(md5sum $PACKAGE.tazpkg)" != "$(fgrep " $PACKAGE.tazpkg" $LOCALSTATE/$undigest/packages.md5)" ]; then 1.60 + if [ "$(md5sum $PACKAGE.tazpkg)" != "$(fgrep " $PACKAGE.tazpkg" $rep/packages.md5)" ]; then 1.61 rm -f $PACKAGE.tazpkg 1.62 download $PACKAGE.tazpkg 1.63 fi 1.64 @@ -2614,14 +2633,14 @@ 1.65 AUTOEXEC=$PACKAGE 1.66 check_for_package_in_list 1.67 if [ -n "$(get_installed_package_pathname $PACKAGE $ROOT)" ]; then 1.68 + CACHE_DIR="${CACHE_DIR%/*}/get" 1.69 + [ -d "$CACHE_DIR" ] || mkdir -p $CACHE_DIR 1.70 $AUTOEXEC $ROOT 1.71 exit 0 1.72 fi 1.73 fi 1.74 # Check if forced install. 1.75 - if [ "$DO_CHECK" = "no" ]; then 1.76 - rm -f $CACHE_DIR/$PACKAGE.tazpkg 1.77 - else 1.78 + if ! [ "$DO_CHECK" = "no" ]; then 1.79 check_for_installed_package $ROOT 1.80 fi 1.81 cd $CACHE_DIR 1.82 @@ -2632,16 +2651,7 @@ 1.83 eval_gettext "Continuing \$PACKAGE download"; echo 1.84 download $PACKAGE.tazpkg 1.85 } 1.86 - if [ -f $LOCALSTATE/priority ]; then 1.87 - for i in $(cat $LOCALSTATE/priority); do 1.88 - if [ -f $LOCALSTATE/undigest/$i/packages.md5 ]; then 1.89 - if [ "$(md5sum $PACKAGE.tazpkg)" != "$(fgrep " $PACKAGE.tazpkg" $LOCALSTATE/undigest/$i/packages.md5)" ]; then 1.90 - rm -f $PACKAGE.tazpkg 1.91 - download $PACKAGE.tazpkg 1.92 - fi 1.93 - fi 1.94 - done 1.95 - elif [ "$(md5sum $PACKAGE.tazpkg)" != "$(fgrep " $PACKAGE.tazpkg" $LOCALSTATE/packages.md5)" ]; then 1.96 + if [ "$(md5sum $PACKAGE.tazpkg)" != "$(fgrep " $PACKAGE.tazpkg" $rep/packages.md5)" ]; then 1.97 rm -f $PACKAGE.tazpkg 1.98 download $PACKAGE.tazpkg 1.99 fi