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

Collapse All | Expand All

(-)crossdev-20101011/crossdev (-17 / +17 lines)
Lines 12-20 Link Here
12
	exit 2
12
	exit 2
13
fi
13
fi
14
14
15
CONFIGROOT="${PORTAGE_CONFIGROOT}/etc/portage"
15
CONFIGROOT="${EPREFIX}/${PORTAGE_CONFIGROOT}/etc/portage"
16
16
17
source /etc/init.d/functions.sh || exit 1
17
source "${EPREFIX}"/etc/init.d/functions.sh || exit 1
18
esyslog() { :; }
18
esyslog() { :; }
19
die() {
19
die() {
20
	echo
20
	echo
Lines 256-262 Link Here
256
	PORTDIR_OVERLAY=${PORTDIR_OVERLAYS%% *}
256
	PORTDIR_OVERLAY=${PORTDIR_OVERLAYS%% *}
257
257
258
	# make sure we have a valid logdir
258
	# make sure we have a valid logdir
259
	: ${PORT_LOGDIR:=/var/log/portage}
259
	: ${PORT_LOGDIR:="${EPREFIX}"/var/log/portage}
260
	mkdir -p "${PORT_LOGDIR}"
260
	mkdir -p "${PORT_LOGDIR}"
261
}
261
}
262
262
Lines 280-289 Link Here
280
	rm -rf "${CONFIGROOT}"/env/cross-${CTARGET}
280
	rm -rf "${CONFIGROOT}"/env/cross-${CTARGET}
281
	rmdir "${CONFIGROOT}"/env 2>/dev/null
281
	rmdir "${CONFIGROOT}"/env 2>/dev/null
282
282
283
	rmdir /var/db/pkg/cross-${CTARGET} 2>/dev/null
283
	rmdir "${EPREFIX}"/var/db/pkg/cross-${CTARGET} 2>/dev/null
284
	if [[ -d /var/db/pkg/cross-${CTARGET} ]] ; then
284
	if [[ -d "${EPREFIX}"/var/db/pkg/cross-${CTARGET} ]] ; then
285
		export CLEAN_DELAY=0
285
		export CLEAN_DELAY=0
286
		cd /var/db/pkg
286
		cd "${EPREFIX}"/var/db/pkg
287
		for p in cross-${CTARGET}/* ; do
287
		for p in cross-${CTARGET}/* ; do
288
			emerge -qC =${p} || exit 1
288
			emerge -qC =${p} || exit 1
289
		done
289
		done
Lines 295-307 Link Here
295
		gprof ld nm objcopy objdump ranlib readelf \
295
		gprof ld nm objcopy objdump ranlib readelf \
296
		size strings strip windmc windres
296
		size strings strip windmc windres
297
	do
297
	do
298
		rm -f /usr/bin/${CTARGET}-${b} /usr/${CTARGET}/bin/${b}
298
		rm -f "${EPREFIX}"/usr/bin/${CTARGET}-${b} "${EPREFIX}"/usr/${CTARGET}/bin/${b}
299
	done
299
	done
300
	rm -f /usr/${CTARGET}/{sys-include,usr}
300
	rm -f "${EPREFIX}"/usr/${CTARGET}/{sys-include,usr}
301
	rm -f /usr/bin/${CTARGET}-{gcc,{c,g}++,cpp,gfortran,gcov}
301
	rm -f "${EPREFIX}"/usr/bin/${CTARGET}-{gcc,{c,g}++,cpp,gfortran,gcov}
302
	rm -f /usr/bin/${CTARGET}-{emerge,fix-root,pkg-config} /usr/bin/emerge-${CTARGET}
302
	rm -f "${EPREFIX}"/usr/bin/${CTARGET}-{emerge,fix-root,pkg-config} "${EPREFIX}"/usr/bin/emerge-${CTARGET}
303
	rmdir /usr/${CTARGET}/{include/asm,include} &> /dev/null
303
	rmdir "${EPREFIX}"/usr/${CTARGET}/{include/asm,include} &> /dev/null
304
	for d in /usr/${CTARGET} /usr/lib/gcc{,-lib}/${CTARGET} ; do
304
	for d in "${EPREFIX}"/usr/${CTARGET} "${EPREFIX}"/usr/lib/gcc{,-lib}/${CTARGET} ; do
305
		if [[ ! -d ${d} ]] ; then
305
		if [[ ! -d ${d} ]] ; then
306
			rm -f "${d}" &> /dev/null
306
			rm -f "${d}" &> /dev/null
307
		else
307
		else
Lines 312-319 Link Here
312
			[[ ${ans} == [Yy]* ]] && rm -rf "${d}"
312
			[[ ${ans} == [Yy]* ]] && rm -rf "${d}"
313
		fi
313
		fi
314
	done
314
	done
315
	rm -f /etc/env.d/{binutils,gcc}/config-${CTARGET}
315
	rm -f "${EPREFIX}"/etc/env.d/{binutils,gcc}/config-${CTARGET}
316
	[[ -e /var/db/pkg/cross-${CTARGET} ]] && rmdir /var/db/pkg/cross-${CTARGET}
316
	[[ -e "${EPREFIX}"/var/db/pkg/cross-${CTARGET} ]] && rmdir "${EPREFIX}"/var/db/pkg/cross-${CTARGET}
317
317
318
	exit 0
318
	exit 0
319
}
319
}
Lines 441-447 Link Here
441
	eerror "both binutils and binutils-config."
441
	eerror "both binutils and binutils-config."
442
	exit 1
442
	exit 1
443
fi
443
fi
444
if ! egrep -qs 'inherit.*toolchain( |$)' /var/db/pkg/sys-devel/gcc-*/*.ebuild ; then
444
if ! egrep -qs 'inherit.*toolchain( |$)' "${EPREFIX}"/var/db/pkg/sys-devel/gcc-*/*.ebuild ; then
445
	eerror "Sorry, but your host system needs to have"
445
	eerror "Sorry, but your host system needs to have"
446
	eerror "an unstable version of gcc in order to"
446
	eerror "an unstable version of gcc in order to"
447
	eerror "keep from screwing things up."
447
	eerror "keep from screwing things up."
Lines 642-654 Link Here
642
#######################################
642
#######################################
643
### Create links for helper scripts ###
643
### Create links for helper scripts ###
644
644
645
mkdir -p /usr/${CTARGET}
645
mkdir -p "${EPREFIX}"/usr/${CTARGET}
646
emerge-wrapper --target ${CTARGET} --init || exit 1
646
emerge-wrapper --target ${CTARGET} --init || exit 1
647
647
648
#################
648
#################
649
emerged_with_use() {
649
emerged_with_use() {
650
	local pkg=$1 use=$2
650
	local pkg=$1 use=$2
651
	grep -qs ${use} /var/db/pkg/cross-${CTARGET}/${pkg}-*/USE
651
	grep -qs ${use} "${EPREFIX}"/var/db/pkg/cross-${CTARGET}/${pkg}-*/USE
652
}
652
}
653
set_eopts_on_pkg_status() {
653
set_eopts_on_pkg_status() {
654
	emerged_with_use "$@" \
654
	emerged_with_use "$@" \
(-)crossdev-20101011/settings.mk (-1 / +1 lines)
Lines 2-8 Link Here
2
# Distributed under the terms of the GNU General Public License v2
2
# Distributed under the terms of the GNU General Public License v2
3
3
4
DESTDIR ?=
4
DESTDIR ?=
5
PREFIX ?= /usr
5
PREFIX ?= "${EPREFIX}"/usr
6
6
7
INSTALL_DIR  = install -m 755 -d
7
INSTALL_DIR  = install -m 755 -d
8
INSTALL_EXEC = install -m 755
8
INSTALL_EXEC = install -m 755
(-)crossdev-20101011/wrappers/cross-emerge (-1 / +1 lines)
Lines 9-15 Link Here
9
fi
9
fi
10
export CHOST
10
export CHOST
11
11
12
: ${SYSROOT=/usr/${CHOST}}
12
: ${SYSROOT="${EPREFIX}"/usr/${CHOST}}
13
: ${PORTAGE_CONFIGROOT=${SYSROOT}}
13
: ${PORTAGE_CONFIGROOT=${SYSROOT}}
14
export SYSROOT PORTAGE_CONFIGROOT
14
export SYSROOT PORTAGE_CONFIGROOT
15
15
(-)crossdev-20101011/wrappers/emerge-wrapper (-3 / +3 lines)
Lines 13-19 Link Here
13
	exit 0
13
	exit 0
14
fi
14
fi
15
15
16
PREFIX="__PREFIX__"
16
PREFIX="${EPREFIX}/usr"
17
# Enable this script to be manually installed while debugging
17
# Enable this script to be manually installed while debugging
18
[[ ${PREFIX} == \_\_\P\R\E\F\I\X\_\_ ]] && PREFIX="/usr"
18
[[ ${PREFIX} == \_\_\P\R\E\F\I\X\_\_ ]] && PREFIX="/usr"
19
19
Lines 35-41 Link Here
35
	setup_warning=false
35
	setup_warning=false
36
36
37
	cp -a "${PREFIX}"/share/crossdev/etc ${SYSROOT}/     || return 1
37
	cp -a "${PREFIX}"/share/crossdev/etc ${SYSROOT}/     || return 1
38
	ln -sf /etc/make.globals ${SYSROOT}/etc/make.globals || return 1
38
	ln -sf "${EPREFIX}"/etc/make.globals ${SYSROOT}/etc/make.globals || return 1
39
39
40
	local conf=${SYSROOT}/etc/make.conf
40
	local conf=${SYSROOT}/etc/make.conf
41
41
Lines 95-101 Link Here
95
95
96
cross_wrap()
96
cross_wrap()
97
{
97
{
98
	SYSROOT=/usr/${CHOST}
98
	SYSROOT="${EPREFIX}"/usr/${CHOST}
99
	cross_wrap_bin "$@" || return $?
99
	cross_wrap_bin "$@" || return $?
100
	if [[ -d ${SYSROOT} ]] && [[ ! -d ${SYSROOT}/etc ]] ; then
100
	if [[ -d ${SYSROOT} ]] && [[ ! -d ${SYSROOT}/etc ]] ; then
101
		cross_wrap_etc "$@"
101
		cross_wrap_etc "$@"

Return to bug 384167