diff options
Diffstat (limited to 'src/simplaret')
-rwxr-xr-x | src/simplaret | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/simplaret b/src/simplaret index 03af06c..0f968fa 100755 --- a/src/simplaret +++ b/src/simplaret @@ -383,6 +383,8 @@ function simplaret_purge { function simplaret_search_and_delete { + local file candidate + for file in `find $2/ -name $1*tgz 2> /dev/null`; do candidate="`basename $file`" if [ "`package_name $candidate`" == "$1" ]; then @@ -391,11 +393,11 @@ function simplaret_search_and_delete { if [ "`package_name $candidate`" == "`package_name $result`" ] && \ [ "`package_version $candidate`" == "`package_version $result`" ] && \ [ "`package_build $candidate`" == "`package_build $result`" ]; then - if [ "$2" != "--silent" ]; then + if [ "$3" != "--silent" ]; then echo package $candidate already downloaded and stored at `dirname $file` else echo $file fi - return 0 + return 1 else rm $file break @@ -420,13 +422,20 @@ function simplaret_get { for repos_type in patches root repos noarch; do simplaret_set_storage_folder - simplaret_search_and_delete $1 $storage + simplaret_search_and_delete $1 $storage $2 + + if [ "$?" == "1" ]; then + return 0 + fi # if repos_type == root, check also if # there is a package on $PATCHES_DIR/root-$repository_name if [ "$repos_type" == "root" ]; then simplaret_repository_name simplaret_search_and_delete $1 $PATCHES_DIR/$ARCH/$VERSION/root-$repository_name + if [ "$?" == "1" ]; then + return 0 + fi fi done |