From d8d287b4d215eceb382385b84495666f5a03399e Mon Sep 17 00:00:00 2001 From: Dave Reisner Date: Wed, 22 Jun 2011 09:30:35 -0400 Subject: repo-add: fix path designation regression 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. Signed-off-by: Dan McGee --- scripts/repo-add.sh.in | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in index 4e2e4a70..de0b12c1 100644 --- a/scripts/repo-add.sh.in +++ b/scripts/repo-add.sh.in @@ -377,9 +377,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 -- cgit v1.2.3-70-g09d2