Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 516016 | Differences between
and this patch

Collapse All | Expand All

(-)a/bin/install-qa-check.d/80libraries (-3 / +9 lines)
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
- 

Return to bug 516016