-%define rpm_macros_rev 1.581
+%define rpm_macros_rev 1.582
%define find_lang_rev 1.32
Summary: PLD Linux RPM build macros
Summary(pl.UTF-8): Makra do budowania pakietów RPM dla Linuksa PLD
# Find all shared object files with unresolved symbols. Warn
# and terminate if any found (termination can be turned off by define).
#%no_install_post_check_so 1
+#%skip_post_check_so libwithunresolvedok.so.*
%__spec_install_post_check_so { \
__spec_install_post_check_so() { \
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:echo %{skip_post_check_so} | LC_ALL=C awk -v "file=$f" 'file ~ "(^|/)" $0 "$" { 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 ; \
done ; \
echo " DONE"; \