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

Collapse All | Expand All

(-)file_not_specified_in_diff (-5 / +12 lines)
Line  Link Here
0
-- gentoolkit/src/revdep-rebuild/revdep-rebuild
0
++ gentoolkit/src/revdep-rebuild/revdep-rebuild
Lines 641-647 Link Here
641
			if [[ $target_file != *.la ]]; then
641
			if [[ $target_file != *.la ]]; then
642
				# Note: double checking seems to be faster than single with complete path
642
				# Note: double checking seems to be faster than single with complete path
643
				# (special add ons are rare).
643
				# (special add ons are rare).
644
				ldd_output=$(ldd "$target_file" 2>> "$LIST.3_ldd_errors" | sort -u)
644
				case $target_file in
645
				*.so|*.so.*)
646
					ldd_output=$(ldd "$target_file" 2>> "$LIST.3_ldd_errors" | sort -u);;
647
				*)
648
					ldd_output=$(ldd -d -r "$target_file" 2>> "$LIST.3_ldd_errors" | sort -u);;
649
				esac
645
				ldd_status=$? # TODO: Check this for problems with sort
650
				ldd_status=$? # TODO: Check this for problems with sort
646
				# HACK: if LD_LIBRARY_MASK is null or undefined grep -vF doesn't work
651
				# HACK: if LD_LIBRARY_MASK is null or undefined grep -vF doesn't work
647
				if grep -vF "${LD_LIBRARY_MASK:=$'\a'}" <<< "$ldd_output" |
652
				if grep -vF "${LD_LIBRARY_MASK:=$'\a'}" <<< "$ldd_output" |
Lines 708-724 Link Here
708
		done
713
		done
709
		if [[ $SEARCH_BROKEN ]]; then
714
		if [[ $SEARCH_BROKEN ]]; then
710
			# Look for missing version
715
			# Look for missing version
711
			while read target_file; do
716
			while read target_file && read message; do
712
				echo "obj $target_file" >> "$LIST.3_rebuild"
717
				echo "obj $target_file" >> "$LIST.3_rebuild"
713
				echo_v "  broken $target_file (no version information available)"
718
				echo_v "  broken $target_file ($message)"
714
			done < <(
719
			done < <(
715
				# Regexify LD_LIBRARY_MASK. Exclude it from the search.
720
				# Regexify LD_LIBRARY_MASK. Exclude it from the search.
716
				LD_LIBRARY_MASK="${LD_LIBRARY_MASK//$'\n'/|}"
721
				LD_LIBRARY_MASK="${LD_LIBRARY_MASK//$'\n'/|}"
717
				awk -v ldmask="(${LD_LIBRARY_MASK//./\\\.})" '
722
				awk -v ldmask="(${LD_LIBRARY_MASK//./\\\.})" '
718
					/no version information available/ && $0 !~ ldmask {
723
					/no version information available|undefined symbol/ && $0 !~ ldmask {
719
						gsub(/[()]/, "", $NF)
724
						gsub(/[()]/, "", $NF)
720
						if (seen[$NF]++)  next
725
						if (seen[$NF]++)  next
721
						print $NF
726
						print $NF
727
						NF--
728
						print $0
722
					}' "$LIST.3_ldd_errors"
729
					}' "$LIST.3_ldd_errors"
723
			)
730
			)
724
		fi
731
		fi

Return to bug 162589