X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=zpm-repo;h=0477952a6a4d17465066d5ced34bad920f533e79;hb=fabeca432bfe4cdc427caec1aa57a91b07b63f3c;hp=d1e75fbaf5d4b5bbe106aedcf6a4924b85620291;hpb=fc00e5790546ea6120bb3e2f9ca1e95fbb74d9c3;p=zpackage diff --git a/zpm-repo b/zpm-repo index d1e75fb..0477952 100755 --- 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 @@ -205,6 +226,15 @@ case $action in shift zpm list -f $repodir/$repo.repo "$@" ;; + contents) + repo=$1 + shift + zpm contents -f $repodir/$repo.repo "$@" + ;; + purge) + purge "$@" + ;; + *) echo unknown action exit 1