make the multilib-strict check show all files that violate the rule, not just the...
authorSimon Stelling <blubb@gentoo.org>
Sun, 27 Aug 2006 18:54:53 +0000 (18:54 -0000)
committerSimon Stelling <blubb@gentoo.org>
Sun, 27 Aug 2006 18:54:53 +0000 (18:54 -0000)
svn path=/main/trunk/; revision=4354

bin/misc-functions.sh

index 45a85326ffc27b3e48d4f746eb7dd66c981ed21d..8b6d88e92b1b4bef19973ae4680376e5e112b27e 100755 (executable)
@@ -199,13 +199,22 @@ install_qa_check() {
 
        if hasq multilib-strict ${FEATURES} && [ -x /usr/bin/file -a -x /usr/bin/find -a \
             -n "${MULTILIB_STRICT_DIRS}" -a -n "${MULTILIB_STRICT_DENY}" ]; then
+               local abort=no firstrun=yes
                MULTILIB_STRICT_EXEMPT=$(echo ${MULTILIB_STRICT_EXEMPT} | sed -e 's:\([(|)]\):\\\1:g')
                for dir in ${MULTILIB_STRICT_DIRS}; do
                        [ -d "${D}/${dir}" ] || continue
                        for file in $(find ${D}/${dir} -type f | grep -v "^${D}/${dir}/${MULTILIB_STRICT_EXEMPT}"); do
-                               file ${file} | egrep -q "${MULTILIB_STRICT_DENY}" && die "File ${file} matches a file type that is not allowed in ${dir}"
+                               if $(file ${file} | egrep -q "${MULTILIB_STRICT_DENY}") ; then
+                                       if [[ ${firstrun} == "yes" ]] ; then
+                                               echo "Files matching a file type that is not allowed:"
+                                               firstrun=no
+                                       fi
+                                       abort=yes
+                                       echo "   ${file#${D}//}"
+                               fi
                        done
                done
+               [[ ${abort} == yes ]] && die "multilib-strict check failed!"
        fi
 
 }