En Gentoo, ¿cuál es la diferencia entre amd64, ~ amd64 y ~ amd64-linux?

9

Cuando ejecuto equery depgraph www-client/chromium-10.0.648.151, no todas las dependencias están disponibles. Algunos espectáculos M[package.mask], mientras que otros espectáculos [missing keyword]. Mi ACCEPT_KEYWORDSes ~amd64-linux, según emerge --info. Experimenté con diferentes ACCEPT_KEYWORDS(como una variable ambiental pasada a eqeury), y todos tienen diferentes dependencias faltantes. Entre todas las combinaciones posibles, solo con ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux'todas las dependencias se puede satisfacer a la vez.

Aquí están mis preguntas:

  1. ¿Es ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux'una configuración válida?
  2. Aprendí de la documentación que amd64significa estable y ~amd64significa inestable. ¿Qué hay de ~amd64-linux?
  3. Si selecciono ~amd64, equeryno usaría los paquetes disponibles solo para amd64, lo que da como resultado que falten dependencias. ¿Se espera esto? Si es así, ¿deberían los probadores inestables usar al menos en ACCEPT_KEYWORDS='amd64 ~amd64'lugar de ACCEPT_KEYWORDS='~amd64'?
  4. ¿Importa el orden de las palabras clave?

Información adicional: instalé Gentoo Prefix siguiendo esta guía . Por defecto, $EPREFIX/etc/make.profilees un enlace simbólico $EPREFIX/usr/portage/profiles/prefix/linux/amd64y contiene uno make.defaultsque tiene ACCEPT_KEYWORDS="-amd64 ~amd64-linux". Ni $EPREFIX/etc/make.conftampoco lo $EPREFIX/etc/make.globalsha ACCEPT_KEYWORDSconfigurado. Según eselect profile list, no se selecciona ningún perfil.

netvope
fuente

Respuestas:

8

1. ¿ACCEPT_KEYWORDS = 'amd64 ~ amd64 ~ amd64-linux' es una configuración válida?

Desde man make.conf:

ACCEPT_KEYWORDS = [lista delimitada por espacios de KEYWORDS]

Entonces ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux'es una combinación válida.

2. ¿Qué pasa con ~ amd64-linux?

amd64-linuxEs una cosa de prefijo. No sé mucho sobre Prefix, pero puedo verlo amd64-linuxen la lista de palabras clave válidas en /usr/portage/profiles/arch.list, en la sección llamada "Prefijo de palabras clave". ~amd64-linuxes solo el equivalente de prueba de amd64-linux.

3. ACCEPT_KEYWORDS='amd64 ~amd64'vs solo~amd64

Si tiene ~amd64en su ACCEPT_KEYWORDSportage, usará todos los ebuilds más recientes, que a menudo contienen muchas cosas inestables. Creo que es por eso que se esperan dependencias faltantes. Por ejemplo, eso puede suceder si desea instalar software-a, y la última en la rama de prueba es software-a-2.3.4, que requiere library-b-5.6.7, que aún no tiene un ebuild. Con respecto a amd64 ~amd64y justo ~amd64, que son los mismos, en realidad, porque si su arquitectura AMD64 es que tendrá amd64en ACCEPT_KEYWORDS, no importa qué.

4. ¿Importa el orden de las palabras clave?

No, porque es solo cuestión de si su ACCEPT_KEYWORDSvariable contiene una determinada palabra clave o no. Es como un conjunto (desordenado).

Después de haber utilizado Gentoo por un tiempo, todavía no tengo el atreven a poner ~amd64en mi ACCEPT_KEYWORDS. Es tan inestable que realmente no se recomienda, configurarlo por primera vez garantiza una gran cantidad de roturas.

phunehehe
fuente
Gracias por la explicación muy clara. en mi caso, aún tenía que poner ~ amd64 para obtener lo último xtables-addons. pero desde mi caja de Gentoo sirve como un cortafuegos pura, no estoy realmente preocupado de la estabilidad :) otros paquetes
pepoluan
2
@pepoluan Si ~amd64es solo para tener, xtables-addonsentonces debe ponerlo /etc/portage/package.keywordso en /etc/portage/package.accept_keywordslugar de usar la rama de prueba inestable. Para obtener más información, consulte man portageo pregunte aquí en una pregunta diferente.
phunehehe
Dios mío, tienes razón>. <... Pido disculpas, parece que mi n00bness brilla a través de: P ... de todos modos, no soy el cartel original, solo un comentarista descarriado :)
pepoluan
@pepoluan Me alegro de haber sido de ayuda. Todo el mundo es un novato en algún momento :)
phunehehe
Gracias por tu respuesta detallada. No entiendo por qué, pero la palabra clave predeterminada es ~amd64-linux(con amd64explícitamente eliminado). Hasta ahora está funcionando bien =)
netvope
3

La variable de entorno ACCEPT_KEYWORDS es para permitir que se construyan "todos" los paquetes / versiones estables aún no marcados para la arquitectura actual.

El ~ delante de un arco significa inestable (no "completamente" probado).

El enfoque a menudo mejor es usar /etc/portage/package.keywords y enumerar el paquete allí con la palabra clave ~ amd64 si realmente necesita la última compilación.

Por cierto: firewall amd64, ¿no es así como wikipedia define la exageración?

  1. si
  2. Nunca he oído hablar de "~ amd64-linux", pero el ~ significa "inestable".
  3. No, no se espera que "~ amd64" excluya "amd64".
  4. No.
MattBianco
fuente