From: Michael Tremer Date: Thu, 22 Dec 2011 18:45:11 +0000 (+0100) Subject: Create automatic dependencies to runtime interpreters. X-Git-Tag: 0.9.20~33^2~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1df83d3322226098ecbd27914512f3e56c7acf04;p=pakfire.git Create automatic dependencies to runtime interpreters. --- diff --git a/tools/find-requires b/tools/find-requires index ddfdb5fa6..7599cfeb0 100755 --- a/tools/find-requires +++ b/tools/find-requires @@ -96,6 +96,12 @@ done # Output the list of needed interpreters. [ -n "${interpreters}" ] && { echo "${interpreters}" | tr '[:blank:]' \\n | sort -u ; } +# Search for binary interpreters. +for file in ${binary_files}; do + # Just print the interpreter. + file_get_elf_interpreter ${file} +done | sort -u + # Weak symbol versions (from glibc). [ -n "${mark64}" ] && mark64="(64bit)" for file in ${binary_files}; do diff --git a/tools/functions-files b/tools/functions-files index b721ea0e0..593a17772 100644 --- a/tools/functions-files +++ b/tools/functions-files @@ -30,15 +30,15 @@ function file_get_interpreter() { local file=${1} if file_is_elf ${file}; then - _file_get_elf_interpreter ${file} + file_get_elf_interpreter ${file} elif file_is_script ${file}; then - _file_get_script_interpreter ${file} + file_get_script_interpreter ${file} fi } # Hidden function that gets the interpreter from an ELF file. # -function _file_get_elf_interpreter() { +function file_get_elf_interpreter() { local file=${1} local interp=$(readelf -l ${file} | grep "program interpreter" | \ @@ -54,7 +54,7 @@ function _file_get_elf_interpreter() { # Hidden fucntion that gets the interpreter from a script file. # -function _file_get_script_interpreter() { +function file_get_script_interpreter() { local file=${1} # If the file is not executeable, no interpreter will be needed