aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xkiss9
1 files changed, 7 insertions, 2 deletions
diff --git a/kiss b/kiss
index 11acaa8..f0fb0ff 100755
--- a/kiss
+++ b/kiss
@@ -958,10 +958,15 @@ args() {
[ "$1" ] || die "'kiss owns' requires an argument."
for file; do
- [ -f "$KISS_ROOT/$file" ] || die "File '$file' doesn't exist."
+ # Strip 'KISS_ROOT' from the file path if passed and
+ # follow symlinks.
+ file=$(realpath "$KISS_ROOT/${file##$KISS_ROOT}")
+
+ [ -f "$file" ] || die "File '$file' doesn't exist."
set +f
- pkg_owns=$(grep -lFx "$file" "$KISS_ROOT/$pkg_db/"*/manifest)
+ pkg_owns=$(grep -lFx "${file##$KISS_ROOT}" \
+ "$KISS_ROOT/$pkg_db/"*/manifest)
set -f
pkg_owns=${pkg_owns%/*}