# porque amule intenta hacer downgrade?

## DarkMind

instale el amule 2.0.0 final (de un ebuild no oficial) y en /etc/portage/package.keyword coloque

```

net-p2p/amule
```

pero al tratar de actualizar me arroja esto:

```
darkmind / # emerge --update --deep -p world

These are the packages that I would merge, in order:

Calculating world dependencies ...done!

[ebuild     U ] media-libs/lcms-1.13-r1 [1.13]

[ebuild  N    ] media-libs/gd-2.0.32

[ebuild     UD] net-p2p/amule-2.0.0_rc7 [2.0.0]

[ebuild     U ] www-client/mozilla-firefox-bin-1.0.4 [1.0.3]

```

como puedo solucionar esto?

----------

## K@mik@ze

Pues cambiando la línea

```
net-p2p/amule
```

en el archivo /etc/portage/package.keyword por esta otra

```
net-p2p/amule ~x86
```

----------

## LinuxBlues

 *DarkMind wrote:*   

> instale el amule 2.0.0 final (de un ebuild no oficial)

 

Veamos, y si instalas un ebuild no oficial ¿por qué no haces las cosas correctamente?

Edita /etc/make.conf y añade la variable:

```

PORTDIR_OVERLAY="/usr/local/portage"

```

Crea el directorio portage en /usr/local/ y dentro del mismo el directorio net-p2p y dentro del mismo, colocas el ebuild "no oficial".

```

ebuild /usr/local/portage/net-p2p/amule-x.y.z.ebuild digest

```

(x.y.z) debe reemplazarse por la versión correcta, con teclear amule+tecla <tab> bastará.

y a continuación haces: emerge amule

Con ello instalarás la versión de tu overlay y por mucho que hagas emerge --sync, ya no te hará un downgrade.

Evita usar el package.keywords o úsalo lo menos posible.

 :Wink: 

----------

## ArsDangor

 *Quote:*   

> Evita usar el package.keywords o úsalo lo menos posible. 

 ¿Cómo? ¿Qué tiene que ver?

Si ha usado el ebuild de la página de amule, tendrá algo como esto:

```
$ grep KEY /usr/local/portage/net-p2p/amule/amule-2.0.0.ebuild

KEYWORDS="~x86 ~amd64 ~ppc ~ppc64 ~sparc ~alpha"
```

Es decir: que si el chaval está en x86, tendrá que tocar el package.keywords, o de lo contrario no podrá instalarse el aMule. Así pues, todo lo que dices está muy bien, pero hay que tocar el package.keywords (o pasarse a ~x86, que es lo que hice yo hace bastante). Para eso está.  :Razz: 

----------

## DarkMind

 *LinuxBlues wrote:*   

>  *DarkMind wrote:*   instale el amule 2.0.0 final (de un ebuild no oficial) 
> 
> Veamos, y si instalas un ebuild no oficial ¿por qué no haces las cosas correctamente?
> 
> Edita /etc/make.conf y añade la variable:
> ...

 

gracias  :Very Happy:  ahi si...

para ser franco no tenia idea sobre lo del "PORTDIR_OVERLAY" , buena opcion  :Smile: 

----------

## LinuxBlues

 *ArsDangor wrote:*   

> ¿Cómo? ¿Qué tiene que ver? Así pues, todo lo que dices está muy bien, pero hay que tocar el package.keywords (o pasarse a ~x86, que es lo que hice yo hace bastante). Para eso está.

 

Bien si deseas permanecer en inestable, allá tú, dado que nadie te obligó a ello, pero con el package.keywords los que permanecemos en estable, es un asunto más serio de lo que pueda parecérselo a los que están bajo inestable...

¿Por qué? porque si se actualiza el paquete e incluye no muchas, solo las dependencias necesarias como para hacer el sistema inestable, lo hará sin preguntar ni indicar nada, emerge sencillamente está haciendo lo que se le pidió que hiciese... desenmascarando ese paquete en package.keywords.

Si estás en ~x86 tú lo elegiste, pero comprende que hay gente que no está masked y que pretende seguir estando en estable...

En el caso en concreto del que estamos hablando, el amule 2.0.0 final, por ejemplo, requiere como dependencia una versión de wxGTK masked y de estar en el package.keywords la instala sin preguntar nada. Con lo que podría fastidiarme muchos programas importantes: si creas tu overlay, sencillamente eliminas el ebuild y listo, ni un solo paquete masked.

Yo no soy masoquista y por eso insistía en tomar ciertas precauciones... 

Por otra parte, ¿tu mensaje tiene algo que ver con el hilo? No pienso perder el tiempo volviendo a contestarte a ataques personales, espero que te quede claro.

----------

## ArsDangor

¿Ataque personal? ¿Dónde he hecho ninguna referencia a nada más que lo que tú habías dicho? No estaba de acuerdo con una cosa que habías dicho, y lo he hecho saber. Desde luego, no tengo ningún interés en que nadie pase de x86 a ~x86, o viceversa.

Sobre el caso del usar o no usar el package.keywords, que es con lo que no estoy de acuerdo, la diferencia entre usarlo y no usarlo está en poder o no poder instalar tu programa. En el caso de aMule, puedes instalarlo con wxGTK 2.6 (~x86) ó con wxGTK 2.4.2 (x86). Si hubiera dependencias forzosas, usar el package.keywords tiene la ventaja de informarte sobre ellas, y que llegado el caso, elijas si quieres seguir con ellas (estás informado, es tu responsabilidad), o si por el contrario el paquete no te interesa.

En este caso, a DarkMind le interesaban 2 cosas: aMule 2.0.0 (~x86) y tener el grueso de su sistema como x86. La forma correcta de hacer esto es con el package.keywords. Porque los overlays, de los que tú hablabas (y ahí es donde enlaza mi respuesta con el mensaje original) también obedecen las KEYWORDS de Portage.

Dabas información incompleta o incorrecta, lo que no es ningún pecado ni pretendí que lo pareciera. Todos leemos mal a veces, todos entendemos mal las preguntas de vez en cuando o respondemos a mensajes de hace 2 años (y yo, el que más). No creo que fuera una falta de respeto hacia ti ni hacia nadie matizarla, para evitar que el autor de la pregunta original pudiera tener ninguna confusión, como a mí me ha pasado, y como nos pasa a todos.

 *Quote:*   

> ¿Por qué? porque si se actualiza el paquete e incluye no muchas, solo las dependencias necesarias como para hacer el sistema inestable, lo hará sin preguntar ni indicar nada, emerge sencillamente está haciendo lo que se le pidió que hiciese... desenmascarando ese paquete en package.keywords. 

 Esto tampoco es correcto. Actualizará sólo los paquetes que estén bajo el control de package.keywords, pero no sus dependencias (a menos que también estén en el package.keywords). Y lo más apropiado para cualquier paquete en este archivo (y en casi cualquiera bajo /etc/portage) no es desenmascararlo a machete, sino desenmascarar sólo la versión que nos interesa. 

```
echo '~categoria/paquete-version_sin_rN' >> /etc/portage/package.keywords
```

 te libera de esas actualizaciones no deseables que (con razón) tanto te preocupan. Por eso se usa package.keywords y no 

```
ACCEPT_KEYWORDS=~x86 emerge loquesea
```

En fin. Lamento si lo tomaste como un ataque personal, porque para todos los de este foro tengo el más sincero respeto.

----------

