# [Emerge] Problème sur eselect-python

## ryo-saeba

Bonjour à tous.

Récemment reconnecté au net, je tente de mettre à jour ma distri.

Hélas, je suis confronté à un problème de masquage de paquet : tous mes paquets semblent être masqué. Quoique je fasse, je tombe toujours sur le même message.

Voici un exemple :

```

ryo-saeba BOINC # emerge -pv world

These are the packages that would be merged, in order:

Calculating world dependencies                      .. 

!!! All ebuilds that could satisfy ">=app-admin/eselect-python-20090804" have been masked.

!!! One of the following masked packages is required to complete your request:

- app-admin/eselect-python-99999999 (masked by: required EAPI 2, supported EAPI 0)

- app-admin/eselect-python-20090824 (masked by: required EAPI 1, supported EAPI 0)

For more information, see MASKED PACKAGES section in the emerge man page or 

refer to the Gentoo Handbook.

(dependency required by "app-arch/rpm-4.4.6-r6" [ebuild])

!!! Problem resolving dependencies for app-arch/rpm

!!! Depgraph creation failed.

```

J'ai cherché et suis tombé sur ce topic : https://forums.gentoo.org/viewtopic-t-790043-highlight-eselectpython.html

Mais le problème ne se résoud pas.

En ajoutant ce eselect-python dans mon /etc/portage/package.keywords rien ne change.

Pour rappel, je n'ai pas fait de mise à jour depuis au moins 2 ans. 

J'ai utiliser emerge-webrsync pour faire ma dernière.

Voici mon emerge --info :

```

ryo-saeba BOINC # emerge --info

Portage 2.1.2.9 (default/linux/x86/10.0, gcc-3.4.6, glibc-2.5-r3, 2.6.15-gentoo-r1 i686)

=================================================================

System uname: 2.6.15-gentoo-r1 i686 AMD Athlon(tm) Processor

Gentoo Base System release 1.12.9

Timestamp of tree: Sat, 24 Oct 2009 01:45:03 +0000

app-shells/bash:     3.2_p15-r1

dev-java/java-config: 1.3.7, 2.0.33-r1

dev-lang/python:     2.4.4-r4

dev-python/pycrypto: 2.0.1-r5

sys-apps/baselayout: 1.12.9-r2

sys-apps/sandbox:    1.2.17

sys-devel/autoconf:  2.13, 2.61

sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10

sys-devel/binutils:  2.16.1-r3

sys-devel/gcc-config: 1.3.16

sys-devel/libtool:   1.5.22

virtual/os-headers:  2.6.17-r2

ACCEPT_KEYWORDS="x86"

CBUILD="i686-pc-linux-gnu"

CFLAGS="-O2 -march=athlon -fomit-frame-pointer"

CHOST="i686-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"

CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c"

CXXFLAGS="-O2 -march=athlon -fomit-frame-pointer"

DISTDIR="/usr/portage/distfiles"

FEATURES="candy distlocks metadata-transfer sandbox"

GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"

LC_ALL="fr_FR.UTF-8"

LDFLAGS="-Wl,-O1"

LINGUAS="fr fr_FR en_EN en"

MAKEOPTS="-j1"

PKGDIR="/usr/portage/packages"

PORTAGE_CONFIGROOT="/"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

PORTDIR_OVERLAY="/usr/local/portage"

SYNC="rsync://rsync.gentoo.org/gentoo-portage"

USE="'-nvidia-kernel' 'orbit-python' 3dnow CONFIG_VIDEO_V4L1_COMPAT GAPING_SECURITY_HOLE X Xawdecode aac aalib acl acpi alsa avi berkdb bitmap-fonts bonobo bzip2 cdr cli cracklib crypt cups divx4linux dri dvb dvd dvdr dvdread emacs esd flac font-server fortran gdbm gnome gpm gstreamer gtk gtk2 hal iconv ipv6 isdnlog joystick libcaca matroska mmx modules mp3 mpeg mudflap musepack ncurses neXt nls nptl nptlonly ogg oggvorbis openal opengl openmp orbit pam pcre pdf perl pppd pyorbit python readline reflection samba session spl sse sse2 ssl sysfs tcpd threadsafe truetype-fonts type1-fonts unicode usb v4l win32codecs wma x86 xdtv xfs xine xorg xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="fr fr_FR en_EN en" USERLAND="GNU" VIDEO_CARDS="nv nvidia vesa"

Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

```

Si vous avez des solutions je suis preneur  :Smile: 

Merci pour votre aide.

ryo-saeba

----------

## USTruck

Bonsoir,

Vu que tu n'as pas fait de mise a jours depuis longtemps, il te faudra déjà faire une mise a jours de portage avant tout,

 de plus tu fait une mise à jour du profil !!!

Je propose de faire un emerge -upv portage (voir tout les paquets demander par la mise a jour de portage)

Si il y en a encore qui bloque, noter la liste des paquets et faire un emerge de chaque avec l'option "--oneshot" et si il ne passe pas "--oneshot --nodeps"

Quand enfin portage mis à jour, "emerge -e system" pour la mise à jour du système 

suivi de "emerge -e world" pour la mise à jour de l'ensemble du système, Attention le nouveau y installera KDE 4.3.

Autre solution, si tu as une partition que tu peux utiliser, l'utiliser pour y faire une nouvelle install, cela ira probablement plus vite.

----------

## ryo-saeba

Merci pour votre réponse.

Comme je le disais, tous les paquets sont marqués comme masqués.

Voici le emerge -upv portage que vous me conseilliez :

```

ryo-saeba BOINC #  emerge -upv portage

These are the packages that would be merged, in order:

Calculating dependencies         l                           

!!! All ebuilds that could satisfy ">=dev-lang/python-2.5" have been masked.

!!! One of the following masked packages is required to complete your request:

- dev-lang/python-2.5.4-r3 (masked by: required EAPI 1, supported EAPI 0)

- dev-lang/python-2.6.2-r1 (masked by: required EAPI 2, supported EAPI 0)

- dev-lang/python-2.6.2-r2 (masked by: required EAPI 2, supported EAPI 0)

- dev-lang/python-3.1.1-r1 (masked by: required EAPI 2, supported EAPI 0)

- dev-lang/python-2.6.3 (masked by: required EAPI 2, supported EAPI 0)

For more information, see MASKED PACKAGES section in the emerge man page or 

refer to the Gentoo Handbook.

(dependency required by "sys-apps/portage-2.2_rc33" [ebuild])

```

(encore une histoire de python) J'ai l'impression que tous mes paquets sont vus masqués à cause de quelque chose de mal configuré, mais je tourne en rond et ne vois pas quoi.

J'ai mis à jour le vieux profil datant de 2007 ; mais rien ne change non plus.

 *Quote:*   

> 
> 
> Autre solution, si tu as une partition que tu peux utiliser, l'utiliser pour y faire une nouvelle install, cela ira probablement plus vite.
> 
> 

 

 :Very Happy:  oui, je pense qu'en dernier recours ça sera la cas, mais avant j'aimerai tout essayer  :Smile: 

----------

## USTruck

Bonjour,

Comme ton install est ancienne, elle a encore l'EAPI 0 !! voila, pour moi, pourquoi ca flanche.

Depuis portage supporte l'EAPI 2.

Il faudrait donc essayer de monter d'abord la version portage.

Peux-tu, s'il te plait, essayer : emerge -upv =sys-apps/portage-2.1.6.7 

Cette version travaille encore avec pyhthon 2.4, version installée sur ta station.

Si l'update vers cette version fonctionne, il ne te restera plus qu'a faire : emerge -upv portage 

pour la mise a jour de portage.

Attention, lors de la mise a jour d'ancienne version vers le nouvel EAPI, j'ai été obliger de faire plusieurs unmerge de :

e2fsprogs, man-pages-fr, .....

emerge -e system répondait qu'il y avait plusieurs paquet qui bloquaient, un emerge -C de ceux-ci suivit d'un emerge -e system.

L'emerge -e re-installe ceux-ci dans la bonne version.

Bonne chance

----------

## ryo-saeba

Merci USTruck.

J'ai l'impression de tourner en rond :

```

ryo-saeba BOINC # emerge -upv =sys-apps/portage-2.1.6.7

These are the packages that would be merged, in order:

Calculating dependencies Ge                    

!!! All ebuilds that could satisfy ">=app-admin/eselect-python-20090804" have been masked.

!!! One of the following masked packages is required to complete your request:

- app-admin/eselect-python-99999999 (masked by: required EAPI 2, supported EAPI 0)

- app-admin/eselect-python-20090824 (masked by: required EAPI 1, supported EAPI 0)

For more information, see MASKED PACKAGES section in the emerge man page or 

refer to the Gentoo Handbook.

(dependency required by "sys-apps/portage-2.1.6.7" [ebuild])

```

L'EAPI semble bien en être la cause en effet. Par contre je ne comprends pas pourquoi il ne met pas cette satanée mise à jour :'(

emerge semble vouloir utiliser la dernière version de eselect-python pour cette ancienne version de portage, c'est étrange.

Si quelqu'un à une idée... Je continue aujourd'hui d'investiguer, après si je ne trouve rien on recommencera depuis un stage 1 :s

----------

## USTruck

RE

emerge -upv =sys-apps/portage-2.1.6.7 --nodeps , cela donne quoi ?

autre test, faire un emerge manuel de eselect-python-20090824 

-> emerge =app-admin/eselect-python-20090824 --nodeps -pv

Sinon je n'ai pas d'autre idée.

----------

## ryo-saeba

Dans ce cas, comment passer de l'EAPI-0 à l'EAPI-2 ?

Les seules solutions que je trouve sur le net sont de faire une mise à jour de portage...  :Sad: 

Le mieux serait à mon avis de faire ces mises à jour petit à petit, mais niveau version je suis un peu perdu là  :Very Happy: .

----------

## USTruck

C'est bien ce que j'essaye de faire.

La version actuelle de portage est la 2.1.6.13

J'essaye de faire passer portage a une version inférieure (2.1.6.7)

Cette version utilise encore python 2.4 (python_dep=">=dev-lang/python-2.4 <dev-lang/python-3.0")

Tu as la version 2.4 installée (vu sur ton emerge --info) donc si on arrive a installer la version 2.1.6.7 

cela devrais passer pour la suite.

Actuellement nous sommes en python 2.6, donc un emerge -u installer celle-ci. Il faut d'abord installer une version portage qui est compatible

avec python 2.4,  puis utiliser cette version pour faire l'update a  2.1.6.13 qui elle utilise au minimum python 2.5.

C'est portage avec sa config qui détermine la version de l'EAPI. 2.1.6.7, si je me souviens bien est la première version de portage qui utilisais l'EAPI 2

Dès que portage fonctionne en 2.1.6.7, il te reste a faire l'update qui la devrais passer.

A relire et relire le tout il est fort probable également qu'il faudra mettre a jour manuellement certaine appli 

pour portage, basé sur le RDEPEND de l'ebuild. Python c'est ok (version 2.4)

voir maintenant quelle version est installée de sed (4.0.5), bash (3.2_p17), sandbox (1.2.17), pax-utils (0.1.17), rsync (2.6.4) et coreutils (6.4) 

entre () la version demandée au minimum.

emerge --oneshot -pv sed bash sandbox pax-utils rsync coreutils (si ok emerge --oneshot sed bash sandbox pax-utils rsync coreutils)

Sinon essaye aussi avec l'option '--nodeps' mais la ca devient trivial, dans le sens ou l'on va au fond des capacités du système. 

Si l'emerge passe, déjà plusieurs dépendance interne a portage de fait, un emerge --nodeps =sys-apps/portage-2.1.6.7 (pour le eselect)

Perso, as-tu moyen de faire une copie backup disque (disque externe) car la c'est vraiment un cas d'école, pouvoir en faire 

une doc ou du moins une liste todo ..... avec les tests de validation cela serait super.

EDIT : et tout simplement un emerge -epv system , il te donne quoi ?

----------

