View | Details | Raw Unified
Collapse All | Expand All

(-) revdep-rebuild.orig (-4 / +6 lines)
 Lines 350-355    Link Here 
		if [[ $SONAME = /* ]]; then
		if [[ $SONAME = /* ]]; then
			# Set to "<space>$SONAME<space>"
			# Set to "<space>$SONAME<space>"
			SONAME_SEARCH=" $SONAME "
			SONAME_SEARCH=" $SONAME "
			# Escape the "/" characters
			SONAME_SEARCH="${SONAME_SEARCH//\//\\/}"
		else
		else
			# Set to "<tab>$SONAME<space>"
			# Set to "<tab>$SONAME<space>"
			SONAME_SEARCH=$'\t'"$SONAME "
			SONAME_SEARCH=$'\t'"$SONAME "
 Lines 496-509    Link Here 
						# FIXME: I hate duplicating code
						# FIXME: I hate duplicating code
						# Only rebuild for direct dependencies
						# Only rebuild for direct dependencies
						MISSING_LIBS=$(
						MISSING_LIBS=$(
							expr="/$SONAME_SEARCH/s/^\([^[:space:]]*\).*$/\1/p"
							expr="/$SONAME_SEARCH/s/^[[:space:]]*\([^[:space:]]*\).*$/\1/p"
							sort -u <<< "$ldd_output" | sed -n "$expr"
							sort -u <<< "$ldd_output" | sed -n "$expr"
						)
						)
						REQUIRED_LIBS=$(
						REQUIRED_LIBS=$(
							expr='s/^[[:space:]]*NEEDED[[:space:]]*\([^[:space:]]*\).*/\1/p';
							expr='s/^[[:space:]]*NEEDED[[:space:]]*\([^[:space:]]*\).*/\1/p';
							objdump -x "$FILE" | sed "$expr" | sort -u
							objdump -x "$FILE" | sed "$expr" | sort -u
						)
						)
						MISSING_LIBS=$(grep -F "$REQUIRED_LIBS")
						MISSING_LIBS=$(grep -F "$REQUIRED_LIBS" <<< "$MISSING_LIBS")
						if [[ $MISSING_LIBS ]]; then
						if [[ $MISSING_LIBS ]]; then
							echo "obj $FILE" >> "$LIST.3_rebuild"
							echo "obj $FILE" >> "$LIST.3_rebuild"
							if [[ $SEARCH_BROKEN ]]; then
							if [[ $SEARCH_BROKEN ]]; then
 Lines 642-650    Link Here 
		RAW_REBUILD_LIST=$(<"$LIST.4_ebuilds")
		RAW_REBUILD_LIST=$(<"$LIST.4_ebuilds")
		if [[ $RAW_REBUILD_LIST ]]; then
		if [[ $RAW_REBUILD_LIST ]]; then
			OLD_EMERGE_DEFAULT_OPTS="$EMERGE_DEFAULT_OPTS"
			OLD_EMERGE_DEFAULT_OPTS="$EMERGE_DEFAULT_OPTS"
			export EMERGE_DEFAULT_OPTS="--nospinner --pretend --oneshot --nodeps --quiet"
			export EMERGE_DEFAULT_OPTS="--nospinner --pretend --oneshot --quiet"
			RAW_REBUILD_LIST="=${RAW_REBUILD_LIST//[[:space:]]/ =}"
			RAW_REBUILD_LIST="=${RAW_REBUILD_LIST//[[:space:]]/ =}"
			REBUILD_GREP=$(emerge $RAW_REBUILD_LIST | sed 's/\[[^]]*\]//g') &&
			REBUILD_GREP=$(emerge --nodeps $RAW_REBUILD_LIST | sed 's/\[[^]]*\]//g') &&
				emerge --deep $RAW_REBUILD_LIST | sed 's/\[[^]]*\]//g' |
				emerge --deep $RAW_REBUILD_LIST | sed 's/\[[^]]*\]//g' |
				grep -F "$REBUILD_GREP" > $LIST.5_order || {
				grep -F "$REBUILD_GREP" > $LIST.5_order || {
					eerror
					eerror