diff options
author | Dan McGee <dan@archlinux.org> | 2010-08-18 20:17:46 +0200 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2010-08-18 20:17:46 +0200 |
commit | 281bc725342e07d314f412ba6c930c3efb8f623c (patch) | |
tree | 4e6679fcaf63282e3d3eb252ccfae78004513c18 | |
parent | 5908992e4730263edb8255439560d5411d28c895 (diff) | |
download | pacman-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>
-rw-r--r-- | scripts/repo-add.sh.in | 5 |
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.")" |