kiss/contrib/kiss-owns
Dylan Araps 6786d2ca0a
kiss: Unify usage outputs for all contrib scripts.
Seeing as how these utilities are now better integrated,
more effort should go into the overall interface between
what should be the "benchmark" or example kiss scripts.
2020-04-18 12:11:56 +03:00

24 lines
590 B
Bash
Executable File

#!/bin/sh -e
# Check which package owns a file.
# Strip 'KISS_ROOT' from the file path if passed and
# follow symlinks.
file=$(readlink -f "$KISS_ROOT/${1##$KISS_ROOT}")
[ -f "$file" ] || {
printf 'usage: kiss-owns [/path/to/file]\n'
exit 1
}
# Print the full path to the manifest file which contains
# the match to our search.
pkg_owns=$(grep -lFx "${file##$KISS_ROOT}" \
"$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] owns '$1'"