Dans Gentoo, quelle est la différence entre amd64, ~ amd64 et ~ amd64-linux?

9

Lorsque je cours equery depgraph www-client/chromium-10.0.648.151, toutes les dépendances ne sont pas disponibles. Certains spectacles M[package.mask], tandis que d'autres spectacles [missing keyword]. Mon ACCEPT_KEYWORDSest ~amd64-linux, selon emerge --info. J'ai expérimenté différentes ACCEPT_KEYWORDS(en tant que variable environnementale transmise à eqeury) et toutes ont des dépendances manquantes différentes. Parmi toutes les combinaisons possibles, seule ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux'toutes les dépendances peuvent être satisfaites à la fois.

Voici mes questions:

  1. La ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux'configuration est -elle valide?
  2. J'ai appris de la documentation qui amd64signifie stable et ~amd64signifie instable. Et alors ~amd64-linux?
  3. Si je sélectionne ~amd64, equeryn'utiliserait pas les packages disponibles uniquement pour amd64, entraînant des dépendances manquantes. Est-ce attendu? Si oui, les testeurs instables devraient-ils utiliser au moins à la ACCEPT_KEYWORDS='amd64 ~amd64'place de ACCEPT_KEYWORDS='~amd64'?
  4. L'ordre des mots-clés est-il important?

Informations supplémentaires: J'ai installé Gentoo Prefix en suivant ce guide . Par défaut, $EPREFIX/etc/make.profileest un lien symbolique vers $EPREFIX/usr/portage/profiles/prefix/linux/amd64et contient un make.defaultsqui a ACCEPT_KEYWORDS="-amd64 ~amd64-linux". Ni $EPREFIX/etc/make.confni $EPREFIX/etc/make.globalsn'a ACCEPT_KEYWORDSconfiguré. Selon eselect profile list, aucun profil n'est sélectionné.

netvope
la source

Réponses:

8

1. ACCEPT_KEYWORDS = 'amd64 ~ amd64 ~ amd64-linux' est-il une configuration valide?

De l'homme make.conf:

ACCEPT_KEYWORDS = [liste de KEYWORDS délimitée par des espaces]

Il en ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux'va de même pour une combinaison valide.

2. Qu'en est-il de ~ amd64-linux?

amd64-linuxest une chose Prefix. Je ne connais pas grand-chose sur Prefix, mais je peux voir amd64-linuxdans la liste des mots-clés valides à /usr/portage/profiles/arch.list, dans la section intitulée "Mots-clés Prefix". ~amd64-linuxest juste la contrepartie des tests amd64-linux.

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

Si vous ~amd64en avez ACCEPT_KEYWORDS, portage utilisera tous les derniers ebuilds, qui contiennent souvent beaucoup de choses instables. Je pense que c'est pourquoi il faut s'attendre à des dépendances manquantes. Par exemple, cela peut se produire si vous souhaitez installer software-a, et la dernière dans la branche testing est software-a-2.3.4, ce qui nécessite library-b-5.6.7, qui n'a pas encore de ebuild. En ce qui concerne amd64 ~amd64et juste ~amd64, ils sont les mêmes, vraiment, parce que si votre architecture est amd64 , vous aurez amd64à ACCEPT_KEYWORDS, peu importe quoi.

4. L'ordre des mots-clés est-il important?

Non, car il s'agit simplement de savoir si votre ACCEPT_KEYWORDSvariable contient ou non un certain mot clé. C'est comme un ensemble (non ordonné).

Ayant utilisé Gentoo pendant un certain temps, je n'ai toujours pas osé mettre ~amd64mon ACCEPT_KEYWORDS. Il est tellement instable qu'il n'est vraiment pas recommandé, le configurer pour la première fois garantit beaucoup de casse.

phunehehe
la source
merci pour l'explication très claire. dans mon cas, je encore eu à mettre en ~ amd64 pour obtenir la dernière xtables-addons. mais comme ma boîte Gentoo sert de pare-feu pur, je ne suis pas vraiment préoccupé par la stabilité des autres packages :)
pepoluan
2
@pepoluan If ~amd64est juste pour l'avoir xtables-addonsalors vous devriez le mettre dans /etc/portage/package.keywordsou /etc/portage/package.accept_keywordsau lieu d'utiliser la branche de test instable. Pour plus d'informations, reportez-vous à man portageou posez ici une autre question.
phunehehe
ça alors, tu as raison>. <... Je m'excuse, il semble que mon n00bness transparaît: P ... de toute façon, je ne suis pas l'affiche originale, juste un commentateur capricieux :)
pepoluan
@pepoluan Heureux d'avoir été utile. Tout le monde est un noob à un moment donné :)
phunehehe
Merci pour votre réponse détaillée. Je ne comprends pas pourquoi mais le mot clé par défaut est ~amd64-linux(avec amd64explicitement supprimé). Jusqu'à présent ça fonctionne bien =)
netvope
3

La variable d'environnement ACCEPT_KEYWORDS permet d'autoriser la construction de "tous" les packages / versions stables non encore marqués pour l'architecture actuelle.

Le ~ devant une arche signifie instable (pas "complètement" testé).

L'approche souvent meilleure consiste à utiliser /etc/portage/package.keywords et à y lister le paquet avec le mot-clé ~ amd64 si vous avez vraiment besoin de la dernière version.

Soit dit en passant: pare-feu amd64, n'est-ce pas ainsi que wikipedia définit la surpuissance?

  1. Oui
  2. Jamais entendu parler de "~ amd64-linux", mais le ~ signifie "instable".
  3. Non, il n'est pas prévu que "~ amd64" exclue "amd64".
  4. Non.
MattBianco
la source