NEEDED.ELF.2: include sonames from $ORIGIN
authorZac Medico <zmedico@gentoo.org>
Tue, 8 May 2012 07:39:36 +0000 (00:39 -0700)
committerZac Medico <zmedico@gentoo.org>
Tue, 8 May 2012 07:39:36 +0000 (00:39 -0700)
This reverts the behavior change from bug #205531 (see commit
5baa57a65368472c2c22b9bd2b30e634ef644b92). That special handling should
be unnecessary since the changes from bug #289180 (see commit
296fc63fee262600811520fccf4692f47a39ffba), where the
LinkageMapELF.findConsumers() exclude_providers argument is used to
exclude irrelevant consumers.

bin/misc-functions.sh

index 4a74984b244dbfba55bf49f99b520a72660f6d72..ab070aa8ebbe7ad351a208fc7d5192f82cd6897a 100755 (executable)
@@ -523,29 +523,8 @@ install_qa_check() {
                        soname=${l%%;*}; l=${l#*;}
                        rpath=${l%%;*}; l=${l#*;}; [ "${rpath}" = "  -  " ] && rpath=""
                        needed=${l%%;*}; l=${l#*;}
-                       if [ -z "${rpath}" -o -n "${rpath//*ORIGIN*}" ]; then
-                               # object doesn't contain $ORIGIN in its runpath attribute
-                               echo "${obj} ${needed}" >> "${PORTAGE_BUILDDIR}"/build-info/NEEDED
-                               echo "${arch:3};${obj};${soname};${rpath};${needed}" >> "${PORTAGE_BUILDDIR}"/build-info/NEEDED.ELF.2
-                       else
-                               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 , ' ')
-                               rneeded=""
-                               for lib in ${sneeded}; do
-                                       found=0
-                                       for path in ${opath//:/ }; do
-                                               [ -e "${D}/${path}/${lib}" ] && found=1 && break
-                                       done
-                                       [ "${found}" -eq 0 ] && rneeded="${rneeded},${lib}"
-                               done
-                               rneeded=${rneeded:1}
-                               if [ -n "${rneeded}" ]; then
-                                       echo "${obj} ${rneeded}" >> "${PORTAGE_BUILDDIR}"/build-info/NEEDED
-                                       echo "${arch:3};${obj};${soname};${rpath};${rneeded}" >> "${PORTAGE_BUILDDIR}"/build-info/NEEDED.ELF.2
-                               fi
-                       fi
+                       echo "${obj} ${needed}" >> "${PORTAGE_BUILDDIR}"/build-info/NEEDED
+                       echo "${arch:3};${obj};${soname};${rpath};${needed}" >> "${PORTAGE_BUILDDIR}"/build-info/NEEDED.ELF.2
                done }
 
                [ -n "${QA_SONAME_NO_SYMLINK}" ] && \