#!/bin/sh -e
# Check which package owns a file

# Follow symlinks to any paths.
case $1 in
    /*)
        cd -P "$KISS_ROOT${1%/*}"
    ;;

    */*)
        cd -P "${1%/*}"
    ;;

    *)
        cd -P .
    ;;
esac

[ -f "$PWD/${1##*/}" ] || {
    printf 'usage: kiss-owns [/path/to/file]\n' >&2
    exit 1
}

# Print the full path to the manifest file which contains
# the match to our search.
pkg_owns=$(grep -lFx \
    "$PWD/${1##*/}" \
    "$KISS_ROOT/var/db/kiss/installed/"*/manifest)


# Extract the package name from the path above.
pkg_owns=${pkg_owns%/*}
pkg_owns=${pkg_owns##*/}

printf '%s\n' "$pkg_owns"
