=== modified file 'pkgcore/bin/ebuild-env/ebuild-daemon.lib' --- pkgcore/bin/ebuild-env/ebuild-daemon.lib 2007-06-18 19:36:19 +0000 +++ pkgcore/bin/ebuild-env/ebuild-daemon.lib 2007-07-05 19:29:54 +0000 @@ -27,6 +27,8 @@ listen line if [ "$line" == "path" ]; then listen line; + # XXX Hack in variable eclassdir + local ECLASSDIR="${line%/*}" source "${line}" || die "failed sources inherit: ${line}" elif [ "$line" == "transfer" ]; then listen line; === modified file 'pkgcore/bin/ebuild-env/ebuild-daemon.sh' --- pkgcore/bin/ebuild-env/ebuild-daemon.sh 2007-03-04 00:29:16 +0000 +++ pkgcore/bin/ebuild-env/ebuild-daemon.sh 2007-07-05 18:47:11 +0000 @@ -245,6 +245,7 @@ for e in ${com}; do x="${e##*/}" x="${x%.eclass}" + z="${e%/*}" echo "preloading eclass $x" >&2 if ! bash -n "$e"; then echo "errors detected in '$e'" >&2 @@ -253,11 +254,12 @@ fi y="$( < $e)" eval "eclass_${x}_inherit() { + local ECLASSDIR="$z" $y }" done speak "preload_eclass ${success}" - unset e x y success + unset e x y z success enable_qa_interceptors export PORTAGE_PRELOADED_ECLASSES="$PORTAGE_PRELOADED_ECLASSES ${com}" ;; === modified file 'pkgcore/bin/ebuild-env/ebuild-default-functions.sh' --- pkgcore/bin/ebuild-env/ebuild-default-functions.sh 2007-04-08 20:30:12 +0000 +++ pkgcore/bin/ebuild-env/ebuild-default-functions.sh 2007-07-05 18:58:37 +0000 @@ -523,6 +523,7 @@ for overlay in ${PORTDIR_OVERLAY}; do if [ -e "${overlay}/eclass/${1}.eclass" ]; then location="${overlay}/eclass/${1}.eclass" + local ECLASSDIR="${overlay}/eclass" debug-print " eclass exists: ${location}" fi done @@ -530,7 +531,7 @@ debug-print "inherit: $1 -> $location" source "$location" || die "died sourcing $location in inherit()" return 0 -} +}