summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Stelling <blubb@gentoo.org>2006-08-27 18:54:53 +0000
committerSimon Stelling <blubb@gentoo.org>2006-08-27 18:54:53 +0000
commita462ffb170646951e0ad1d9908353febd252020b (patch)
tree34ea89921293c429ccb4c33e99930566695aba71
parent8a85278ba38cb178f32737e0208352feb888dbaa (diff)
downloadportage-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-xbin/misc-functions.sh11
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
}