diff options
Diffstat (limited to 'contrib/kiss-depends-finder')
-rwxr-xr-x | contrib/kiss-depends-finder | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/contrib/kiss-depends-finder b/contrib/kiss-depends-finder deleted file mode 100755 index 3a7f88b..0000000 --- a/contrib/kiss-depends-finder +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh -e -# -# Find missing dependencies by parsing 'ldd'. - -db_dir=$KISS_ROOT/var/db/kiss/installed - -# Check if package is installed and exit if it is not. -[ -d "$db_dir/${1-null}" ] || { - printf '%s\n' "error: '$1' not installed." >&2 - exit 1 -} - -printf '%s\n' "=> Detected dependencies:" - -while read -r file; do - # Skip directories. - [ -d "$KISS_ROOT/$file" ] && continue - - ldd "$KISS_ROOT/$file" 2>/dev/null | while read -r dep; do - # Skip lines containing 'ldd'. - [ "${dep##*ldd*}" ] || continue - - # Extract the file path from 'ldd' output. - dep=${dep#* => } - dep=${dep% *} - - # Traverse symlinks to get the true path to the file. - pkg=$(readlink -f "$KISS_ROOT/${dep##$KISS_ROOT}") - - # Figure out which package owns the file. - pkg=$(grep -lFx "${pkg##$KISS_ROOT}" "$db_dir/"*/manifest) - pkg=${pkg%/*} - pkg=${pkg##*/} - - case $pkg in - # Skip listing these packages as dependencies. - musl|gcc|$1) ;; - *) printf '%s\n' "$pkg" ;; - esac - done & -done < "$db_dir/$1/manifest" | sort | uniq - -printf '\n%s\n' "=> Package dependencies:" - -[ -f "$db_dir/$1/depends" ] && - cat "$db_dir/$1/depends" |