# [Abandon] Portage EAPI5 to EAPI6 ??

## Mythy

Bonjour le forum ! ça faisait longtemps  :Very Happy: 

Je suis entrain de vouloir update mon serveur de dev pour ajouter une couche Samba :

 *Quote:*   

> Linux mythydev 3.18.11-gentoo #2 SMP Thu Apr 13 16:28:36 CEST 2017 x86_64 Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz GenuineIntel GNU/Linux

 

Quand je veux installer Samba, il me dit ça :

 *Quote:*   

> mythydev ~ # emerge -a samba
> 
> !!! Invalid news item: /usr/portage/metadata/news/2017-04-10-split-and-slotted-wine/2017-04-10-split-and-slotted-wine.en.txt
> 
> !!!   line 6: News-Item-Format: 2.0
> ...

 

Du coup je veux update Portage, par contre on dirait qu'il y a eu pas mal de modifications sur Portage depuis, lorsque j'essaie de le mettre à jour pour pouvoir installer de nouveau paquet, il me dit ça :

 *Quote:*   

> mythydev ~ # emerge -a portage
> 
> !!! Invalid news item: /usr/portage/metadata/news/2017-04-10-split-and-slotted-wine/2017-04-10-split-and-slotted-wine.en.txt
> 
> !!!   line 6: News-Item-Format: 2.0
> ...

 

Est ce qu'il y a une façon de faire pour update ça ? Ou bien je dois me retaper une full install ? :/

Merci d'avance !

PS: le make.conf au cas ou :

 *Quote:*   

> mythydev ~ # cat /etc/portage/make.conf
> 
> # These settings were set by the catalyst build script that automatically
> 
> # built this stage.
> ...

 

Edit : ajout de la balise [Abandon]

----------

## DuF

Bonjour,

J'aurai tendance à penser que d'un point de vue strict du temps, ce sera plus rapide de faire une nouvelle installation  :Smile: 

Maintenant, en toute logique tu devrais réussir à mettre à jour ta distribution, déjà commencer par un etc-update vu qu'il te parle d'un fichier qui nécessite une MAJ (/etc/portage/package.use/vim). Une fois que c'est fait il va falloir s'occuper de ton histoire de python puis de portage, en tout cas ce sont les priorités avant samba.

----------

## netfab

Salut,

 *Quote:*   

> 
> 
> !!! All ebuilds that could satisfy ">=dev-python/certifi-2015.04.28[python_targets_pypy(-)?,python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)]" have been masked.
> 
> !!! One of the following masked packages is required to complete your request:
> ...

 

Pour mettre à jour portage, et éviter ce blocage tu peux essayer :

```

# USE="-xattr" emerge -avu1 portage

```

Une fois que c'est fait, tu devrais pouvoir continuer tes mises à jour normalement.

----------

## Mythy

Merci pour vos réponses !

En faite j'aimerais pas réinstaller car un pote m'avait installé tout un système sur ce serveur et j'aimerais pas le perdre, et ce pote n'a plus forcément le temps de s'occuper de ce genre de choses :/

Sinon j'ai fais un etc-update :

 *Quote:*   

> mythydev ~ # etc-update
> 
> Scanning Configuration files...
> 
> The following is the list of files which need updating, each
> ...

 

Et j'ai testé la commande :

```
# USE="-xattr" emerge -avu1 portage 
```

Mais ça n'a pas l'air de fonctionner non plus :

 *Quote:*   

> mythydev ~ # USE="-xattr" emerge -avu1 portage
> 
> !!! Invalid news item: /usr/portage/metadata/news/2017-04-10-split-and-slotted-wine/2017-04-10-split-and-slotted-wine.en.txt
> 
> !!!   line 6: News-Item-Format: 2.0
> ...

 

Avant de poster sur le forum j'ai testé pas mal de choses, ou j'avais le même type de réponses, mais la situation semble désespéré   :Laughing: 

----------

## netfab

Si tu n'arrives pas à mettre à jour portage par les moyens classiques, dans le pire des cas tu peux utiliser cette procédure :

https://wiki.gentoo.org/wiki/Project:Portage/Fixing_broken_portage

Edit : en utilisant cette archive : http://distfiles.gentoo.org/distfiles/portage-2.3.3.tar.bz2

----------

## sebB

Comme DuF je pense que ce sera plus rapide une rénstall.

Sinon t'as la soluce de prendre les anciens snapchot et t'y vas petit à petit (mois par mois par exemple).

http://mexmat.sgu.ru/soft/Linux/distributions/gentoo/portage/

Tu peux poster emerge --info qu'on voit l'état de la bête...

----------

## Mythy

Merci pour vos réponses  :Wink: 

Alors finalement, vu que le but était de mettre 2 serveurs physiques en un, je voulais ajouter une couche Samba sur le serv de Dev

Mais vu que les 2 OS Gentoo sont dans le même état, bloqué en Portage EAPI5, je vais finalement garder les 2 serveurs physiques parce que je sens que je vais bien galérer à remettre en état Portage ^^'

Du coup j'ai clonezillé les 2 disques systèmes et je vais prier pour que le reste du matoss ne décède pas le temps que je réinstalle tout au propre, au pire une petite recompil de kernel devrait suffire  :Smile: 

D'ailleurs j'ai du mixer un peu de matoss (eth/carte sata/cm) et j'ai déjà du recompiler le kernel, c'est fou comme Gentoo est souple de ce côté, contrairement à ce qui peut se dire  :Wink: 

Je met quand même le emerge --info, n'hésitez pas à me dire ce que vous en pensez !

 *Quote:*   

> mythydev ~ # emerge --info
> 
> Portage 2.2.18 (python 2.7.9-final-0, default/linux/amd64/13.0, gcc-4.8.4, glibc-2.20-r2, 3.18.11-gentoo x86_64)
> 
> =================================================================
> ...

 

----------

## ahpoblete

Bon soir,

Je n'ai pas sous la main un système dans un état similaire, mais, j'essayerais avec un emerge oneshot, comme voici:

```
emerge -av -1 portage
```

(ou, pareil)

```
emerge --ask --verbose --oneshot portage
```

Le paramètre --oneshot indiquera Portage de s'actualiser lui-même et que lui-même. Si tout a l'air d'être correct, il suffit d'appuyer sur la touche entrée pour accepter.

Dis-moi si ça marche bien, stp!

Salut.

----------

## Mr. T.

 *ahpoblete wrote:*   

> Le paramètre --oneshot indiquera Portage de s'actualiser lui-même et que lui-même.

 

 *man emerge wrote:*   

>  --oneshot (-1)
> 
>  Emerge as normal, but do not add the packages to the world file for later updating.
> 
>               WARNING: This option should only be used for packages that are reachable from the @world package set (those that would not be removed by --depclean), since  dependencies  of
> ...

 

nouvelle édition : le passage suivant est erroné !

Lorsqu'on installe une version de Portage (sys-apps/portage) avec emerge --oneshot, Portage ne se basera pas sur cette version pour effectuer la prochaine mise à jour.

Prenons un exemple. On installe explicitement la version 2.3.3 de Portage avec --oneshot (emerge --oneshot =sys-apps/portage-2.3.3) sur un système utilisant la version 2.3.0.

On admet également (dans notre exemple) que la version 2.3.5 de Portage est disponible dans la "branche stable" de l'arborescence Portage. Finalement, on décide de 

mettre à jour le système. Portage proposera la mise à jour de la version 2.3.0 (passage à la version 2.3.5) bien que la version de Portage installée récemment soit la version 2.3.3.

Remarque : Je crois malheureusement que le manuel nous renseigne partiellement sur les caractéristiques de l'option oneshot. Je n'ai toujours pas saisi comment cette option 

pemettait de résoudre les conflits logiciels lors du processus d'installation : 

"Often, it's advantageous to one-shot (--oneshot or -1) all of the conflicts at once because they sometimes depend on one another" 

helecho.Last edited by Mr. T. on Thu May 04, 2017 6:30 pm; edited 1 time in total

----------

## El_Goretto

 *helecho wrote:*   

> Portage proposera la mise à jour de la version 2.3.0 (passage à la version 2.3.5) bien que la version de Portage installée récemment soit la version 2.3.3.

 

Huh? Pas sûr de bien te comprendre.

Sinon, à moins que je ne me goure sauvagement, l'option one-shot n'a pas pour but de résoudre un problème. Elle a pour but d'éviter d'en créer. Cela vous permet par exemple de recompiler un paquet B qui EST une dépendance d'un paquet A, sans ajouter B au world (ce qui aurait pour effet de rendre B générateur de dépendances à son tour).

Si jamais il est trop tard, que vous avez oublié d'utiliser --one-shot et que des saletés sont donc présentes dans votre world, vous n'avez plus qu'à aller le nettoyez à la main (opération à risque modéré, mais faites quand même attention).

----------

## Mr. T.

 *El_Goretto wrote:*   

>  *helecho wrote:*   Portage proposera la mise à jour de la version 2.3.0 (passage à la version 2.3.5) bien que la version de Portage installée récemment soit la version 2.3.3. 
> 
> Huh? Pas sûr de bien te comprendre.

 

Je me suis trompé. En fait, Portage met à jour la version 2.3.0 en la remplaçant par la version 2.3.3. Je croyais que les deux versions étaient installées en simultané.

En conséquence, j'ai fais un test avec elogviewer : [ebuild U ] app-portage/elogviewer-2.1-r1 [0.6.2-r3]. On constate que Portage propose de remplacer [ U ]

la version 0.6.2-r3 par la version 2.1-r1. Contrairement à ce que je pensais, le fichier /var/lib/portage/world n'indique pas les versions ("atom base" vs "atom version") 

des logiciels installés.

 *El_Goretto wrote:*   

> [...] l'option oneshot n'a pas pour but de résoudre un problème. Elle a pour but d'éviter d'en créer. [...]

 

Eh bien, je n'ai pas compris l'explication de l'article du Wiki ! Le contexte pourrait permettre de comprendre : il y a un conflit d'emplacement dû à deux versions d'un logiciel.

Avec plus d'information ou de pédagogie, dans l'article, on pourrait sûrement saisir facilement l'explication. Je suppose que l'option oneshot permet, dans cette situation, de

forcer la mise à jour du logiciel spécifié, automatiquement.

----------

## El_Goretto

 *helecho wrote:*   

> Je croyais que les deux versions étaient installées en simultané.

 

Ca, c'est le mécanisme des "slots" (ex: gcc, les sources noyaux, etc).

 *helecho wrote:*   

> Contrairement à ce que je pensais, le fichier /var/lib/portage/world n'indique pas les versions ("atom base" vs "atom version")  des logiciels installés.

 

Il peut, si. Tout dépend de ce que tu as donné à la commande emerge: un nom de paquet, ou un paquet + version spécifique.

----------

## Mr. T.

 *El_Goretto wrote:*   

> [...]  *helecho wrote:*   Contrairement à ce que je pensais, le fichier /var/lib/portage/world n'indique pas les versions ("atom base" vs "atom version")  des logiciels installés. 
> 
> Il peut, si. Tout dépend de ce que tu as donné à la commande emerge: un nom de paquet, ou un paquet + version spécifique.

 

Non, le fichier world ne semble pas indiquer les versions des logiciels installés. J'ai effectué la vérification en installant une version spécifique d'un logiciel et

en regardant le contenu du fichier world.

 *man portage wrote:*   

> /var/lib/portage/world  Every time you emerge a package, the package that you requested is recorded here.  Then when you run `emerge world -up`, the list of packages is read from this  file.
> 
> Note  that  this  does  not mean that the packages that were installed as dependencies are listed here.  For example, if you run `emerge mod_wsgi` and you do not have
> 
> apache already, then "www-apache/mod_wsgi" is recorded in the world file but "www-servers/apache" is not.  For more information, review emerge(1).
> ...

 

Les fichiers world des utilisateurs du fil de discussion n'ont aucune version logicielle spécifiée. Hum, intéressant !

----------

## netfab

Et pourtant :

 *Quote:*   

> 
> 
> # emerge -av =sys-kernel/gentoo-sources-4.9.16
> 
> These are the packages that would be merged, in order:
> ...

 

 *helecho wrote:*   

>  *El_Goretto wrote:*   [...]  *helecho wrote:*   Contrairement à ce que je pensais, le fichier /var/lib/portage/world n'indique pas les versions ("atom base" vs "atom version")  des logiciels installés. 
> 
> Il peut, si. Tout dépend de ce que tu as donné à la commande emerge: un nom de paquet, ou un paquet + version spécifique. 
> 
> Non, le fichier world ne semble pas indiquer les versions des logiciels installés. J'ai effectué la vérification en installant une version spécifique d'un logiciel et
> ...

 

Si le logiciel en question n'est pas slotté, portage n'a aucun intérêt à conserver le numéro de version dans le fichier world.

 *Quote:*   

> 
> 
> # emerge -av --noreplace =www-client/firefox-45.8.0
> 
> These are the packages that would be merged, in order:
> ...

 

----------

## Mr. T.

J'ai l'impression de revoir les même notions en boucle !

 *devmanual wrote:*   

> Packages can support having multiple versions installed simultaneously. [...] Most packages have no need for slotting.

 

 *netfab wrote:*   

> Si le logiciel en question n'est pas "slotté", Portage n'a aucun intérêt à conserver le numéro de version dans le fichier world.

 

Cette affirmation est discutable. On peut se demander comment Portage détermine la version d'un logiciel installé, afin de pouvoir le mettre à jour.

Merci d'avoir précisé, netfab !

----------

## netfab

 *helecho wrote:*   

> 
> 
>  *devmanual wrote:*   Packages can support having multiple versions installed simultaneously. [...] Most packages have no need for slotting. 
> 
>  *netfab wrote:*   Si le logiciel en question n'est pas "slotté", Portage n'a aucun intérêt à conserver le numéro de version dans le fichier world. 
> ...

 

Tout est là :

```

$ ls -ld /var/db/pkg/www-client/*

drwxr-xr-x 2 root root 4096 25 avril 09:36 /var/db/pkg/www-client/firefox-45.8.0

drwxr-xr-x 2 root root 4096  4 mai   09:18 /var/db/pkg/www-client/google-chrome-58.0.3029.96

drwxr-xr-x 2 root root 4096 14 déc.  12:24 /var/db/pkg/www-client/links-2.14

drwxr-xr-x 2 root root 4096  9 janv. 14:37 /var/db/pkg/www-client/qarte-3.5.0

```

----------

## Mr. T.

Je te remercies netfab pour ces renseignements !

----------

