forked from kiss-community/kiss
6786d2ca0a
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.
24 lines
590 B
Bash
Executable File
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'"
|