[pacman-dev] [PATCH 6/9] repo-add: fix path designation regression

Dave Reisner d at falconindy.com
Wed Jun 22 20:38:50 EDT 2011


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



More information about the pacman-dev mailing list