[pacman-dev] [PATCH 2/6] repo-add: fail early if repo can not be created
Allan McRae
allan at archlinux.org
Thu Feb 26 19:56:13 EST 2009
Xavier Chantry wrote:
> 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 <shiningxc at gmail.com>
>
Patch looks good. Minor stylistic comments below
> ---
> scripts/repo-add.sh.in | 18 +++++++++++++++---
> 1 files changed, 15 insertions(+), 3 deletions(-)
>
> diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in
> index b12188c..a967506 100644
> --- a/scripts/repo-add.sh.in
> +++ b/scripts/repo-add.sh.in
> @@ -326,9 +326,21 @@ for arg in "$@"; do
> fi
> msg "$(gettext "Extracting database to a temporary location...")"
> bsdtar -xf "$REPO_DB_FILE" -C "$gstmpdir"
> - elif [ "$cmd" == "repo-remove" ]; then
> - error "$(gettext "Repository file '%s' was not found.")" "$REPO_DB_FILE"
> - exit 1
> + else
> + case "$cmd" in
> + repo-remove)
>
indent the lines within this block some more:
> + error "$(gettext "Repository file '%s' was not found.")" "$REPO_DB_FILE"
> + exit 1
> + ;;
> + repo-add)
>
and these
> + # 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
> else
> if [ "$cmd" == "repo-add" ]; then
>
Allan
More information about the pacman-dev
mailing list