[pacman-dev] [PATCH 3/4] repo-add : remove the need of realpath for REPO_DB_FILE
Xavier Chantry
shiningxc at gmail.com
Wed Feb 18 11:19:01 EST 2009
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"
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
More information about the pacman-dev
mailing list