From 30e2496775897644fb397b32e8bdf0ae2f827216 Mon Sep 17 00:00:00 2001 From: Xavier Chantry Date: Thu, 26 Feb 2009 18:16:23 +0100 Subject: repo-add: fail early if repo can not be created Before this commit, the repo creation could fail after all packages have been added to the database. Now this will be detected before adding anything. Signed-off-by: Xavier Chantry Signed-off-by: Dan McGee --- scripts/repo-add.sh.in | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'scripts/repo-add.sh.in') diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in index 14bd00e4..7c12aaf2 100644 --- a/scripts/repo-add.sh.in +++ b/scripts/repo-add.sh.in @@ -312,10 +312,20 @@ check_repo_db() msg "$(gettext "Extracting database to a temporary location...")" bsdtar -xf "$REPO_DB_FILE" -C "$tmpdir" else - if [ "$cmd" == "repo-remove" ]; then + case "$cmd" in + repo-remove) error "$(gettext "Repository file '%s' was not found.")" "$REPO_DB_FILE" exit 1 - fi + ;; + repo-add) + # check if the file can be created (write permission, directory existence, etc) + if ! touch "$REPO_DB_FILE"; then + error "$(gettext "Repository file '%s' could not be created.")" "$REPO_DB_FILE" + exit 1 + fi + rm -f "$REPO_DB_FILE" + ;; + esac fi } -- cgit v1.2.3-70-g09d2