]> pd.if.org Git - zpackage/blobdiff - zpm-repo
check that a downloaded repo is valid
[zpackage] / zpm-repo
index 0477952a6a4d17465066d5ced34bad920f533e79..19c20e09f4e1a8bd63ce619ebfe3ca48d3ee115a 100755 (executable)
--- a/zpm-repo
+++ b/zpm-repo
@@ -108,11 +108,13 @@ update_info() {
                        curl -f '-#' -z "$rf" -o "$rf.tmp" "$url"
                        rv=$?
                else
-                       curl -f '-#' -o "$rf" "$url" && refresh "$repo"
+                       curl -f '-#' -o "$rf.tmp" "$url" && refresh "$repo"
                        rv=$?
                fi
                if [ $rv -eq 0 ]; then
-                       test -f "$rf.tmp" && mv "$rf.tmp" "$rf"
+                       test -f "$rf.tmp" &&
+                       zpm test -f "$rf.tmp" &&
+                       mv "$rf.tmp" "$rf"
                        refresh "$repo"
                fi
        done
@@ -199,7 +201,7 @@ case $action in
                name=$(zpm quote "$1")
                zpm shell $ZPMDB "delete from repository where name = '$name'"
                rm -f $repodir/$1.repo
-               # TODO delete caches
+               test -d "$repodir/$repo" && rm -r "$repodir/$repo"
                ;;
        url)
                if [ -n "$2" ]; then