| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #!/bin/bash
- # command_dev_detect_ldd.sh function
- # Author: Daniel Gibbs
- # Website: https://gameservermanagers.com
- # Description: Automatically detects required deps using ldd.
- # Can check a file or directory recursively.
- echo "================================="
- echo "Shared Object dependencies Checker"
- echo "================================="
- if [ -z "${filesdir}" ]; then
- dir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))"
- fi
- if [ -d "${filesdir}" ]; then
- echo "Checking directory: "
- echo "${filesdir}"
- elif [ -f "${filesdir}" ]; then
- echo "Checking file: "
- echo "${filesdir}"
- fi
- echo ""
- files=$(find "${filesdir}" | wc -l)
- find "${filesdir}" -type f -print0 |
- while IFS= read -r -d $'\0' line; do
- #ldd -v $line 2>/dev/null|grep "=>" >>"${tmpdir}/detect_ldd.tmp"
- if [ -n "$(ldd $line 2>/dev/null |grep -v "not a dynamic executable")" ]; then
- echo "$line" >> "${tmpdir}/detect_ldd.tmp"
- ldd $line 2>/dev/null |grep -v "not a dynamic executable" >> "${tmpdir}/detect_ldd.tmp"
- if [ -n "$(ldd $line 2>/dev/null |grep -v "not a dynamic executable"|grep "not found")" ]; then
- echo "$line" >> "${tmpdir}/detect_ldd_not_found.tmp"
- ldd $line 2>/dev/null |grep -v "not a dynamic executable"|grep "not found" >> "${tmpdir}/detect_ldd_not_found.tmp"
- fi
- fi
- echo -n "$i / $files" $'\r'
- ((i++))
- done
- echo ""
- echo ""
- echo "All"
- echo "================================="
- cat "${tmpdir}/detect_ldd.tmp"
- echo ""
- echo "Not Found"
- echo "================================="
- cat "${tmpdir}/detect_ldd_not_found.tmp"
- rm "${tmpdir}/detect_ldd.tmp"
- rm "${tmpdir}/detect_ldd_not_found.tmp"
|