summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2010-08-18 20:17:46 +0200
committerDan McGee <dan@archlinux.org>2010-08-18 20:17:46 +0200
commit281bc725342e07d314f412ba6c930c3efb8f623c (patch)
tree4e6679fcaf63282e3d3eb252ccfae78004513c18 /scripts
parent5908992e4730263edb8255439560d5411d28c895 (diff)
downloadpacman-281bc725342e07d314f412ba6c930c3efb8f623c.tar.gz
pacman-281bc725342e07d314f412ba6c930c3efb8f623c.tar.xz
repo-add: create relative DB symlinks
As noted in FS#20498, if an absolute path is used for specifying the database when invoking repo-add, the symlink generated will point to the absolute path instead of being relative to the directory. Fix this for the two linking cases, but leave the copy untouched so that will still work. Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/repo-add.sh.in5
1 files changed, 3 insertions, 2 deletions
diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in
index 2838f817..283ad07a 100644
--- a/scripts/repo-add.sh.in
+++ b/scripts/repo-add.sh.in
@@ -488,8 +488,9 @@ if (( success )); then
[[ -f $REPO_DB_FILE ]] && mv -f "$REPO_DB_FILE" "${REPO_DB_FILE}.old"
[[ -f $tmpdir/$filename ]] && mv "$tmpdir/$filename" "$REPO_DB_FILE"
dblink="${REPO_DB_FILE%.tar.*}"
- ln -sf "$REPO_DB_FILE" "$dblink" 2>/dev/null || \
- ln -f "$REPO_DB_FILE" "$dblink" 2>/dev/null || \
+ target=${REPO_DB_FILE##*/}
+ ln -sf "$target" "$dblink" 2>/dev/null || \
+ ln -f "$target" "$dblink" 2>/dev/null || \
cp "$REPO_DB_FILE" "$dblink"
else
msg "$(gettext "No packages modified, nothing to do.")"