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

Collapse All | Expand All

(-)bin.orig/dobin (-1 / +19 lines)
Lines 10-31 Link Here
10
10
11
if [ ! -z "${CBUILD}" ] && [ "${CBUILD}" != "${CHOST}" ]; then
11
if [ ! -z "${CBUILD}" ] && [ "${CBUILD}" != "${CHOST}" ]; then
12
	STRIP=${CHOST}-strip
12
	STRIP=${CHOST}-strip
13
	OBJCOPY=${CHOST}-objcopy
13
else
14
else
14
	STRIP=strip
15
	STRIP=strip
16
	OBJCOPY=objcopy
15
fi
17
fi
16
18
17
if [ ! -d "${D}${DESTTREE}/bin" ] ; then
19
if [ ! -d "${D}${DESTTREE}/bin" ] ; then
18
	install -d "${D}${DESTTREE}/bin"
20
	install -d "${D}${DESTTREE}/bin"
19
fi
21
fi
20
22
23
if ( [ "${FEATURES//*keepdebugbin*/true}" == "true" ] || [ "${RESTRICT//*keepdebugbin*/true}" == "true" ] ) && [ ! -d "${D}${DESTTREE}/bin/.debug" ] ; then
24
	install -d "${D}${DESTTREE}/bin/.debug"
25
fi
26
27
21
for x in "$@" ; do
28
for x in "$@" ; do
22
	if [ -x "${x}" ] ; then
29
	if [ -x "${x}" ] ; then
30
		if [ "${FEATURES//*keepdebugbin*/true}" == "true" ] || [ "${RESTRICT//*keepdebugbin*/true}" == "true" ] ; then
31
			${OBJCOPY} --only-keep-debug ${x} ${x}.dbg	
32
		fi
23
		if [ "${FEATURES//*nostrip*/true}" != "true" ] && [ "${RESTRICT//*nostrip*/true}" != "true" ] ; then
33
		if [ "${FEATURES//*nostrip*/true}" != "true" ] && [ "${RESTRICT//*nostrip*/true}" != "true" ] ; then
24
			MYVAL=`file "${x}" | grep "ELF"` 
34
			MYVAL=`file "${x}" | grep "ELF"` 
25
			if [ -n "$MYVAL" ] ; then
35
			if [ -n "$MYVAL" ] ; then
26
				${STRIP} "${x}"
36
				if [ "${FEATURES//*keepdebugbin*/true}" == "true" ] || [ "${RESTRICT//*keepdebugbin*/true}" == "true" ] ; then
37
					${STRIP} --strip-debug "${x}"
38
				else
39
					${STRIP} "${x}"
40
				fi
27
			fi
41
			fi
28
		fi
42
		fi
43
		if [ "${FEATURES//*keepdebugbin*/true}" == "true" ] || [ "${RESTRICT//*keepdebugbin*/true}" == "true" ] ; then
44
			${OBJCOPY} --add-gnu-debuglink=${x}.dbg ${x}
45
			install ${x}.dbg "${S}${DESTREE}/bin/.debug"
46
		fi 
29
		#if executable, use existing perms
47
		#if executable, use existing perms
30
		install "${x}" "${D}${DESTTREE}/bin"
48
		install "${x}" "${D}${DESTTREE}/bin"
31
	else
49
	else
(-)bin.orig/doexe (-1 / +19 lines)
Lines 12-28 Link Here
12
	install -d "${D}${EXEDESTTREE}"
12
	install -d "${D}${EXEDESTTREE}"
13
fi
13
fi
14
14
15
if ( [ "${FEATURES//*keepdebugbin*/true}" == "true" ] || [ "${RESTRICT//*keepdebugbin*/true}" == "true" ] ) && [ ! -d "${D}${DESTTREE}/bin/.debug" ] ; then
16
	install -d "${D}${DESTTREE}${EXEDESTTREE}/.debug"
17
fi
18
15
if [ ! -z "${CBUILD}" ] && [ "${CBUILD}" != "${CHOST}" ]; then
19
if [ ! -z "${CBUILD}" ] && [ "${CBUILD}" != "${CHOST}" ]; then
16
	STRIP=${CHOST}-strip
20
	STRIP=${CHOST}-strip
21
	OBJCOPY=${CHOST}-objcopy
17
else
22
else
18
	STRIP=strip
23
	STRIP=strip
24
	OBJCOPY=objcopy
19
fi
25
fi
20
26
21
for x in "$@" ; do
27
for x in "$@" ; do
28
	if [ "${FEATURES//*keepdebugbin*/true}" == "true" ] || [ "${RESTRICT//*keepdebugbin*/true}" == "true" ] ; then
29
		${OBJCOPY} --only-keep-debug ${x} ${x}.dbg
30
	fi
31
22
	if [ "${FEATURES//*nostrip*/true}" != "true" ] && [ "${RESTRICT//*nostrip*/true}" != "true" ] ; then
32
	if [ "${FEATURES//*nostrip*/true}" != "true" ] && [ "${RESTRICT//*nostrip*/true}" != "true" ] ; then
23
		MYVAL=`file "${x}" | grep "ELF"` 
33
		MYVAL=`file "${x}" | grep "ELF"` 
24
		if [ -n "$MYVAL" ] ; then
34
		if [ -n "$MYVAL" ] ; then
25
			${STRIP} "${x}"
35
			if [ "${FEATURES//*keepdebugbin*/true}" == "true" ] || [ "${RESTRICT//*keepdebugbin*/true}" == "true" ] ; then
36
				${STRIP} --strip-debug "${x}"
37
			else
38
				${STRIP} "${x}"
39
			fi
26
		fi
40
		fi
27
	fi
41
	fi
28
	if [ -L "${x}" ] ; then
42
	if [ -L "${x}" ] ; then
Lines 34-38 Link Here
34
	else
48
	else
35
		mysrc="${x}"
49
		mysrc="${x}"
36
	fi
50
	fi
51
	if [ "${FEATURES//*keepdebugbin*/true}" == "true" ] || [ "${RESTRICT//*keepdebugbin*/true}" == "true" ] ; then
52
		${OBJCOPY} --add-gnu-debuglink=${x}.dbg ${x}
53
		install ${x}.dbg "${S}${EXEDESTREE}/.debug"
54
	fi
37
	install ${EXEOPTIONS} "${mysrc}" "${D}${EXEDESTTREE}"
55
	install ${EXEOPTIONS} "${mysrc}" "${D}${EXEDESTTREE}"
38
done
56
done
(-)bin.orig/dolib.so (+13 lines)
Lines 10-28 Link Here
10
10
11
if [ ! -z "${CBUILD}" ] && [ "${CBUILD}" != "${CHOST}" ]; then
11
if [ ! -z "${CBUILD}" ] && [ "${CBUILD}" != "${CHOST}" ]; then
12
	STRIP=${CHOST}-strip
12
	STRIP=${CHOST}-strip
13
	OBJCOPY=${CHOST}-objcopy
13
else
14
else
14
	STRIP=strip
15
	STRIP=strip
16
	OBJCOPY=objcopy
15
fi
17
fi
16
18
17
if [ ! -d "${D}${DESTTREE}/lib" ] ; then
19
if [ ! -d "${D}${DESTTREE}/lib" ] ; then
18
	install -d "${D}${DESTTREE}/lib"
20
	install -d "${D}${DESTTREE}/lib"
19
fi
21
fi
20
22
23
if ( [ "${FEATURES//*keepdebug*/true}" == "true" ] || [ "${RESTRICT//*keepdebug*/true}" == "true" ] ) && [ ! -d "${D}${DESTTREE}/lib/.debug" ] ; then
24
	install -d "${D}${DESTTREE}/lib/.debug"
25
fi
26
27
21
for x in "$@" ; do
28
for x in "$@" ; do
22
	if [ -e "${x}" ] ; then
29
	if [ -e "${x}" ] ; then
30
		if [ "${FEATURES//*keepdebug*/true}" == "true" ] || [ "${RESTRICT//*keepdebug*/true}" == "true" ] ; then
31
		 	${OBJCOPY} --only-keep-debug ${x} ${x}.dbg
32
		fi
23
		if [ "${FEATURES//*nostrip*/true}" != "true" ] && [ "${RESTRICT//*nostrip*/true}" != "true" ] ; then
33
		if [ "${FEATURES//*nostrip*/true}" != "true" ] && [ "${RESTRICT//*nostrip*/true}" != "true" ] ; then
24
			${STRIP} --strip-debug "${x}"
34
			${STRIP} --strip-debug "${x}"
25
		fi
35
		fi
36
		if [ "${FEATURES//*keepdebug*/true}" == "true" ] || [ "${RESTRICT//*keepdebug*/true}" == "true" ] ; then
37
			${OBJCOPY} --add-gnu-debuglink=${x}.dbg ${x}
38
			install -m0644 ${x}.dbg "${S}${DESTREE}/lib/.debug"
26
		install -m0755 "${x}" "${D}${DESTTREE}/lib"
39
		install -m0755 "${x}" "${D}${DESTTREE}/lib"
27
	else
40
	else
28
		echo "${0}: ${x} does not exist"
41
		echo "${0}: ${x} does not exist"
(-)bin.orig/dosbin (-2 / +18 lines)
Lines 11-30 Link Here
11
	install -d "${D}${DESTTREE}/sbin"
11
	install -d "${D}${DESTTREE}/sbin"
12
fi
12
fi
13
13
14
if ( [ "${FEATURES//*keepdebugbin*/true}" == "true" ] || [ "${RESTRICT//*keepdebugbin*/true}" == "true" ] ) && [ ! -d "${D}${DESTTREE}/sbin/.debug" ] ; then
15
        install -d "${D}${DESTTREE}/sbin/.debug"
16
fi
17
14
if [ ! -z "${CBUILD}" ] && [ "${CBUILD}" != "${CHOST}" ]; then
18
if [ ! -z "${CBUILD}" ] && [ "${CBUILD}" != "${CHOST}" ]; then
15
	STRIP=${CHOST}-strip
19
	STRIP=${CHOST}-strip
20
	OBJCOPY=${CHOST}-objcopy
16
else
21
else
17
	STRIP=strip
22
	STRIP=strip
23
	OBJCOPY=objcopy
18
fi
24
fi
19
20
for x in "$@" ; do
25
for x in "$@" ; do
21
	if [ -x "${x}" ] ; then
26
	if [ -x "${x}" ] ; then
27
		if [ "${FEATURES//*keepdebugbin*/true}" == "true" ] || [ "${RESTRICT//*keepdebugbin*/true}" == "true" ] ; then
28
			${OBJCOPY} --only-keep-debug ${x} ${x}.dbg
29
		fi
22
		if [ "${FEATURES//*nostrip*/true}" != "true" ] && [ "${RESTRICT//*nostrip*/true}" != "true" ] ; then
30
		if [ "${FEATURES//*nostrip*/true}" != "true" ] && [ "${RESTRICT//*nostrip*/true}" != "true" ] ; then
23
			MYVAL=`file "${x}" | grep "ELF"`
31
			MYVAL=`file "${x}" | grep "ELF"`
24
			if [ "$MYVAL" ] ; then
32
			if [ "$MYVAL" ] ; then
25
				${STRIP} "${x}"
33
				if [ "${FEATURES//*keepdebugbin*/true}" == "true" ] || [ "${RESTRICT//*keepdebugbin*/true}" == "true" ] ; then
34
					${STRIP} --strip-debug "${x}"
35
				else
36
					${STRIP} "${x}"
37
				fi
26
			fi
38
			fi
27
		fi
39
		fi
40
		if [ "${FEATURES//*keepdebugbin*/true}" == "true" ] || [ "${RESTRICT//*keepdebugbin*/true}" == "true" ] ; then
41
			 ${OBJCOPY} --add-gnu-debuglink=${x}.dbg ${x}
42
		         install -m644 ${x}.dbg "${S}${DESTREE}/sbin/.debug"
43
		fi
28
		#if executable, use existing perms
44
		#if executable, use existing perms
29
		install -m0755 "${x}" "${D}${DESTTREE}/sbin"
45
		install -m0755 "${x}" "${D}${DESTTREE}/sbin"
30
	else
46
	else
(-)bin.orig/ebuild.sh (-3 / +9 lines)
Lines 591-597 Link Here
591
	INSOPTIONS=""
591
	INSOPTIONS=""
592
	for x in $*; do
592
	for x in $*; do
593
		#if we have a debug build, let's not strip anything
593
		#if we have a debug build, let's not strip anything
594
		if has nostrip $FEATURES $RESTRICT && [ "$x" == "-s" ]; then
594
		#if we use separate debug, we have to strip by hand
595
		if ( has nostrip $FEATURES $RESTRICT || 
596
		has keepdebug $FEATURES $RESTRICT ) && [ "$x" == "-s" ]; then
595
			continue
597
			continue
596
 		else
598
 		else
597
			INSOPTIONS="$INSOPTIONS $x"
599
			INSOPTIONS="$INSOPTIONS $x"
Lines 612-618 Link Here
612
	EXEOPTIONS=""
614
	EXEOPTIONS=""
613
	for x in $*; do
615
	for x in $*; do
614
		#if we have a debug build, let's not strip anything
616
		#if we have a debug build, let's not strip anything
615
		if has nostrip $FEATURES $RESTRICT && [ "$x" == "-s" ]; then
617
		if ( has nostrip $FEATURES $RESTRICT  ||
618
		has keepdebugbin $FEATURES $RESTRICT ) && [ "$x" == "-s" ]; then
616
			continue
619
			continue
617
		else
620
		else
618
			EXEOPTIONS="$EXEOPTIONS $x"
621
			EXEOPTIONS="$EXEOPTIONS $x"
Lines 625-631 Link Here
625
	LIBOPTIONS=""
628
	LIBOPTIONS=""
626
	for x in $*; do
629
	for x in $*; do
627
		#if we have a debug build, let's not strip anything
630
		#if we have a debug build, let's not strip anything
628
		if has nostrip $FEATURES $RESTRICT && [ "$x" == "-s" ]; then
631
		if ( has nostrip $FEATURES $RESTRICT ||
632
		has keepdebug $FEATURES $RESTRICT ) && [ "$x" == "-s" ]; then
629
			continue
633
			continue
630
		else
634
		else
631
			LIBOPTIONS="$LIBOPTIONS $x"
635
			LIBOPTIONS="$LIBOPTIONS $x"
Lines 990-995 Link Here
990
	echo -n "  build mode  : "
994
	echo -n "  build mode  : "
991
	if has nostrip $FEATURES $RESTRICT;	then
995
	if has nostrip $FEATURES $RESTRICT;	then
992
		echo "debug (large)"
996
		echo "debug (large)"
997
	elif has keepdebug $FEATURES $RESTRICT;	then
998
		echo "development (separate debug information)"
993
	else
999
	else
994
		echo "production (stripped)"
1000
		echo "production (stripped)"
995
	fi
1001
	fi
(-)bin.orig/prepallstrip (-1 / +1 lines)
Lines 3-9 Link Here
3
# Distributed under the terms of the GNU General Public License v2
3
# Distributed under the terms of the GNU General Public License v2
4
# $Header: /home/cvsroot/gentoo-src/portage/bin/prepallstrip,v 1.11 2003/04/09 14:36:59 carpaski Exp $
4
# $Header: /home/cvsroot/gentoo-src/portage/bin/prepallstrip,v 1.11 2003/04/09 14:36:59 carpaski Exp $
5
5
6
if [ "${FEATURES//*nostrip*/true}" == "true" ] || [ "${RESTRICT//*nostrip*/true}" == "true" ] ; then
6
if ( [ "${FEATURES//*nostrip*/true}" == "true" ] || [ "${RESTRICT//*nostrip*/true}" == "true" ] ) && ( [ "${FEATURES//*keepdebug*/true}" != "true" ] && [ "${RESTRICT//*keepdebug*/true}" != "true" ] ) ; then
7
	exit 0
7
	exit 0
8
fi
8
fi
9
9
(-)bin.orig/preplib.so (-2 / +17 lines)
Lines 3-16 Link Here
3
# Distributed under the terms of the GNU General Public License v2
3
# Distributed under the terms of the GNU General Public License v2
4
# $Header: /home/cvsroot/gentoo-src/portage/bin/preplib.so,v 1.9 2003/04/09 14:36:59 carpaski Exp $
4
# $Header: /home/cvsroot/gentoo-src/portage/bin/preplib.so,v 1.9 2003/04/09 14:36:59 carpaski Exp $
5
5
6
if [ "${FEATURES//*nostrip*/true}" == "true" ] || [ "${RESTRICT//*nostrip*/true}" == "true" ] ; then
6
if ( [ "${FEATURES//*nostrip*/true}" == "true" ] || [ "${RESTRICT//*nostrip*/true}" == "true" ] ) && ( [ "${FEATURES//*keepdebug*/true}" != "true" ] && [ "${RESTRICT//*keepdebug*/true}" != "true" ] ); then
7
	exit 0
7
	exit 0
8
fi
8
fi
9
9
10
if [ ! -z "${CBUILD}" ] && [ "${CBUILD}" != "${CHOST}" ]; then
10
if [ ! -z "${CBUILD}" ] && [ "${CBUILD}" != "${CHOST}" ]; then
11
	STRIP=${CHOST}-strip
11
	STRIP=${CHOST}-strip
12
	OBJCOPY=${CHOST}-objcopy
12
else
13
else
13
	STRIP=strip
14
	STRIP=strip
15
	OBJCOPY=objcopy
14
fi
16
fi
15
17
16
for x in "$@" ; do
18
for x in "$@" ; do
Lines 19-25 Link Here
19
			f="`file "${y}"`"
21
			f="`file "${y}"`"
20
			if [ "${f/*SB shared object*/1}" == "1" ] ; then
22
			if [ "${f/*SB shared object*/1}" == "1" ] ; then
21
				echo "${y}"
23
				echo "${y}"
22
				${STRIP} --strip-debug "${y}"
24
				if [ "${FEATURES//*keepdebug*/true}" == "true" ] || [ "${RESTRICT//*keepdebug*/true}" == "true" ]; then
25
					if [ ! -d "$(dirname "${x}")/.debug" ] ; then
26
						install -d "$(dirname "${x}")/.debug"
27
					fi
28
					${OBJCOPY} --only-keep-debug ${x} $(dirname "${x}")/.debug/$(basename "${x}").dbg
29
					if [ "${FEATURES//*nostrip*/true}" != "true" ] && [ "${RESTRICT//*nostrip*/true}" != "true" ] ; then
30
						${STRIP} --strip-debug "${x}"
31
					else
32
						${STRIP} "${x}"
33
					fi
34
					${OBJCOPY} --add-gnu-debuglink=$(dirname "${x}")/.debug/$(basename "${x}").dbg ${x}
35
				elif [ "${FEATURES//*nostrip*/true}" != "true" ] && [ "${RESTRICT//*nostrip*/true}" != "true" ]; then
36
					${STRIP} --strip-debug "${y}"
37
				fi
23
			fi
38
			fi
24
		done
39
		done
25
		ldconfig -n -N "${D}${x}"
40
		ldconfig -n -N "${D}${x}"
(-)bin.orig/prepstrip (-9 / +32 lines)
Lines 3-17 Link Here
3
# Distributed under the terms of the GNU General Public License v2
3
# Distributed under the terms of the GNU General Public License v2
4
# $Header: /home/cvsroot/gentoo-src/portage/bin/prepstrip,v 1.17 2004/02/04 22:40:21 carpaski Exp $
4
# $Header: /home/cvsroot/gentoo-src/portage/bin/prepstrip,v 1.17 2004/02/04 22:40:21 carpaski Exp $
5
5
6
if [ "${FEATURES//*nostrip*/true}" == "true" ] || [ "${RESTRICT//*nostrip*/true}" == "true" ] ; then
6
if ( [ "${FEATURES//*nostrip*/true}" == "true" ] || [ "${RESTRICT//*nostrip*/true}" == "true" ] ) && ( [ "${FEATURES//*keepdebug*/true}" != "true" ] && [ "${RESTRICT//*keepdebug*/true}" != "true" ] ) ; then
7
	echo "nostrip"
7
	echo "nostrip"
8
	exit 0
8
	exit 0
9
fi
9
fi
10
10
11
11
if [ ! -z "${CBUILD}" ] && [ "${CBUILD}" != "${CHOST}" ]; then
12
if [ ! -z "${CBUILD}" ] && [ "${CBUILD}" != "${CHOST}" ]; then
12
	STRIP=${CHOST}-strip
13
	STRIP=${CHOST}-strip
14
	OBJCOPY=${CHOST}-objcopy
13
else
15
else
14
	STRIP=strip
16
	STRIP=strip
17
	OBJCOPY=objcopy
15
fi
18
fi
16
19
17
echo "strip: "
20
echo "strip: "
Lines 24-42 Link Here
24
		f=$(file "${x}")
27
		f=$(file "${x}")
25
		if [ -z "${f/*SB executable*/}" ]; then
28
		if [ -z "${f/*SB executable*/}" ]; then
26
			echo "   ${x:${#D}:${#x}}"
29
			echo "   ${x:${#D}:${#x}}"
27
			${STRIP} "${x}"
30
			if [ "${FEATURES//*keepdebugbin*/true}" == "true" ] || [ "${RESTRICT//*keepdebugbin*/true}" == "true" ]; then
31
				if [ ! -d "$(dirname "${x}")/.debug" ] ; then
32
					install -d "$(dirname "${x}")/.debug"
33
				fi
34
				${OBJCOPY} --only-keep-debug ${x} $(dirname "${x}")/.debug/$(basename "${x}").dbg
35
				if [ "${FEATURES//*nostrip*/true}" != "true" ] && [ "${RESTRICT//*nostrip*/true}" != "true" ] ; then
36
					${STRIP} --strip-debug "${x}"
37
				fi
38
				${OBJCOPY} --add-gnu-debuglink=$(dirname "${x}")/.debug/$(basename "${x}").dbg ${x}
39
			elif [ "${FEATURES//*nostrip*/true}" != "true" ] && [ "${RESTRICT//*nostrip*/true}" != "true" ]; then
40
				${STRIP} "${x}"
41
			fi
28
		fi
42
		fi
29
		if [ -z "${f/*SB shared object*/}" ]; then
43
		if [ -z "${f/*SB shared object*/}" ]; then
30
			echo "   ${x:${#D}:${#x}}"
44
			echo "   ${x:${#D}:${#x}}"
31
			${STRIP} --strip-unneeded "${x}"
45
			if [ "${FEATURES//*keepdebug*/true}" == "true" ] || [ "${RESTRICT//*keepdebug*/true}" == "true" ]; then
32
46
				if [ ! -d "$(dirname "${x}")/.debug" ] ; then
33
			# etdyn binaries are shared objects, but not really. Non-relocatable.
47
					install -d "$(dirname "${x}")/.debug"
34
			if [ -x /usr/bin/isetdyn ]; then
48
				fi
35
				if /usr/bin/isetdyn "${x}" >/dev/null; then
49
				${OBJCOPY} --only-keep-debug ${x} $(dirname "${x}")/.debug/$(basename "${x}").dbg
36
					${STRIP} "${x}"
50
				if [ "${FEATURES//*nostrip*/true}" != "true" ] && [ "${RESTRICT//*nostrip*/true}" != "true" ] ; then
51
					${STRIP} --strip-debug "${x}"
52
				fi
53
				${OBJCOPY} --add-gnu-debuglink=$(dirname "${x}")/.debug/$(basename "${x}").dbg ${x}
54
			elif [ "${FEATURES//*nostrip*/true}" != "true" ] && [ "${RESTRICT//*nostrip*/true}" != "true" ]; then
55
				${STRIP} --strip-unneeded "${x}"
56
				# etdyn binaries are shared objects, but not really. Non-relocatable.
57
				if [ -x /usr/bin/isetdyn ]; then
58
					if /usr/bin/isetdyn "${x}" >/dev/null; then
59
						${STRIP} "${x}"
60
					fi
37
				fi
61
				fi
38
			fi
62
			fi
39
40
		fi
63
		fi
41
	fi
64
	fi
42
done
65
done

Return to bug 45150