[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