From bc9dbeed5aae44d969a3a4b87318dbddbec7f4b9 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Fri, 13 Apr 2007 19:50:52 +0000 Subject: [PATCH] simplify unsafe file checking so files/paths with spaces dont cause troubles (trunk r6391:6392) svn path=/main/branches/2.1.2/; revision=6393 --- bin/misc-functions.sh | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/bin/misc-functions.sh b/bin/misc-functions.sh index 1b22b2f6c..71137f244 100755 --- a/bin/misc-functions.sh +++ b/bin/misc-functions.sh @@ -45,18 +45,6 @@ install_qa_check() { cd "${D}" || die "cd failed" prepall - declare -i UNSAFE=0 - for i in $(find "${D}/" -type f -perm -2002); do - ((UNSAFE++)) - vecho "UNSAFE SetGID: $i" - chmod -s,o-w "$i" - done - for i in $(find "${D}/" -type f -perm -4002); do - ((UNSAFE++)) - vecho "UNSAFE SetUID: $i" - chmod -s,o-w "$i" - done - # Now we look for all world writable files. for i in $(find "${D}/" -type f -perm -2); do vecho -ne '\a' @@ -199,8 +187,11 @@ install_qa_check() { PORTAGE_QUIET=${tmp_quiet} fi - if [[ ${UNSAFE} > 0 ]] ; then - die "There are ${UNSAFE} unsafe files. Portage will not install them." + local unsafe_files=$(find "${D}" -type f '(' -perm -2002 -o -perm -4002 ')') + if [[ -n ${unsafe_files} ]] ; then + eqawarn "QA Notice: Unsafe files detected (set*id and world writable)" + eqawarn "${unsafe_files}" + die "Unsafe files found in \${D}. Portage will not install them." fi if [[ -d ${D}/${D} ]] ; then -- 2.26.2