From f29fd048ac39925db27d8f31b43471f796ee0e0a Mon Sep 17 00:00:00 2001 From: sparky Date: Wed, 20 Oct 2010 10:36:52 +0000 Subject: [PATCH] - %__spec_install_post_check_so: print unresolved symbols for libraries even if they were marked in %skip_post_check_so Changed files: rpm.macros -> 1.588 --- rpm.macros | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/rpm.macros b/rpm.macros index 9dc99d2..380814c 100644 --- a/rpm.macros +++ b/rpm.macros @@ -661,8 +661,7 @@ fi; }; __spec_install_post_chrpath } } } fail=0; \ printf "Searching for shared objects with unresolved symbols..."; \ for f in $(find $RPM_BUILD_ROOT -type f -name '*.so.*' -print); do \ - %{?skip_post_check_so:awk -v "file=$f" 'BEGIN { split("%{skip_post_check_so}", R); for (i=1; i in R; i++) { if (file ~ "(^|/)" R[i] "$") exit(1); } }' || continue;} \ - LC_ALL=C objdump -T $f 2> /dev/null | LC_ALL=C awk -v "file=$f" 'BEGIN { found=0; skip["program_name"]=1; symbols = "" } /^[0-9a-z]+ +D +\*UND\*/ { if ($NF in skip) { next; }; found = 1; symbols = symbols "\n\t" $NF } END { if (found) { print "\nUnresolved symbols found in: " file symbols; exit(1); } } ' || fail=1 ; \ + LC_ALL=C objdump -T $f 2> /dev/null | LC_ALL=C awk -v "file=$f" 'BEGIN { found=0; skip["program_name"]=1; symbols = "" } /^[0-9a-z]+ +D +\*UND\*/ { if ($NF in skip) { next; }; found = 1; symbols = symbols "\n\t" $NF } END { if (found) { print "\nUnresolved symbols found in: " file symbols; %{?skip_post_check_so:split("%{skip_post_check_so}", R); for (i=1; i in R; i++) { if (file ~ "(^|/)" R[i] "$") { print "Library marked with skip_post_check_so, ignoring errors.\n"; exit(0); } } } exit(1); } } ' || fail=1 ; \ done ; \ echo " DONE"; \ %{!?no_install_post_check_so:return $fail;} \ -- 2.44.0