From ff8c88f6a11f9b2cb0e41506b9ff3ca02db93150 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jan=20R=C4=99korajski?= Date: Wed, 13 Oct 2010 11:20:57 +0000 Subject: [PATCH] - added functionality to exclude files from __spec_install_post_check_so Changed files: rpm-build-macros.spec -> 1.274 rpm.macros -> 1.582 --- rpm-build-macros.spec | 2 +- rpm.macros | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/rpm-build-macros.spec b/rpm-build-macros.spec index ee7921f..c1466b1 100644 --- a/rpm-build-macros.spec +++ b/rpm-build-macros.spec @@ -1,4 +1,4 @@ -%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 diff --git a/rpm.macros b/rpm.macros index 0e66c18..e8e6566 100644 --- a/rpm.macros +++ b/rpm.macros @@ -639,11 +639,13 @@ fi; }; __spec_install_post_chrpath } } } # 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"; \ -- 2.44.0