From 727d34b9daa8f4f4afd714d915fcc29eb0a9850f Mon Sep 17 00:00:00 2001 From: Fabian Groffen Date: Mon, 14 Sep 2009 10:59:46 +0000 Subject: [PATCH] automatically fix shebangs where possible as the number of problems is too big to fix them all in the ebuilds svn path=/main/branches/prefix/; revision=14267 --- bin/misc-functions.sh | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/bin/misc-functions.sh b/bin/misc-functions.sh index 5444379d3..0365853e7 100644 --- a/bin/misc-functions.sh +++ b/bin/misc-functions.sh @@ -484,7 +484,6 @@ install_qa_check() { # /bin/sh - in most cases just ok, not cool, might actually # break if the script assumes posix shell (/bin/sh usually is # bourne shell for us) - local WARNLIST=" /bin/sh " local WHITELIST=" /usr/bin/env " # this is hell expensive, but how else? find "${ED}" -type f | xargs grep -H -n -m1 "^#!" | while read f ; do @@ -497,19 +496,21 @@ install_qa_check() { [[ ${fn} == "${ED}usr/share/doc/"* ]] && continue line=( ${line#"#!"} ) [[ ${WHITELIST} == *" ${line[0]} "* ]] && continue - if [[ ${WARNLIST} == *" ${line[0]} "* ]] ; then - eqawarn "QA Notice: ${fn#${D}} uses ${line[0]} in shebang which might break on some systems" - continue - fi # does the shebang start with ${EPREFIX}? [[ ${line[0]} == ${EPREFIX}* ]] && continue + # can we just fix it(tm)? + if [[ -x ${EPREFIX}${line[0]} || -x ${ED}${line[0]} ]] ; then + ewarn "prefixing shebang of ${fn#${D}}" + sed -i -e '1s:^#1 \?:#!'"${EPREFIX}"':' "${fn}" + continue + fi # all else is an error echo "${fn#${D}}:${line[0]}" >> "${T}"/non-prefix-shebangs-errs done if [[ -e "${T}"/non-prefix-shebangs-errs ]] ; then - eqawarn "QA Notice: the following files use non-prefixed shebangs:" + eqawarn "QA Notice: the following files use invalid (possible non-prefixed) shebangs:" eqawarn "$(<"${T}"/non-prefix-shebangs-errs)" - die "Aborting due to QA concerns: non-prefixed shebangs found" + die "Aborting due to QA concerns: invalid shebangs found" rm -f "${T}"/non-prefix-shebangs-errs fi fi -- 2.26.2