diff options
author | Simon Stelling <blubb@gentoo.org> | 2006-08-27 18:54:53 +0000 |
---|---|---|
committer | Simon Stelling <blubb@gentoo.org> | 2006-08-27 18:54:53 +0000 |
commit | a462ffb170646951e0ad1d9908353febd252020b (patch) | |
tree | 34ea89921293c429ccb4c33e99930566695aba71 | |
parent | 8a85278ba38cb178f32737e0208352feb888dbaa (diff) | |
download | portage-a462ffb170646951e0ad1d9908353febd252020b.tar.gz portage-a462ffb170646951e0ad1d9908353febd252020b.tar.bz2 portage-a462ffb170646951e0ad1d9908353febd252020b.zip |
make the multilib-strict check show all files that violate the rule, not just the first one
svn path=/main/trunk/; revision=4354
-rwxr-xr-x | bin/misc-functions.sh | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/bin/misc-functions.sh b/bin/misc-functions.sh index 45a85326f..8b6d88e92 100755 --- a/bin/misc-functions.sh +++ b/bin/misc-functions.sh @@ -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 } |