[pacman-dev] [PATCH 3/4] repo-add : remove the need of realpath for REPO_DB_FILE

Dan McGee dpmcgee at gmail.com
Wed Feb 18 20:24:52 EST 2009


On Wed, Feb 18, 2009 at 10:19 AM, Xavier Chantry <shiningxc at gmail.com> wrote:
> REPO_DB_FILE does not need to be an absolute path anymore so no need to
> call realpath.
>
> Signed-off-by: Xavier Chantry <shiningxc at gmail.com>
> ---
>  scripts/repo-add.sh.in |   31 +++++++++++++++----------------
>  1 files changed, 15 insertions(+), 16 deletions(-)
>
> diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in
> index 6b10527..7a271c4 100644
> --- a/scripts/repo-add.sh.in
> +++ b/scripts/repo-add.sh.in
> @@ -317,7 +317,7 @@ for arg in "$@"; do
>                QUIET=1
>        elif [ -z "$REPO_DB_FILE" ]; then
>                # store absolute path to repo DB
> -               REPO_DB_FILE=$($realpath "$arg")
> +               REPO_DB_FILE="$arg"
>                if [ -f "$REPO_DB_FILE" ]; then
>                        if ! (bsdtar -tf "$REPO_DB_FILE" | grep -q "/desc"); then
>                                error "$(gettext "Repository file '%s' is not a proper pacman database.")" "$REPO_DB_FILE"
> @@ -359,27 +359,26 @@ done
>  # if all operations were a success, re-zip database
>  if [ $success -eq 1 ]; then
>        msg "$(gettext "Creating updated database file '%s'")" "$REPO_DB_FILE"
> -       pushd "$gstmpdir" 2>&1 >/dev/null
>
> -       if [ -n "$(ls)" ]; then
> -               [ -f "${REPO_DB_FILE}.old" ] && rm "${REPO_DB_FILE}.old"
> -               [ -f "$REPO_DB_FILE" ] && mv "$REPO_DB_FILE" "${REPO_DB_FILE}.old"
> -
> -               case "$REPO_DB_FILE" in
> -                       *tar.gz)  TAR_OPT="z" ;;
> -                       *tar.bz2) TAR_OPT="j" ;;
> -                       *) warning "$(gettext "'%s' does not have a valid archive extension.")" \
> -                                  "$REPO_DB_FILE" ;;
> -               esac
> +       case "$REPO_DB_FILE" in
> +               *tar.gz)  TAR_OPT="z" ;;
> +               *tar.bz2) TAR_OPT="j" ;;
> +               *) warning "$(gettext "'%s' does not have a valid archive extension.")" \
> +               "$REPO_DB_FILE" ;;
> +       esac
> +
> +       filename=$(basename "$REPO_DB_FILE")
>
> -               bsdtar -c${TAR_OPT}f "$REPO_DB_FILE" *
> +       pushd "$gstmpdir" 2>&1 >/dev/null
> +       if [ -n "$(ls)" ]; then
> +               bsdtar -c${TAR_OPT}f "$filename" *
>        else
> -               # we should only end up with an empty db after a remove of the last package in the database
>                error "$(gettext "All packages have been removed from the database. Deleting '%s'.")" "$REPO_DB_FILE"
> -               rm "$REPO_DB_FILE"
Huh? Why'd this get killed, or am I missing something?

>        fi
> -
>        popd 2>&1 >/dev/null
> +
> +       [ -f "$REPO_DB_FILE" ] && mv -f "$REPO_DB_FILE" "${REPO_DB_FILE}.old"
> +       [ -f "$gstmpdir/$filename" ] && mv "$gstmpdir/$filename" "$REPO_DB_FILE"
>  else
>        msg "$(gettext "No packages modified, nothing to do.")"
>  fi
> --
> 1.6.1.3
>
> _______________________________________________
> pacman-dev mailing list
> pacman-dev at archlinux.org
> http://www.archlinux.org/mailman/listinfo/pacman-dev
>


More information about the pacman-dev mailing list