From: Marius Mauch Date: Fri, 25 Apr 2008 03:39:58 +0000 (-0000) Subject: as NEEDED files don't conain enough formation for e.g. preserve-libsto work properly... X-Git-Tag: v2.2_pre6~115 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=fe826380797ea035ac2778fa03149ac7b5e89b18;p=portage.git as NEEDED files don't conain enough formation for e.g. preserve-libsto work properly and we don't want to change the format of existing files create another file including additional information svn path=/main/trunk/; revision=9970 --- diff --git a/bin/misc-functions.sh b/bin/misc-functions.sh index 41b38e5a5..c5952926a 100755 --- a/bin/misc-functions.sh +++ b/bin/misc-functions.sh @@ -159,13 +159,16 @@ install_qa_check() { fi # Save NEEDED information after removing self-contained providers - scanelf -qyRF '%p:%r %n' "${D}" | sed -e 's:^:/:' | { while read l; do - obj=${l%%:*} - rpath=${l##*:}; rpath=${rpath%% *} - needed=${l##* } + scanelf -qyRF '%a;%p;%S;%r;%n' "${D}" | { while read l; do + arch=${l%%;*}; l=${l#*;} + obj="/${l%%;*}"; l=${l#*;} + 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.2 else dir=$(dirname ${obj}) # replace $ORIGIN with the dirname of the current object for the lookup @@ -176,7 +179,10 @@ install_qa_check() { [ -e "${D}/${dir}/${lib}" ] || rneeded="${rneeded},${lib}" done rneeded=${rneeded:1} - [ -n "${rneeded}" ] && echo "${obj} ${rneeded}" >> "${PORTAGE_BUILDDIR}"/build-info/NEEDED + if [ -n "${rneeded}" ]; then + echo "${obj} ${rneeded}" >> "${PORTAGE_BUILDDIR}"/build-info/NEEDED + echo "${arch:3};/${obj};${soname};${rpath};${rneeded}" >> "${PORTAGE_BUILDDIR}"/build-info/NEEDED.2 + fi fi done } diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py index d2ff6c1ef..d9048dcab 100644 --- a/pym/portage/dbapi/vartree.py +++ b/pym/portage/dbapi/vartree.py @@ -2055,6 +2055,7 @@ class dblink(object): # copy "info" files (like SLOT, CFLAGS, etc.) into the database for x in listdir(inforoot): + print x self.copyfile(inforoot+"/"+x) # write local package counter for recording