tazpkg rev 478
Fix tazpkg 'get' option to download to CACHE_DIR folder then copy to current folder. This way all get option packages are archived for later usage.
author | Christopher Rogers <slaxemulator@gmail.com> |
---|---|
date | Sat Apr 09 09:28:44 2011 +0000 (2011-04-09) |
parents | 37c60822cee1 |
children | e8eccdcb6f77 |
files | tazpkg |
line diff
1.1 --- a/tazpkg Fri Apr 08 21:14:16 2011 +0100 1.2 +++ b/tazpkg Sat Apr 09 09:28:44 2011 +0000 1.3 @@ -2743,15 +2743,38 @@ 1.4 get) 1.5 # Downlowd a package with wget. 1.6 # 1.7 + check_root 1.8 check_for_package_on_cmdline 1.9 check_for_packages_list 1.10 1.11 + get_options_list="root rootconfig" 1.12 + get_options 1.13 + 1.14 + [ "$root" ] && ROOT="$root" && check_base_dir "$root" 1.15 + if [ "$rootconfig" ]; then 1.16 + if [ "$root" ]; then 1.17 + CACHE_DIR=$root/$CACHE_DIR 1.18 + SAVE_CACHE_DIR=$CACHE_DIR 1.19 + LOCALSTATE=$root/$LOCALSTATE 1.20 + else 1.21 + echo "rootconfig needs --root= option used." >&2 1.22 + exit 1 1.23 + fi 1.24 + fi 1.25 + 1.26 # Get repositories priority list. 1.27 look_for_priority 1.28 1.29 + CURRENT_DIR=$PWD 1.30 check_for_package_in_list 1.31 - echo "" 1.32 - if [ -f $PACKAGE.tazpkg ]; then 1.33 + cd $CACHE_DIR 1.34 + if [ -f "$PACKAGE.tazpkg" ]; then 1.35 + eval_gettext "\$PACKAGE already in the cache : \$CACHE_DIR"; echo 1.36 + # Check package download was finished 1.37 + tail -c 2k $PACKAGE.tazpkg | fgrep -q 00000000TRAILER || { 1.38 + eval_gettext "Continuing \$PACKAGE download"; echo 1.39 + download $PACKAGE.tazpkg 1.40 + } 1.41 if [ "$(md5sum $PACKAGE.tazpkg)" != "$(fgrep " $PACKAGE.tazpkg" $rep/packages.md5)" ]; then 1.42 rm -f $PACKAGE.tazpkg 1.43 download $PACKAGE.tazpkg 1.44 @@ -2759,7 +2782,9 @@ 1.45 else 1.46 download $PACKAGE.tazpkg 1.47 fi 1.48 - echo "" ;; 1.49 + PACKAGE_FILE=$CACHE_DIR/$PACKAGE.tazpkg 1.50 + cp -a $PACKAGE_FILE $CURRENT_DIR 1.51 + ;; 1.52 get-install) 1.53 # Download and install a package. 1.54 #