]>
git.ipfire.org Git - people/stevee/pakfire.git/blob - src/quality-agent/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 interp
=$
(basename ${interpreter} 2>/dev
/null
)
26 if [ "${interp}" = "env" ]; then
29 -e "s,/usr/bin/env python\(.*\),/usr/bin/python\1," \
30 -e "s,/usr/bin/env python,/usr/bin/python," \
31 -e "s,/usr/bin/env perl,/usr/bin/perl," \
32 -e "s,/usr/bin/env ruby,/usr/bin/ruby,"
34 # If we could not fix it, raise an error
35 if [ "${interpreter}" = "$(file_get_interpreter ${file})" ]; then
37 log_error
" Script uses forbidden \"env\" interpreter: ${file}"