diff --git a/abuild.in b/abuild.in index cb5d2862fa7f944176686ea6d20560aba645bde6..3879b5eb7827eacc5b8e20418097e01cfe504b8c 100644 --- a/abuild.in +++ b/abuild.in @@ -1176,12 +1176,16 @@ scan_shared_objects() { # find which package provides file that symlink points to scan_symlink_targets() { local name="$1" dir="$2" datadir="$3" - local symfile + local symfile= targetpath= cd "$datadir" for symfile in "$pkgbasedir"/.control.*/.symlinks; do [ -e "$symfile" ] || continue while read symlink target; do - if [ -e "${symlink%/*}"/"$target" ]; then + case "$target" in + /*) targetpath="${datadir}/$target";; + *) targetpath="${symlink%/*}/$target";; + esac + if [ -e "$targetpath" ] || [ -L "$targetpath" ]; then local d="${symfile%/.symlinks}" echo "$name=$pkgver-r$pkgrel" \ >> "$d"/.symlinks-needs