From: Fabian Groffen Date: Fri, 21 Oct 2011 17:34:17 +0000 (+0200) Subject: Merge remote-tracking branch 'overlays-gentoo-org/master' into prefix X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=fce6d5010a4bd8c011aafae7ca6be27234b4dcf1;p=portage.git Merge remote-tracking branch 'overlays-gentoo-org/master' into prefix --- fce6d5010a4bd8c011aafae7ca6be27234b4dcf1 diff --cc bin/misc-functions.sh index f31c9e5bb,55d966344..b0933825f mode 100644,100755..100644 --- a/bin/misc-functions.sh +++ b/bin/misc-functions.sh @@@ -168,49 -166,15 +168,49 @@@ install_qa_check() fi # Now we look for all world writable files. - local i= - for i in $(find "${D}/" -type f -perm -2); do - vecho "QA Security Notice:" - vecho "- ${i:${#D}:${#i}} will be a world writable file." + local unsafe_files=$(find "${D}" -type f -perm -2 | sed -e "s:^${D}:- :") + if [[ -n ${unsafe_files} ]] ; then + vecho "QA Security Notice: world writable file(s):" + vecho "${unsafe_files}" vecho "- This may or may not be a security problem, most of the time it is one." vecho "- Please double check that $PF really needs a world writeable bit and file bugs accordingly." - done - [[ -n ${i} ]] && sleep 1 + sleep 1 + fi + # anything outside the prefix should be caught by the Prefix QA + # check, so if there's nothing in ED, we skip searching for QA + # checks there, the specific QA funcs can hence rely on ED existing + if [[ -d ${ED} ]] ; then + case ${CHOST} in + *-darwin*) + # Mach-O platforms (NeXT, Darwin, OSX) + install_qa_check_macho + ;; + *-interix*|*-winnt*) + # PECOFF platforms (Windows/Interix) + install_qa_check_pecoff + ;; + *-aix*) + # XCOFF platforms (AIX) + install_qa_check_xcoff + ;; + *) + # because this is the majority: ELF platforms (Linux, + # Solaris, *BSD, IRIX, etc.) + install_qa_check_elf + ;; + esac + fi + + # this is basically here such that the diff with trunk remains just + # offsetted and not out of order + install_qa_check_misc + + # Prefix specific checks + [[ -n ${EPREFIX} ]] && install_qa_check_prefix +} + +install_qa_check_elf() { if type -P scanelf > /dev/null && ! has binchecks ${RESTRICT}; then local qa_var insecure_rpath=0 tmp_quiet=${PORTAGE_QUIET} local x