Lines 7-21
Link Here
|
7 |
cd / |
7 |
cd / |
8 |
umask 0022 #159111 |
8 |
umask 0022 #159111 |
9 |
|
9 |
|
10 |
: ${ROOT:=/} |
10 |
: ${ROOT:=@GENTOO_PORTAGE_EPREFIX@} |
11 |
if [[ ${ROOT} != "/" ]] ; then |
11 |
if [[ ${ROOT} != "@GENTOO_PORTAGE_EPREFIX@" ]] ; then |
12 |
echo "Sorry, but crossdev does not support ROOT." 1>&2 |
12 |
echo "Sorry, but crossdev does not support ROOT." 1>&2 |
13 |
exit 2 |
13 |
exit 2 |
14 |
fi |
14 |
fi |
15 |
|
15 |
|
16 |
CONFIGROOT="${PORTAGE_CONFIGROOT}/etc/portage" |
16 |
CONFIGROOT="@GENTOO_PORTAGE_EPREFIX@${PORTAGE_CONFIGROOT}/etc/portage" |
17 |
|
17 |
|
18 |
source /lib/gentoo/functions.sh || exit 1 |
18 |
source @GENTOO_PORTAGE_EPREFIX@/lib/gentoo/functions.sh || exit 1 |
19 |
esyslog() { :; } |
19 |
esyslog() { :; } |
20 |
die_logs() { |
20 |
die_logs() { |
21 |
echo |
21 |
echo |
Lines 392-398
Link Here
|
392 |
fi |
392 |
fi |
393 |
|
393 |
|
394 |
# make sure we have a valid logdir |
394 |
# make sure we have a valid logdir |
395 |
: ${PORT_LOGDIR:=/var/log/portage} |
395 |
: ${PORT_LOGDIR:=@GENTOO_PORTAGE_EPREFIX@/var/log/portage} |
396 |
mkdir -p "${PORT_LOGDIR}" |
396 |
mkdir -p "${PORT_LOGDIR}" |
397 |
} |
397 |
} |
398 |
|
398 |
|
Lines 413-420
Link Here
|
413 |
done |
413 |
done |
414 |
rm -rf "${CONFIGROOT}"/env/cross-${CTARGET} |
414 |
rm -rf "${CONFIGROOT}"/env/cross-${CTARGET} |
415 |
rmdir "${CONFIGROOT}"/env 2>/dev/null |
415 |
rmdir "${CONFIGROOT}"/env 2>/dev/null |
416 |
rm -f /etc/revdep-rebuild/05cross-${CTARGET} |
416 |
rm -f @GENTOO_PORTAGE_EPREFIX@/etc/revdep-rebuild/05cross-${CTARGET} |
417 |
rmdir /etc/revdep-rebuild 2>/dev/null |
417 |
rmdir @GENTOO_PORTAGE_EPREFIX@/etc/revdep-rebuild 2>/dev/null |
418 |
|
418 |
|
419 |
# Unmerge all toolchain packages for this target. |
419 |
# Unmerge all toolchain packages for this target. |
420 |
qmerge -Uqy $(qlist -IC "cross-${CTARGET}/") |
420 |
qmerge -Uqy $(qlist -IC "cross-${CTARGET}/") |
Lines 425-453
Link Here
|
425 |
gcc-{ar,nm,ranlib} gccbug gprof ld nm objcopy objdump \ |
425 |
gcc-{ar,nm,ranlib} gccbug gprof ld nm objcopy objdump \ |
426 |
ranlib readelf size strings strip windmc windres |
426 |
ranlib readelf size strings strip windmc windres |
427 |
do |
427 |
do |
428 |
rm -f /usr/bin/${CTARGET}-${f} /usr/${CTARGET}/bin/${f} |
428 |
rm -f @GENTOO_PORTAGE_EPREFIX@/usr/bin/${CTARGET}-${f} @GENTOO_PORTAGE_EPREFIX@/usr/${CTARGET}/bin/${f} |
429 |
done |
429 |
done |
430 |
rm -f /usr/${CTARGET}/{sys-include,usr} |
430 |
rm -f @GENTOO_PORTAGE_EPREFIX@/usr/${CTARGET}/{sys-include,usr} |
431 |
rmdir /usr/${CTARGET}/{include/asm,include} 2>/dev/null |
431 |
rmdir @GENTOO_PORTAGE_EPREFIX@/usr/${CTARGET}/{include/asm,include} 2>/dev/null |
432 |
rm -f /usr/bin/${CTARGET}-{gcc,{c,g}++,cpp,gfortran,gcov} |
432 |
rm -f @GENTOO_PORTAGE_EPREFIX@/usr/bin/${CTARGET}-{gcc,{c,g}++,cpp,gfortran,gcov} |
433 |
rm -f /etc/env.d/{binutils,gcc}/config-${CTARGET} |
433 |
rm -f @GENTOO_PORTAGE_EPREFIX@/etc/env.d/{binutils,gcc}/config-${CTARGET} |
434 |
|
434 |
|
435 |
# clean out files from crossdev itself |
435 |
# clean out files from crossdev itself |
436 |
[[ -e /var/db/pkg/cross-${CTARGET} ]] && rmdir /var/db/pkg/cross-${CTARGET} |
436 |
[[ -e @GENTOO_PORTAGE_EPREFIX@/var/db/pkg/cross-${CTARGET} ]] && rmdir @GENTOO_PORTAGE_EPREFIX@/var/db/pkg/cross-${CTARGET} |
437 |
rm -f /usr/bin/${CTARGET}-{emerge,fix-root,pkg-config} /usr/bin/emerge-${CTARGET} |
437 |
rm -f @GENTOO_PORTAGE_EPREFIX@/usr/bin/${CTARGET}-{emerge,fix-root,pkg-config} @GENTOO_PORTAGE_EPREFIX@/usr/bin/emerge-${CTARGET} |
438 |
|
438 |
|
439 |
for f in make.{conf,globals,profile} ; do |
439 |
for f in make.{conf,globals,profile} ; do |
440 |
f="/usr/${CTARGET}/etc/${f}" |
440 |
f="@GENTOO_PORTAGE_EPREFIX@/usr/${CTARGET}/etc/${f}" |
441 |
[[ -L ${f} ]] && rm -f ${f} |
441 |
[[ -L ${f} ]] && rm -f ${f} |
442 |
f="/usr/${CTARGET}/etc/portage/${f##*/}" |
442 |
f="@GENTOO_PORTAGE_EPREFIX@/usr/${CTARGET}/etc/portage/${f##*/}" |
443 |
[[ -L ${f} ]] && rm -f ${f} |
443 |
[[ -L ${f} ]] && rm -f ${f} |
444 |
done |
444 |
done |
445 |
find /usr/share/crossdev/etc/ -type f | \ |
445 |
find @GENTOO_PORTAGE_EPREFIX@/usr/share/crossdev/etc/ -type f | \ |
446 |
while read f ; do |
446 |
while read f ; do |
447 |
f1=${f} |
447 |
f1=${f} |
448 |
[[ ! -e ${f1} ]] && continue |
448 |
[[ ! -e ${f1} ]] && continue |
449 |
m1=$(set -- `md5sum ${f1}`; echo $1) |
449 |
m1=$(set -- `md5sum ${f1}`; echo $1) |
450 |
f2=/usr/${CTARGET}${f#/usr/share/crossdev} |
450 |
f2=@GENTOO_PORTAGE_EPREFIX@/usr/${CTARGET}${f#/usr/share/crossdev} |
451 |
[[ ! -e ${f2} ]] && continue |
451 |
[[ ! -e ${f2} ]] && continue |
452 |
m2=$(set -- `md5sum ${f2}`; echo $1) |
452 |
m2=$(set -- `md5sum ${f2}`; echo $1) |
453 |
if [[ ${m1} == ${m2} ]] ; then |
453 |
if [[ ${m1} == ${m2} ]] ; then |
Lines 456-462
Link Here
|
456 |
done |
456 |
done |
457 |
|
457 |
|
458 |
# clean out the sysroot, prompting the user if need be |
458 |
# clean out the sysroot, prompting the user if need be |
459 |
for d in /usr/lib/gcc{,-lib}/${CTARGET} /usr/${CTARGET} ; do |
459 |
for d in @GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc{,-lib}/${CTARGET} \ |
|
|
460 |
@GENTOO_PORTAGE_EPREFIX@/usr/${CTARGET} ; do |
460 |
if [[ ! -d ${d} ]] ; then |
461 |
if [[ ! -d ${d} ]] ; then |
461 |
rm -f "${d}" |
462 |
rm -f "${d}" |
462 |
else |
463 |
else |
Lines 959-965
Link Here
|
959 |
output="env/cross-${CTARGET}/${pkg}.conf" |
960 |
output="env/cross-${CTARGET}/${pkg}.conf" |
960 |
cat <<-EOF > "${output}" |
961 |
cat <<-EOF > "${output}" |
961 |
SYMLINK_LIB=no |
962 |
SYMLINK_LIB=no |
962 |
COLLISION_IGNORE="\${COLLISION_IGNORE} /usr/lib/debug/.build-id" |
963 |
COLLISION_IGNORE="\${COLLISION_IGNORE} @GENTOO_PORTAGE_EPREFIX@/usr/lib/debug/.build-id" |
963 |
$(printf '%b' "${env}") |
964 |
$(printf '%b' "${env}") |
964 |
$(printf '%b' "${AENV}") |
965 |
$(printf '%b' "${AENV}") |
965 |
EOF |
966 |
EOF |
Lines 1113-1133
Link Here
|
1113 |
set_metadata |
1114 |
set_metadata |
1114 |
|
1115 |
|
1115 |
# filter out revdep rebuild stuff #182601 |
1116 |
# filter out revdep rebuild stuff #182601 |
1116 |
mkdir -p /etc/revdep-rebuild |
1117 |
mkdir -p @GENTOO_PORTAGE_EPREFIX@/etc/revdep-rebuild |
1117 |
echo "SEARCH_DIRS_MASK=/usr/${CTARGET}" > /etc/revdep-rebuild/05cross-${CTARGET} |
1118 |
echo "SEARCH_DIRS_MASK=@GENTOO_PORTAGE_EPREFIX@/usr/${CTARGET}" > @GENTOO_PORTAGE_EPREFIX@/etc/revdep-rebuild/05cross-${CTARGET} |
1118 |
|
1119 |
|
1119 |
hr |
1120 |
hr |
1120 |
|
1121 |
|
1121 |
####################################### |
1122 |
####################################### |
1122 |
### Create links for helper scripts ### |
1123 |
### Create links for helper scripts ### |
1123 |
|
1124 |
|
1124 |
mkdir -p /usr/${CTARGET} |
1125 |
mkdir -p @GENTOO_PORTAGE_EPREFIX@/usr/${CTARGET} |
1125 |
emerge-wrapper --target ${CTARGET} --init || exit 1 |
1126 |
emerge-wrapper --target ${CTARGET} --init || exit 1 |
1126 |
|
1127 |
|
1127 |
################# |
1128 |
################# |
1128 |
emerged_with_use() { |
1129 |
emerged_with_use() { |
1129 |
local pkg=$1 use=$2 |
1130 |
local pkg=$1 use=$2 |
1130 |
grep -qs ${use} /var/db/pkg/cross-${CTARGET}/${pkg}-*/USE |
1131 |
grep -qs ${use} @GENTOO_PORTAGE_EPREFIX@/var/db/pkg/cross-${CTARGET}/${pkg}-*/USE |
1131 |
} |
1132 |
} |
1132 |
set_eopts_on_pkg_status() { |
1133 |
set_eopts_on_pkg_status() { |
1133 |
emerged_with_use "$@" \ |
1134 |
emerged_with_use "$@" \ |