# Probème avec '-u world', 'ACCEPT_KEYWORDS' tout ça tout ça

## gK

J'ai déjà posté sur le forum anglais mais je sais pas s'ils comprennent mon problème, alors je poste ici. La situation est la suivante :

Déjà, je suis en stable sur ma gentoo :

```

gk@srv gk # cat /etc/make.conf | grep ACCEPT

# would add '~x86' to ACCEPT_KEYWORDS to enable unstable/testing packages.

#ACCEPT_KEYWORDS="~x86"

gk@srv gk #

```

J'avais xchat 2.0.0 d'installer sur mon ordi. Cette version était et est considérée comme stable dans Portage. Mais moi, je voulais profiter d'xchat 2.0.1 (version considéré unstable). Donc j'ai ouvert un term et j'ai tapé : 

```

# ACCEPT_KEYWORDS="~x86" emerge xchat-2.0.1.ebuild

```

Xchat 2.0.1 a été téléchargé et compilé. Et xchat 2.0.0 a été supprimé.

Après avoir fermer le term, rebooter X et ouvert xchat, j'étais en 2.0.1 : très bien. Mais le problème c'est qu'un 'emerge -pu world me dit :

```

gk@srv gk # emerge -pu world

 

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

 

Calculating world dependencies ...done!

 

gk@srv gk #
```

et aussi :

```

gk@srv gk # emerge -s xchat

Searching...

[ Results for search key : xchat ]

[ Applications found : 1 ]

  

*  net-irc/xchat

      Latest version available: 2.0.0

      Latest version installed: 2.0.1

      Size of downloaded files: 687 kB

      Homepage:    http://www.xchat.org/

      Description: X-Chat is a graphical IRC client for UNIX operating systems.

gk@srv gk #

```

Pourquoi Portage ne retourne pas xchat à la version 2.0.0, version stable ?

Puisque xchat 2.0.1, je le rappelle, est considéré comme une version unstable. c'est quand meme plus logique non ?

NB : Je n'ai pas utilisé l'option -i (--inject)

Je viens aussi de découvrir ceci :

```

gk@srv gk # emerge -p xchat

 

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

 

Calculating dependencies ...done!

[ebuild    UD] net-irc/xchat-2.0.0 [2.0.1]

 

gk@srv gk #
```

Je comprends plus rien là...

Si qqun pouvait m'expliquer ??

----------

## SuperTomate

Je ne vois pas bien ce que tu trouves bizarre dans le comportement de portage...

Le point qui a l'air de te gêner semble être que portage n'update pas ton xchat quand tu demandes un update de world.

Cela signifie juste que xchat n'a pas été ajouté à la liste world (/var/cache/edb/world) ce qui est certainement une "feature" quand on installe en spécifiant le nom complet de l'ebuild (emerge xchat-2.0.1.ebuild).

----------

## DuF

C'est surtout que portage regarde ton flag pour voir si t'es en stable ou instable, vu que tu es en stable, qd tu fais emege -pu world, lui il prend les versions correspondant à ce flag, soit la version 2.0.0 de xchat et souhaite donc te la downgrader, c'est un comportement normal et surtout logique amha.

Après que toi tu estimes que xchat 2.0.1 n'est pas instable, ça c'est une autre histoire.

----------

## gK

C'est pas moi qui estime que xchat 2.0.1 est instable, mais bel et bien portage.

On peut donc installer n'importe quelle version de n'importe quel logiciel considéré par Portage comme unstable en faisant juste

# ACCEPT_KEYWORDS="~x86" emerge foo.ebuild

Il me semblait qu'il fallait se servir de l'option inject, sinon, au prochain -u world, Portage remettrait la version stable du pkg foo.

c'est du moins ce qu'on m'avait dit.

----------

## gK

 *DuF wrote:*   

> C'est surtout que portage regarde ton flag pour voir si t'es en stable ou instable, vu que tu es en stable, qd tu fais emege -pu world, lui il prend les versions correspondant à ce flag, soit la version 2.0.0 de xchat et souhaite donc te la downgrader, c'est un comportement normal et surtout logique amha.
> 
> Après que toi tu estimes que xchat 2.0.1 n'est pas instable, ça c'est une autre histoire.

 

C'est justement ce qui ne se produit pas puisqu'un emerge -u world ne me ramène pas à la version 2.0.0.

C'est ça que je pige pas.

----------

## SuperTomate

 *gK wrote:*   

> C'est justement ce qui ne se produit pas puisqu'un emerge -u world ne me ramène pas à la version 2.0.0.
> 
> C'est ça que je pige pas.

 

C'est ce que j'ai expliqué plus haut. Portage n'a pas ajouté xchat à ta liste world, donc quand tu demandes un "emerge -pu world", c'est normal qu'il ne propose pas de le mettre à jour.

----------

## SuperTomate

Et si tu ne veux pas qu'il downgrade tes packages, utilise l'option -U à la place de -u.

----------

## gK

 *SuperTomate wrote:*   

>  *gK wrote:*   C'est justement ce qui ne se produit pas puisqu'un emerge -u world ne me ramène pas à la version 2.0.0.
> 
> C'est ça que je pige pas. 
> 
> C'est ce que j'ai expliqué plus haut. Portage n'a pas ajouté xchat à ta liste world, donc quand tu demandes un "emerge -pu world", c'est normal qu'il ne propose pas de le mettre à jour.

 

En effet, j'ai rien concernant xchat dans mon /var/cache/edb/world.

Mais un emerge -u world est censé mettre à jour tous mes pkgs, donc xchat avec non ?

Le résultat de la commande -U world est la meme que -u world...

----------

## DuF

 *gK wrote:*   

> ......
> 
> Mais un emerge -u world est censé mettre à jour tous mes pkgs, donc xchat avec non ?
> 
> Le résultat de la commande -U world est la meme que -u world...

 

Non un emerge -u world ne fait qu'aller voir ton fichier world et regarde si il y a une nouvelle version pour chaque paquages.

----------

## gK

Il ne mets à jour que les paquetages qui sont dans /var/cache/edb/world ainsi que ses dépendances ??

Si oui, c'est une révélation pour moi   :Shocked: 

----------

## DuF

Lire la doc c'est pas mal des fois :

http://www.gentoo.org/doc/fr/portage-manual.xml#doc_chap3

Paragraphe : Mise à jour "world" 

 *Quote:*   

> La capacité de mise à jour "world" vérifie le profil système, la liste de paquet bloqués (package.mask), le profil "world" et les dépendances (avec les intervalles de versions) de paquets listés dans le profil "world" pour déterminer quels paquets ont besoin d'être mis à jour. Un paquet n'est mis à jour que si une nouvelle version existe et que le paquet est listé dans le profil "world", ou si il est une dépendance d'un paquet dans le profil "world". En plus, le paquet ou la version spécifique du paquet ne doit pas être bloqué par le profil système ou dans package.mask.

 

----------

## gK

C'est pas la première fois que je la lis.

Et je n'ai pas forcément que ça à faire.

Merci quand même.

Mis à part ça, imaginons que xchat 2.0.2 sorte et passe en stable.

Je ne vais plus avoir les mises à jour pour ce programme ?

----------

## ghoti

 *gK wrote:*   

> Mis à part ça, imaginons que xchat 2.0.2 sorte et passe en stable.
> 
> Je ne vais plus avoir les mises à jour pour ce programme ?

 

Extrait de la même doc :

 *Quote:*   

> Note: Pour vous économiser du temps et vous assurer que vos paquets préférés sont mis à jour, vous pouvez éditer manuellement le fichier world et ajouter les entrées pour ces paquets. Les utilisateurs qui mettent à jour une vieille version de Portage pouront avoir besoin d'ajouter des choses dans ce fichier. Les installations plus récentes de Gentoo et Portage s'occupent de le remplir à l'installation.

 

Il faut parfois prendre le temps qu'on n'a pas  :Wink: 

----------

## gK

J'ai donc ajouté :

>net-irc/xchat-2.0.1

et ça fonctionne bien.

C'est marrant mais j'ai l'impression qu'en faisant ça je bidouille gentoo et que c'est pas une méthode "officielle", je me trompe apparemment ?

Sinon, c'est aussi simple donc, d'ajouter des paquets "version unstable" dans une gentoo "stable" ? Il me semblait que c'était bcp plus complexe (et qu'il fallait par ailleurs savoir manier l'option --inject d'emerge) ?

Merci à tous et excusez mon manque de lecture.

----------

## ghoti

L'option --inject fait simplement croire à emerge qu'un package est installé alors qu'il ne l'est pas.

Par exemple, si tu emerges kde, il va absolument vouloir te fourguer kdetoys et kdeedu. 

Il suffit d'injecter ces 2 derniers et il te fichera la paix  :Smile: 

Sinon, pour le côté "bidouille", disons que accepter des packages masqués est déjà de la bidouille en soi, alors ...  :Wink: 

----------

## gK

Merci, tu m'éclaires.

Mais attention, xchat 2.0.1 n'est pas masqué, mais simplement encore considéré comme unstable (alors qu'il est très stable et qu'il corrige des bugs de la version 2.0.0  :Wink: ).

----------

## DuF

 *gK wrote:*   

> Et je n'ai pas forcément que ça à faire.
> 
> Merci quand même.
> 
> 

 

Je ne te blâme pas, mais insister en disant que tu n'as pas que ça à faire alors que tu viens de poster plusieurs messages sur le forum, ça montre que tu avais au moins 2min à consacrer à ce problème. 2min c'est à peine le temps qu'il m'a fallu pour chercher dans la documentation gentoo....

Sinon un package "instable pour gentoo" est un package masqué il me semble, mais c'est à vérifier.

----------

## ghoti

 *gK wrote:*   

> Mais attention, xchat 2.0.1 n'est pas masqué, mais simplement encore considéré comme unstable (alors qu'il est très stable et qu'il corrige des bugs de la version 2.0.0 ).

 On joue sur les mots, là !  :Wink: 

Mais soit, je corrige :

"accepter des packages masqués ou non stables est déjà de la bidouille en soi"

Remarque que "non stable" ne se rapporte pas nécessairement à l'application proprement dite (qui peut en effet être très stable) mais à l'ensemble du package et de son intégration dans gentoo.

D'ailleurs, il y a toujours un rapport d'erreur non clôturé sur bugzilla :  id=12541.

On ne parle pas précisément de cette version mais c'est peut-être malgré tout ce qui justifie son état "instable".

----------

## gK

Ohé du calme. A ce moment là, personne ne poste, tout le monde cherche.

Bref et un pkg masqué est différent d'un pkg unstable.

*  x11-base/xfree

      Latest version available: 4.2.1-r2

      Latest version installed: 4.2.1-r2

      Size of downloaded files: 62,941 kB

      Homepage:    http://www.xfree.org

      Description: Xfree86: famous and free X server

=> version stable, mais on peut très bien essayer xfree-4.3.0-r1.ebuild, xfree-4.3.0-r2.ebuild, xfree-4.3.0.ebuild considérés comme unstable mais qui ne sont pas masqué.

*  x11-base/xfree-drm [ Masked ]

      Latest version available: 4.3.0-r1

      Latest version installed: [ Not Installed ]

      Size of downloaded files: 187 kB

      Homepage:    http://www.xfree.org

      Description: Xfree86 Kernel DRM modules

=> ici c'est du masqué, je ne peux pas l'emerger sans bidouiller dans /etc les profiles.

----------

## gK

 *ghoti wrote:*   

>  *gK wrote:*   Mais attention, xchat 2.0.1 n'est pas masqué, mais simplement encore considéré comme unstable (alors qu'il est très stable et qu'il corrige des bugs de la version 2.0.0 ). On joue sur les mots, là ! 
> 
> Mais soit, je corrige :
> 
> "accepter des packages masqués ou non stables est déjà de la bidouille en soi"
> ...

 

Oui c'est tout à fait vrai.

Mais meme si ça relève de la bidouille, je commençais à m'impatienter. Notamment pour xchat mais je sens que je vais faire la meme chose pour moz 1.3.

----------

## ghoti

 *gK wrote:*   

>  on peut très bien essayer xfree-4.3.0-r1.ebuild, xfree-4.3.0-r2.ebuild, xfree-4.3.0.ebuild considérés comme unstable mais qui ne sont pas masqué.

 Précision : à ce jour xfree-4.3.0-r2 est à la fois masqué (package.mask) et instable pour toutes les architectures sauf ARM (variable KEYWORD dans l'ebuild).

Dans ce cas-ci, il faudrait à la fois le débloquer dans package.mask et le forcer avec "~arch" sauf sur arm ...

----------

## gK

 *ghoti wrote:*   

>  *gK wrote:*    on peut très bien essayer xfree-4.3.0-r1.ebuild, xfree-4.3.0-r2.ebuild, xfree-4.3.0.ebuild considérés comme unstable mais qui ne sont pas masqué. Précision : à ce jour xfree-4.3.0-r2 est à la fois masqué (package.mask) et instable pour toutes les architectures sauf ARM (variable KEYWORD dans l'ebuild).
> 
> Dans ce cas-ci, il faudrait à la fois le débloquer dans package.mask et le forcer avec "~arch" sauf sur arm ...

 

Exact   :Smile: 

autre précision : les paquetages masqués sont les paquetages considérés comme très instable (encore plus donc que le simple status unstable).

----------

## DuF

 *gK wrote:*   

> Ohé du calme. A ce moment là, personne ne poste, tout le monde cherche.
> 
> 

 

Déjà tout le monde peut poster, mais dire qu'on n'a pas 2min pour faire une recherche alors qu'on les a ça ne sert à rien, moi t'aider ça ne me dérange pas au contraire, mais qd en face de moi j'ai qqn qui dit qu'il n'a pas le temps de chercher un truc qui prend 2min et qu'il a le temps de poster sur un forum ça m'énerve, pourquoi mentir ou chercher une excuse bidon ?

Je peux le comprendre que tu l'ais pris mal mais faut admettre aussi que ce genre de remarque a le don d'énerver !

----------

## gK

 *DuF wrote:*   

>  *gK wrote:*   Ohé du calme. A ce moment là, personne ne poste, tout le monde cherche.
> 
>  
> 
> Déjà tout le monde peut poster, mais dire qu'on n'a pas 2min pour faire une recherche alors qu'on les a ça ne sert à rien, moi t'aider ça ne me dérange pas au contraire, mais qd en face de moi j'ai qqn qui dit qu'il n'a pas le temps de chercher un truc qui prend 2min et qu'il a le temps de poster sur un forum ça m'énerve, pourquoi mentir ou chercher une excuse bidon ?
> ...

 

Désolé.

ça va comme ça ? on peut parler d'autres choses maintenant ?

----------

