diff options
| author | fuzzyray <fuzzyray@gentoo.org> | 2007-03-10 03:41:00 +0000 |
|---|---|---|
| committer | fuzzyray <fuzzyray@gentoo.org> | 2007-03-10 03:41:00 +0000 |
| commit | afdcabf1af64f44e93a0049ec30bb9739a341525 (patch) | |
| tree | efc31ddf0f8e891edb0909cacbcf2568924d47f3 | |
| parent | 1933a7bbd782c0c6e65346f351e28cc78a18ab03 (diff) | |
| download | gentoolkit-afdcabf1af64f44e93a0049ec30bb9739a341525.tar.gz | |
Add support to detect "no version information available" message from ldd (Bug #169973)
svn path=/; revision=354
| -rw-r--r-- | trunk/ChangeLog | 4 | ||||
| -rwxr-xr-x | trunk/src/revdep-rebuild/revdep-rebuild | 9 |
2 files changed, 12 insertions, 1 deletions
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 <fuzzyray@gentoo.org> + * revdep-rebuild: Add support to detect "no version information + available" message from ldd (Bug #169973) + 2007-03-08 Paul Varner <fuzzyray@gentoo.org> * 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 |
