Non so di chi sia la colpa, ma qualcuno definisce una funzione che ha lo stesso nome di quelle del bashrc, e il bashrc opera nello stesso processo di ebuild.sh per poter cambiare le var d'ambiente come CFLAGS, perciò il conflitto è inevitabile. L'unica soluzione che ho trovato è stata cambiare i nomi delle funzioni da $EBUILD_PHASE a on_$EBUILD_PHASE, quindi con queste modifiche al bashrc:
Code: Select all
diff -wu bashrc bashrc.new
--- bashrc 2006-07-01 15:50:23.086252000 +0200
+++ bashrc.new 2006-07-11 21:18:07.112540500 +0200
@@ -116,7 +116,7 @@
for mod in ${MODULESDIR}/*.module
do
# define an empty action
- eval "$EBUILD_PHASE () {
+ eval "on_$EBUILD_PHASE () {
true
}"
# source the module, if active
@@ -125,7 +125,7 @@
then
source $mod
# invoke the module-defined action, if any
- $EBUILD_PHASE
+ on_$EBUILD_PHASE
fi
done
che potete applicare andando in /etc/portage, scrivendo 'patch -p0' e poi facendo copia-incolla del testo qui su (terminato con ctrl-D); il problema è che bisogna poi aprire in un editor ogni modulo (almeno quelli che usate, nella prossima release saranno tutti corretti) e sostituire clean() con on_clean(), setup() con on_setup(), compile() con on_compile(), install() con on_install(), e postinst con on_postinst(); dovrebbero essere le ultime funzioni in ogni modulo.
Ciao
La risposta, non la devi cercare fuori, la devi cercare dentro di te: e però è SBAGLIATA!
-- Corrado Guzzanti, "Pippo Chennedy Show", 1997