Lines 1-7
Link Here
|
1 |
# Check for issues with installed libraries |
1 |
# Check for issues with installed libraries |
2 |
|
2 |
|
3 |
scanelf_lib_check() { |
3 |
scanelf_lib_check() { |
4 |
local f x i j |
4 |
local f x i j library libraries |
5 |
|
5 |
|
6 |
# Check for shared libraries lacking SONAMEs |
6 |
# Check for shared libraries lacking SONAMEs |
7 |
local qa_var="QA_SONAME_${ARCH/-/_}" |
7 |
local qa_var="QA_SONAME_${ARCH/-/_}" |
Lines 40-46
scanelf_lib_check() {
Link Here
|
40 |
# Check for shared libraries lacking NEEDED entries |
40 |
# Check for shared libraries lacking NEEDED entries |
41 |
qa_var="QA_DT_NEEDED_${ARCH/-/_}" |
41 |
qa_var="QA_DT_NEEDED_${ARCH/-/_}" |
42 |
eval "[[ -n \${!qa_var} ]] && QA_DT_NEEDED=(\"\${${qa_var}[@]}\")" |
42 |
eval "[[ -n \${!qa_var} ]] && QA_DT_NEEDED=(\"\${${qa_var}[@]}\")" |
43 |
f=$(scanelf -ByF '%n %p' "${ED%/}"/{,usr/}lib*/lib*.so* | awk '$2 == "" { print }' | sed -e "s:^[[:space:]]${ED%/}/:/:") |
43 |
libraries=$(scanelf -ByF '%n %p' "${ED%/}"/{,usr/}lib*/lib*.so* | awk '$2 == "" { print }' | sed -e "s:^[[:space:]]::") |
|
|
44 |
f= |
45 |
while IFS= read -r library; do |
46 |
# Only shared libraries containing undefined non-weak symbols actually need NEEDED entries. |
47 |
if [[ -n $(nm -D "${library}" | grep -E "^ +U ") ]]; then |
48 |
f+="/${library#${ED%/}/}"$'\n' |
49 |
fi |
50 |
done <<< "${libraries}" |
44 |
if [[ -n ${f} ]] ; then |
51 |
if [[ -n ${f} ]] ; then |
45 |
echo "${f}" > "${T}"/scanelf-missing-NEEDED.log |
52 |
echo "${f}" > "${T}"/scanelf-missing-NEEDED.log |
46 |
if [[ "${QA_STRICT_DT_NEEDED-unset}" == unset ]] ; then |
53 |
if [[ "${QA_STRICT_DT_NEEDED-unset}" == unset ]] ; then |
47 |
- |
|
|