* Use pure bash ${PARAMETER%/*} instead of spawing`dirname`.
authorZac Medico <zmedico@gentoo.org>
Sat, 26 Jul 2008 10:31:59 +0000 (10:31 -0000)
committerZac Medico <zmedico@gentoo.org>
Sat, 26 Jul 2008 10:31:59 +0000 (10:31 -0000)
* Break out of loop as early as possible when searching for libs in ${D}.

svn path=/main/trunk/; revision=11199

bin/misc-functions.sh

index b27c81e8668320396d10e9c3956f74d96a114500..e8b23a4d3ddf119e183b914548b1a33bba0485c5 100755 (executable)
@@ -170,7 +170,7 @@ install_qa_check() {
                                echo "${obj} ${needed}" >> "${PORTAGE_BUILDDIR}"/build-info/NEEDED
                                echo "${arch:3};${obj};${soname};${rpath};${needed}" >> "${PORTAGE_BUILDDIR}"/build-info/NEEDED.ELF.2
                        else
-                               dir=$(dirname ${obj})
+                               dir=${obj%/*}
                                # replace $ORIGIN with the dirname of the current object for the lookup
                                opath=$(echo :${rpath}: | sed -e "s#.*:\(.*\)\$ORIGIN\(.*\):.*#\1${dir}\2#")
                                sneeded=$(echo ${needed} | tr , ' ')
@@ -178,7 +178,7 @@ install_qa_check() {
                                for lib in ${sneeded}; do
                                        found=0
                                        for path in ${opath//:/ }; do
-                                               [ -e "${D}/${path}/${lib}" ] && found=1
+                                               [ -e "${D}/${path}/${lib}" ] && found=1 && break
                                        done
                                        [ "${found}" -eq 0 ] && rneeded="${rneeded},${lib}"
                                done