summaryrefslogtreecommitdiff
path: root/trunk/src
diff options
context:
space:
mode:
authorfuzzyray <fuzzyray@gentoo.org>2007-09-18 21:19:06 +0000
committerfuzzyray <fuzzyray@gentoo.org>2007-09-18 21:19:06 +0000
commit2b6bba2da34f307837a3662d347554fe705d8d60 (patch)
treefcbd87cdc117800d5662eefdb954d695ea627611 /trunk/src
parent42700799a193c373e33e3d9a0123039235cc8b69 (diff)
downloadgentoolkit-2b6bba2da34f307837a3662d347554fe705d8d60.tar.gz
Updated fix for revdep-rebuild to ignore libraries in LD_LIBRARY_MASK, when checking for "no version information available" errors (Bug #182882)
svn path=/; revision=441
Diffstat (limited to 'trunk/src')
-rwxr-xr-xtrunk/src/revdep-rebuild/revdep-rebuild-rewrite15
1 files changed, 8 insertions, 7 deletions
diff --git a/trunk/src/revdep-rebuild/revdep-rebuild-rewrite b/trunk/src/revdep-rebuild/revdep-rebuild-rewrite
index aa01e1c..a62257b 100755
--- a/trunk/src/revdep-rebuild/revdep-rebuild-rewrite
+++ b/trunk/src/revdep-rebuild/revdep-rebuild-rewrite
@@ -510,6 +510,7 @@ main_checks() {
else
[[ $LIST ]] || die 1 "$LIST" 'is undefined! (This is a bug.)'
set_trap "$LIST.3_rebuild"
+ set_trap "$LIST.3_ldd_errors"
rm -f "$LIST.3"*
files=($(<"$LIST.1_files"))
numFiles="${#files[@]}"
@@ -588,13 +589,13 @@ main_checks() {
echo "obj $target_file" >> "$LIST.3_rebuild"
echo_v " broken $target_file (no version information available)"
done < <(
- awk -v ldmask="($LD_LIBRARY_MASK)" '
- BEGIN{ gsub(/\n/, "|", ldmask) }
- /no version information available/{
- gsub("[()]", "", $NF);
- if (seen[$NF]++) next;
- if ($0 ~ ldmask) next;
- print $NF
+ # Regexify LD_LIBRARY_MASK. Exclude it from the search.
+ LD_LIBRARY_MASK="${LD_LIBRARY_MASK//$'\n'/|}"
+ awk -v ldmask="(${LD_LIBRARY_MASK//./\\\.})" '
+ /no version information available/ && $0 !~ ldmask {
+ gsub(/[()]/, "", $NF)
+ if (seen[$NF]++) next
+ print $NF
}' "$LIST.3_ldd_errors"
)
fi