From 281bc725342e07d314f412ba6c930c3efb8f623c Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Wed, 18 Aug 2010 13:17:46 -0500 Subject: 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 --- scripts/repo-add.sh.in | 5 +++-- 1 file 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.")" -- cgit v1.2.3-70-g09d2