Lines 12-20
if [[ ${ROOT:-/} != "/" ]] ; then
Link Here
|
12 |
exit 2 |
12 |
exit 2 |
13 |
fi |
13 |
fi |
14 |
|
14 |
|
|
|
15 |
EPREFIX="/home/benda/gnto" |
16 |
if [[ ${EPREFIX} == "@"GENTOO_PORTAGE_EPREFIX"@" ]] ; then |
17 |
EPREFIX="" |
18 |
fi |
19 |
|
20 |
: ${PORTAGE_CONFIGROOT:="${EPREFIX}"} |
15 |
CONFIGROOT="${PORTAGE_CONFIGROOT}/etc/portage" |
21 |
CONFIGROOT="${PORTAGE_CONFIGROOT}/etc/portage" |
16 |
|
22 |
|
17 |
source /etc/init.d/functions.sh || exit 1 |
23 |
source "${EPREFIX}"/etc/init.d/functions.sh || exit 1 |
18 |
esyslog() { :; } |
24 |
esyslog() { :; } |
19 |
die_logs() { |
25 |
die_logs() { |
20 |
echo |
26 |
echo |
Lines 316-322
setup_portage_vars() {
Link Here
|
316 |
CROSSDEV_OVERLAY=${CROSSDEV_OVERLAY%% *} |
322 |
CROSSDEV_OVERLAY=${CROSSDEV_OVERLAY%% *} |
317 |
|
323 |
|
318 |
# make sure we have a valid logdir |
324 |
# make sure we have a valid logdir |
319 |
: ${PORT_LOGDIR:=/var/log/portage} |
325 |
: ${PORT_LOGDIR:=${EPREFIX}/var/log/portage} |
320 |
mkdir -p "${PORT_LOGDIR}" |
326 |
mkdir -p "${PORT_LOGDIR}" |
321 |
} |
327 |
} |
322 |
|
328 |
|
Lines 337-349
uninstall() {
Link Here
|
337 |
done |
343 |
done |
338 |
rm -rf "${CONFIGROOT}"/env/cross-${CTARGET} |
344 |
rm -rf "${CONFIGROOT}"/env/cross-${CTARGET} |
339 |
rmdir "${CONFIGROOT}"/env 2>/dev/null |
345 |
rmdir "${CONFIGROOT}"/env 2>/dev/null |
340 |
rm -f /etc/revdep-rebuild/05cross-${CTARGET} |
346 |
rm -f "${EPREFIX}"/etc/revdep-rebuild/05cross-${CTARGET} |
341 |
rmdir /etc/revdep-rebuild 2>/dev/null |
347 |
rmdir "${EPREFIX}"/etc/revdep-rebuild 2>/dev/null |
342 |
|
348 |
|
343 |
rmdir /var/db/pkg/cross-${CTARGET} 2>/dev/null |
349 |
rmdir "${EPREFIX}"/var/db/pkg/cross-${CTARGET} 2>/dev/null |
344 |
if [[ -d /var/db/pkg/cross-${CTARGET} ]] ; then |
350 |
if [[ -d ${EPREFIX}/var/db/pkg/cross-${CTARGET} ]] ; then |
345 |
export CLEAN_DELAY=0 |
351 |
export CLEAN_DELAY=0 |
346 |
cd /var/db/pkg |
352 |
cd "${EPREFIX}"/var/db/pkg |
347 |
local pkgs=( cross-${CTARGET}/* ) |
353 |
local pkgs=( cross-${CTARGET}/* ) |
348 |
emerge -qC ${pkgs[@]/#/=} || exit 1 |
354 |
emerge -qC ${pkgs[@]/#/=} || exit 1 |
349 |
else |
355 |
else |
Lines 356-384
uninstall() {
Link Here
|
356 |
gcc-{ar,nm,ranlib} gccbug gprof ld nm objcopy objdump \ |
362 |
gcc-{ar,nm,ranlib} gccbug gprof ld nm objcopy objdump \ |
357 |
ranlib readelf size strings strip windmc windres |
363 |
ranlib readelf size strings strip windmc windres |
358 |
do |
364 |
do |
359 |
rm -f /usr/bin/${CTARGET}-${f} /usr/${CTARGET}/bin/${f} |
365 |
rm -f "${EPREFIX}"/usr/bin/${CTARGET}-${f} "${EPREFIX}"/usr/${CTARGET}/bin/${f} |
360 |
done |
366 |
done |
361 |
rm -f /usr/${CTARGET}/{sys-include,usr} |
367 |
rm -f "${EPREFIX}"/usr/${CTARGET}/{sys-include,usr} |
362 |
rmdir /usr/${CTARGET}/{include/asm,include} 2>/dev/null |
368 |
rmdir "${EPREFIX}"/usr/${CTARGET}/{include/asm,include} 2>/dev/null |
363 |
rm -f /usr/bin/${CTARGET}-{gcc,{c,g}++,cpp,gfortran,gcov} |
369 |
rm -f "${EPREFIX}"/usr/bin/${CTARGET}-{gcc,{c,g}++,cpp,gfortran,gcov} |
364 |
rm -f /etc/env.d/{binutils,gcc}/config-${CTARGET} |
370 |
rm -f "${EPREFIX}"/etc/env.d/{binutils,gcc}/config-${CTARGET} |
365 |
|
371 |
|
366 |
# clean out files from crossdev itself |
372 |
# clean out files from crossdev itself |
367 |
[[ -e /var/db/pkg/cross-${CTARGET} ]] && rmdir /var/db/pkg/cross-${CTARGET} |
373 |
[[ -e ${EPREFIX}/var/db/pkg/cross-${CTARGET} ]] && rmdir "${EPREFIX}"/var/db/pkg/cross-${CTARGET} |
368 |
rm -f /usr/bin/${CTARGET}-{emerge,fix-root,pkg-config} /usr/bin/emerge-${CTARGET} |
374 |
rm -f "${EPREFIX}"/usr/bin/${CTARGET}-{emerge,fix-root,pkg-config} "${EPREFIX}"/usr/bin/emerge-${CTARGET} |
369 |
|
375 |
|
370 |
for f in make.{conf,globals,profile} ; do |
376 |
for f in make.{conf,globals,profile} ; do |
371 |
f="/usr/${CTARGET}/etc/${f}" |
377 |
f="${EPREFIX}/usr/${CTARGET}/etc/${f}" |
372 |
[[ -L ${f} ]] && rm -f ${f} |
378 |
[[ -L ${f} ]] && rm -f ${f} |
373 |
f="/usr/${CTARGET}/etc/portage/${f##*/}" |
379 |
f="${EPREFIX}/usr/${CTARGET}/etc/portage/${f##*/}" |
374 |
[[ -L ${f} ]] && rm -f ${f} |
380 |
[[ -L ${f} ]] && rm -f ${f} |
375 |
done |
381 |
done |
376 |
find /usr/share/crossdev/etc/ -type f | \ |
382 |
find "${EPREFIX}"/usr/share/crossdev/etc/ -type f | \ |
377 |
while read f ; do |
383 |
while read f ; do |
378 |
f1=${f} |
384 |
f1=${f} |
379 |
[[ ! -e ${f1} ]] && continue |
385 |
[[ ! -e ${f1} ]] && continue |
380 |
m1=$(set -- `md5sum ${f1}`; echo $1) |
386 |
m1=$(set -- `md5sum ${f1}`; echo $1) |
381 |
f2=/usr/${CTARGET}${f#/usr/share/crossdev} |
387 |
f2=${EPREFIX}/usr/${CTARGET}${f#/usr/share/crossdev} |
382 |
[[ ! -e ${f2} ]] && continue |
388 |
[[ ! -e ${f2} ]] && continue |
383 |
m2=$(set -- `md5sum ${f2}`; echo $1) |
389 |
m2=$(set -- `md5sum ${f2}`; echo $1) |
384 |
if [[ ${m1} == ${m2} ]] ; then |
390 |
if [[ ${m1} == ${m2} ]] ; then |
Lines 387-393
uninstall() {
Link Here
|
387 |
done |
393 |
done |
388 |
|
394 |
|
389 |
# clean out the sysroot, prompting the user if need be |
395 |
# clean out the sysroot, prompting the user if need be |
390 |
for d in /usr/lib/gcc{,-lib}/${CTARGET} /usr/${CTARGET} ; do |
396 |
for d in "${EPREFIX}"/usr/lib/gcc{,-lib}/${CTARGET} "${EPREFIX}"/usr/${CTARGET} ; do |
391 |
if [[ ! -d ${d} ]] ; then |
397 |
if [[ ! -d ${d} ]] ; then |
392 |
rm -f "${d}" |
398 |
rm -f "${d}" |
393 |
else |
399 |
else |
Lines 441-449
hr() {
Link Here
|
441 |
|| c=${c##* } |
447 |
|| c=${c##* } |
442 |
fi |
448 |
fi |
443 |
local ext=${1:- _ - ~ -} |
449 |
local ext=${1:- _ - ~ -} |
444 |
local sext=${ext//?/ } |
450 |
local sext=${ext/?/ } |
445 |
local br=$(printf "%$((c + ${#ext}))s") |
451 |
local br=$(printf "%$((c + ${#ext}))s") |
446 |
local banner=${br//${sext}/${ext}} |
452 |
local banner=${br/${sext}/${ext}} |
447 |
echo "${banner:0:${c}}" |
453 |
echo "${banner:0:${c}}" |
448 |
} |
454 |
} |
449 |
ver_get_op() { |
455 |
ver_get_op() { |
Lines 602-608
show_target_cfg() {
Link Here
|
602 |
setup_portage_vars |
608 |
setup_portage_vars |
603 |
if [[ -z ${CROSSDEV_OVERLAY} ]] ; then |
609 |
if [[ -z ${CROSSDEV_OVERLAY} ]] ; then |
604 |
eerror "You need to specify an output overlay. Please use --ov-output or set" |
610 |
eerror "You need to specify an output overlay. Please use --ov-output or set" |
605 |
eerror "PORTDIR_OVERLAY in your make.conf. A standard setting is: /usr/local/portage" |
611 |
eerror "PORTDIR_OVERLAY in your make.conf. A standard setting is: ${EPREFIX}/usr/local/portage" |
606 |
exit 1 |
612 |
exit 1 |
607 |
fi |
613 |
fi |
608 |
|
614 |
|
Lines 987-1007
done
Link Here
|
987 |
set_metadata |
993 |
set_metadata |
988 |
|
994 |
|
989 |
# filter out revdep rebuild stuff #182601 |
995 |
# filter out revdep rebuild stuff #182601 |
990 |
mkdir -p /etc/revdep-rebuild |
996 |
mkdir -p "${EPREFIX}"/etc/revdep-rebuild |
991 |
echo "SEARCH_DIRS_MASK=/usr/${CTARGET}" > /etc/revdep-rebuild/05cross-${CTARGET} |
997 |
echo "SEARCH_DIRS_MASK=${EPREFIX}/usr/${CTARGET}" > "${EPREFIX}"/etc/revdep-rebuild/05cross-${CTARGET} |
992 |
|
998 |
|
993 |
hr |
999 |
hr |
994 |
|
1000 |
|
995 |
####################################### |
1001 |
####################################### |
996 |
### Create links for helper scripts ### |
1002 |
### Create links for helper scripts ### |
997 |
|
1003 |
|
998 |
mkdir -p /usr/${CTARGET} |
1004 |
mkdir -p "${EPREFIX}"/usr/${CTARGET} |
999 |
emerge-wrapper --target ${CTARGET} --init || exit 1 |
1005 |
emerge-wrapper --target ${CTARGET} --init || exit 1 |
1000 |
|
1006 |
|
1001 |
################# |
1007 |
################# |
1002 |
emerged_with_use() { |
1008 |
emerged_with_use() { |
1003 |
local pkg=$1 use=$2 |
1009 |
local pkg=$1 use=$2 |
1004 |
grep -qs ${use} /var/db/pkg/cross-${CTARGET}/${pkg}-*/USE |
1010 |
grep -qs ${use} "${EPREFIX}"/var/db/pkg/cross-${CTARGET}/${pkg}-*/USE |
1005 |
} |
1011 |
} |
1006 |
set_eopts_on_pkg_status() { |
1012 |
set_eopts_on_pkg_status() { |
1007 |
emerged_with_use "$@" \ |
1013 |
emerged_with_use "$@" \ |