command_dev_detect_glibc.sh 946 B

12345678910111213141516171819202122232425262728293031323334
  1. #!/bin/bash
  2. # command_dev_detect_glibc.sh function
  3. # Author: Daniel Gibbs
  4. # Website: https://gameservermanagers.com
  5. # Description: Automatically detects the version of GLIBC that is required.
  6. # Can check a file or directory recursively.
  7. echo "================================="
  8. echo "GLIBC Requirements Checker"
  9. echo "================================="
  10. if [ -z "${filesdir}" ]; then
  11. dir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))"
  12. fi
  13. if [ -d "${filesdir}" ]; then
  14. echo "Checking directory: "
  15. echo "${filesdir}"
  16. elif [ -f "${filesdir}" ]; then
  17. echo "Checking file: "
  18. echo "${filesdir}"
  19. fi
  20. echo ""
  21. files=$(find ${filesdir} | wc -l)
  22. find ${filesdir} -type f -print0 |
  23. while IFS= read -r -d $'\0' line; do
  24. objdump -T $line 2>/dev/null|grep -oP "GLIBC[^ ]+" >>"${tmpdir}/detect_glibc.tmp"
  25. echo -n "$i / $files" $'\r'
  26. ((i++))
  27. done
  28. echo ""
  29. cat "${tmpdir}/detect_glibc.tmp"|sort|uniq|sort -r --version-sort
  30. rm "${tmpdir}/detect_glibc.tmp"