]> pd.if.org Git - zpackage/commitdiff
add purge subcommand to repo
authorNathan Wagner <nw@hydaspes.if.org>
Sat, 8 Dec 2018 22:51:57 +0000 (22:51 +0000)
committerNathan Wagner <nw@hydaspes.if.org>
Sat, 8 Dec 2018 22:53:06 +0000 (22:53 +0000)
zpm-repo

index 050e5ae0d9ee6a4a4b9dfde04721464932746fef..0477952a6a4d17465066d5ced34bad920f533e79 100755 (executable)
--- a/zpm-repo
+++ b/zpm-repo
@@ -157,6 +157,27 @@ download() {
        done
 }
 
+purge() {
+       repo=$1
+       shift
+       url=$(select "$repo" url)
+       base=${url%/*}
+       for package in "$@"; do
+               pkgid=$(zpm findpkg -f $repodir/$repo.repo $package)
+               if [ -z "$pkgid" ]; then
+                       warn "no package found for $package"
+               else
+                       mkdir -p "$repodir/$repo"
+                       dest="$repodir/$repo/$pkgid.zpm"
+
+                       if [ -f "$dest" ]; then
+                               rm $dest
+                       fi
+                       zpm rmpackage -f $repodir/$repo.repo $pkgid
+               fi
+       done
+}
+
 check_for_repo() {
        rn=$(select "$1" name)
        if [ -z "$rn" ]; then
@@ -210,6 +231,10 @@ case $action in
                shift
                zpm contents -f $repodir/$repo.repo "$@"
                ;;
+       purge)
+               purge "$@"
+               ;;
+
        *)
                echo unknown action
                exit 1