]> pd.if.org Git - zpackage/commitdiff
check for missing or unconfigured repos
authorNathan Wagner <nw@hydaspes.if.org>
Mon, 3 Dec 2018 08:24:15 +0000 (08:24 +0000)
committerNathan Wagner <nw@hydaspes.if.org>
Mon, 3 Dec 2018 08:24:15 +0000 (08:24 +0000)
zpm-repo

index 250e1e75f0ca0b1ae38622d6faa15027125d7b0f..d1e75fbaf5d4b5bbe106aedcf6a4924b85620291 100755 (executable)
--- a/zpm-repo
+++ b/zpm-repo
@@ -45,6 +45,13 @@ mkdir -p $repodir
 
 export ZPMDB
 
+warn() {
+       printf '%s:' "$0" 1>&2
+       printf ' %s' $* 1>&2
+       printf '\n' 1>&2
+       exit 1
+}
+
 die() {
        printf '%s:' "$0" 1>&2
        printf ' %s' $* 1>&2
@@ -92,6 +99,10 @@ update_info() {
        for repo in "$@"; do
                url=$(select "$repo" url)
                rf="$repodir/$repo.repo"
+               if [ -z "$url" ]; then
+                       check_for_repo "$repo" || warn "no url for repo $repo"
+                       return 1
+               fi
                if [ -f "$rf" ]; then
                        # TODO merge in so packages aren't deleted
                        curl -f '-#' -z "$rf" -o "$rf.tmp" "$url"
@@ -146,6 +157,15 @@ download() {
        done
 }
 
+check_for_repo() {
+       rn=$(select "$1" name)
+       if [ -z "$rn" ]; then
+               warn "no repository $1"
+               return 1
+       fi
+       return 0
+}
+
 case $action in
        list)
                select '' priority,name,url,refreshed ;;