From: Brian Harring Date: Thu, 2 Feb 2006 10:41:40 +0000 (-0000) Subject: bug #116681 , better handling of MULTILIB_STRICT_EXEMPT X-Git-Tag: v2.1_pre5_2760~114 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=86f314ec167ed3eac50425241f764b5146082dab;p=portage.git bug #116681 , better handling of MULTILIB_STRICT_EXEMPT svn path=/main/trunk/; revision=2622 --- diff --git a/bin/ebuild.sh b/bin/ebuild.sh index 8c1dcf73c..1d5c6f90c 100755 --- a/bin/ebuild.sh +++ b/bin/ebuild.sh @@ -1239,10 +1239,10 @@ dyn_install() { 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 - MULTILIB_STRICT_EXEMPT=${MULTILIB_STRICT_EXEMPT:-"(perl5|gcc|gcc-lib|debug)"} + MULTILIB_STRICT_EXEMPT=$(echo ${MULTILIB_STRICT_EXEMPT:-"(perl5|gcc|gcc-lib|debug)"} | sed -e 's:\([(|)]\):\\\1:g') for dir in ${MULTILIB_STRICT_DIRS}; do [ -d "${D}/${dir}" ] || continue - for file in $(find ${D}/${dir} -type f | egrep -v "^${D}/${dir}/${MULTILIB_STRICT_EXEMPT}"); do + 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}" done done