b899099 made path checking a bit more strict than I had intended, and
would actually forbid creation of a repo in $PWD if only the filename
was specified. readlink would be the fun and easy solution here, but
it's avoided due to portability issues, making the validation process a
bit more verbose.
---
 scripts/repo-add.sh.in |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in
index 17639ed..029e17d 100644
--- a/scripts/repo-add.sh.in
+++ b/scripts/repo-add.sh.in
@@ -374,9 +374,18 @@ db_remove_entry() {
 } # end db_remove_entry
 
 check_repo_db() {
+       local repodir
+
        # ensure the path to the DB exists
-       if [[ ! -d "${LOCKFILE%/*}" ]]; then
-               error "$(gettext "%s does not exist or is not a directory.")" 
"${LOCKFILE%/*}"
+       if [[ "$LOCKFILE" == /* ]]; then
+               repodir=${LOCKFILE%/*}/
+       else
+               repodir=$PWD/$LOCKFILE
+               repodir=${repodir%/*}/
+       fi
+
+       if [[ ! -d "$repodir" ]]; then
+               error "$(gettext "%s does not exist or is not a directory.")" 
"$repodir"
                exit 1
        fi
 
-- 
1.7.5.4


Reply via email to