]>
git.ipfire.org Git - pakfire.git/blob - scripts/quality-agent.d/050-invalid-interpreters
3 . $
(dirname ${0})/qa-include
5 DESC
="Detect invalid interpreters."
12 for file in $
(find ${BUILDROOT} -type f
2>/dev
/null
); do
13 # If a file is not executeable we don't need to check it
14 [ -x "${file}" ] ||
continue
16 if file_is_script
${file}; then
17 interpreter
=$
(file_get_interpreter
${file})
19 if grep -q /usr
/local <<<${interpreter}; then
21 log_error
" Interpreter in /usr/local: ${file}"
24 # Search for bad /usr/bin/env
25 if [ "$(basename ${interpreter})" = "env" ]; then
28 -e "s,/usr/bin/env python.\..,/usr/bin/python," \
29 -e "s,/usr/bin/env python,/usr/bin/python," \
30 -e "s,/usr/bin/env perl,/usr/bin/perl,"
32 # If we could not fix it, raise an error
33 if [ "${interpreter}" = "$(file_get_interpreter ${file})" ]; then
35 log_error
" Script uses forbidden \"env\" interpreter: ${file}"