[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