From: fuzzyray Date: Sat, 10 Mar 2007 03:41:00 +0000 (-0000) Subject: Add support to detect "no version information available" message from ldd (Bug #169973) X-Git-Tag: gentoolkit-0.2.4.3~159 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=afdcabf1af64f44e93a0049ec30bb9739a341525;p=gentoolkit.git Add support to detect "no version information available" message from ldd (Bug #169973) svn path=/; revision=354 --- diff --git a/trunk/ChangeLog b/trunk/ChangeLog index 19eef9d..1dce6d1 100644 --- a/trunk/ChangeLog +++ b/trunk/ChangeLog @@ -1,3 +1,7 @@ +2007-03-09 Paul Varner + * revdep-rebuild: Add support to detect "no version information + available" message from ldd (Bug #169973) + 2007-03-08 Paul Varner * equery: Improved handling of KeyError in equery depends command (Bug #169929) diff --git a/trunk/src/revdep-rebuild/revdep-rebuild b/trunk/src/revdep-rebuild/revdep-rebuild index 7293431..f404051 100755 --- a/trunk/src/revdep-rebuild/revdep-rebuild +++ b/trunk/src/revdep-rebuild/revdep-rebuild @@ -430,10 +430,11 @@ else set_trap "$LLIST.3_rebuild" LD_MASK="\\( $(echo "$LD_LIBRARY_MASK" | sed 's/\./\\./g;s/ / \\| /g') \\)" echo -n >$LLIST.3_rebuild + echo -n >$LLIST.3_ldd_errors cat $LIST.1_files | egrep -v '*\.la$' | while read FILE ; do # Note: double checking seems to be faster than single # with complete path (special add ons are rare). - if ldd "$FILE" 2>/dev/null | grep -v "$LD_MASK" | $SONAME_GREP -q "$SONAME_SEARCH" ; then + if ldd "$FILE" 2>>$LLIST.3_ldd_errors | grep -v "$LD_MASK" | $SONAME_GREP -q "$SONAME_SEARCH" ; then if $SEARCH_BROKEN && $FULL_LD_PATH ; then if LD_LIBRARY_PATH="$COMPLETE_LD_LIBRARY_PATH" ldd "$FILE" 2>/dev/null | grep -v "$LD_MASK" | $SONAME_GREP -q "$SONAME_SEARCH" ; then # FIX: I hate duplicating code @@ -480,6 +481,12 @@ else fi done if $SEARCH_BROKEN ; then + # Look for missing version + for FILE in $(grep "no version information available" $LLIST.3_ldd_errors | awk '{print $NF}' | sed 's/[()]//g' | sort -u) ; do + echo "obj $FILE" >>$LLIST.3_rebuild + echo_v " broken $FILE (no version information available)" + done + # Look for broken .la files cat $LIST.1_files | egrep '*\.la$' | while read FILE ; do for depend in $(grep '^dependency_libs' $FILE | awk -F'=' '{print $2}' | sed "s/'//g") ; do [ ${depend:0:1} != '/' ] && continue