# [perl] portage veut installer perl-5.20*[résolu]

## Biloute

Je voudrais bien faire un emerge world mais il y a un problème avec perl :

```
 # emerge -uDN world

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

Calculating dependencies... done!

emerge: there are no ebuilds to satisfy "=dev-lang/perl-5.20*".

(dependency required by "virtual/perl-Test-Harness-3.330.0::gentoo" [ebuild])

(dependency required by "dev-lang/perl-5.24.1-r1::gentoo" [installed])

(dependency required by "sys-devel/automake-1.15-r2::gentoo" [ebuild])

(dependency required by "gnome-base/librsvg-2.40.17::gentoo" [ebuild])

(dependency required by "x11-themes/adwaita-icon-theme-3.22.0-r1::gentoo" [ebuild])

(dependency required by "virtual/freedesktop-icon-theme-0-r1::gentoo" [installed])

(dependency required by "www-client/firefox-45.8.0::gentoo" [installed])

(dependency required by "@selected" [set])

(dependency required by "@world" [argument])

```

Pourtant j'ai vérifier les packages officiels et perl-5.20 n'est plus dans la liste.

J'ai fait "emerge -1 perl" puis "perl-cleaner --all" avec succés mais cela ma installé perl-5.24.1

Est-ce qu'il existe un moyen de retirer cette ancienne version du world?

----------

## guitou

Hello.

 *Quote:*   

> (dependency required by "virtual/perl-Test-Harness-3.330.0::gentoo" [ebuild]) 

 

C'est ce paquet qui pose probleme, tu peux essayer de le desinstaller puis relancer ton update world a tout hasard.

++

Gi)

----------

## sebB

Regarde dans ton /var/lib/portage/world si tu n'as pas des dépendances perl en dur

----------

## Biloute

J'ai donc désinstallé Test-Harness puis j'ai regardé dans world et il n'y a pas de perl en dur donc je suis toujours bloqué au même point alors J'ai regardé les ebuild de Test-Harness et de perl :

```
/usr/portage/dev-lang/perl/perl-5.24.1-r1.ebuild

PDEPEND="

        >=app-admin/perl-cleaner-2.5

        >=virtual/perl-File-Temp-0.230.400-r2

        >=virtual/perl-Data-Dumper-2.154.0

        virtual/perl-Test-Harness

"

# bug 390719, bug 523624

# virtual/perl-Test-Harness is here for the bundled ExtUtils::MakeMaker

```

```
/usr/portage/virtual/perl-Test-Harness/perl-Test-Harness-3.350.0.ebuild

RDEPEND="

        || ( =dev-lang/perl-5.22* ~perl-core/${PN#perl-}-${PV} )

        !<perl-core/${PN#perl-}-${PV}

        !>perl-core/${PN#perl-}-${PV}-r999

"

```

```
/usr/portage/virtual/perl-Test-Harness/perl-Test-Harness-3.330.0.ebuild

RDEPEND="

        || ( =dev-lang/perl-5.20* ~perl-core/${PN#perl-}-${PV} )

        !<perl-core/${PN#perl-}-${PV}

        !>perl-core/${PN#perl-}-${PV}-r999

"
```

Est ce que ça ne vous choque pas que perl-5.24 a un pdepend perl-Test-Harness mais que aucun Test-Harness n'a de rdepend perl-5.24

Je serais bien tenté de modifier un ebuild.

EDIT : Je vais tenter de masquer perl-5.24 pour retourner à perl-5.22

----------

## Mr. T.

 *Biloute wrote:*   

> J'ai vérifié les packages officiels et perl-5.20 n'est plus dans la liste. 

 

 *emerge wrote:*   

>  # emerge -uDN world
> 
> These are the packages that would be merged, in order:
> 
> ____________???????___________
> ...

 

```
portage # emerge-webrsync

portage # emerge -pvuD @world
```

 *Biloute wrote:*   

> Est ce que ça ne vous choque pas que perl-5.24 a un pdepend perl-Test-Harness mais que aucun Test-Harness n'a de rdepend perl-5.24 

 

Le "manuel du développeur" semble fournir l'explication.

----------

## sebB

Poste ton fichier world juste pour vérifier si t'as pas un vieux truc qui traine

----------

## Mr. T.

Normalement, les logiciels qui ne sont pas fonctionnels devraient être retirés de l'arborescence Portage. Il est probable que Biloute n'a pas mis à jour son arborescence.

Les logiciels qui dépendent uniquement de la version 5.20 de Perl sont désinstallés en principe car cette version n'est plus intégrée à l'arborescence Portage.  :Rolling Eyes: 

```
helecho@cloud $ qgrep -l dev-lang/perl-5.20

virtual/perl-File-Temp/perl-File-Temp-0.230.400-r5.ebuild

virtual/perl-libnet/perl-libnet-1.270.0-r1.ebuild
```

```
helecho@cloud $ emerge -pv =virtual/perl-File-Temp-0.230.400-r5

[ebuild   R   ] virtual/perl-File-Temp-0.230.400-r5 

helecho@cloud $ emerge -pv =virtual/perl-libnet-1.270.0-r1

[ebuild  N    ] perl-core/libnet-1.270.0  USE="-sasl" 

[ebuild     UD] virtual/perl-libnet-1.270.0-r1 [3.50.100_rc]

[blocks b     ] <perl-core/libnet-3.50.100_rc ("<perl-core/libnet-3.50.100_rc" is blocking virtual/perl-libnet-3.50.100_rc)
```

```

[...]

RDEPEND="

        ~perl-core/${PN#perl-}-${PV}

        !=perl-core/File-Temp-0.230.400

        dev-lang/perl:=

"

# this is the dev-lang/perl-5.20 and dev-lang/perl-5.22 and dev-lang/perl-5.24 version but we need the security patch

```

 *packages.gentoo.org wrote:*   

> The virtual category contains packages which satisfy virtual dependencies.

 

 *devmanual wrote:*   

> Virtuals are merely packages that are in the category of virtual. They use their dependency string to specify the providers for the virtual and should not install any files. 
> 
> Since they are regular ebuilds, there can be several versions of a virtual (which can be helpful when a package may be provided by another in some versions, 
> 
> and not others — see the perl virtuals for an example of this).

 

L'information est éparse !

édition : j'essayerai d'expliquer mieux.

helecho.

----------

## Mr. T.

 *Biloute wrote:*   

> Est ce que ça ne vous choque pas que perl-5.24 a un pdepend perl-Test-Harness mais que aucun Test-Harness n'a de rdepend perl-5.24
> 
> Je serais bien tenté de modifier un ebuild. 

 

foo -> bar -> foo ?? : c'est peu probable à cause de la pertinence (foo dépend de bar qui dépend de foo).

foo -> bar -> baz -> foo (le logiciel foo a pour dépendence bar - bar a pour dépendence baz - baz a pour dépendence foo) : un exemple de dépendance circulaire.

----------

## Biloute

J'ai refait un emerge --sync et j'ai toujours ces ebuild

Voici le contenu de world :

```
app-admin/sudo

app-arch/lz4

app-arch/lzop

app-arch/p7zip

app-arch/unrar

app-arch/unzip

app-editors/nano

app-misc/ranger

app-portage/gentoolkit

app-text/mupdf

dev-lang/python

dev-lang/python:2.7

dev-lang/python:3.4

media-fonts/dejavu

media-gfx/feh

media-gfx/w3mimgfb

media-plugins/alsa-plugins

media-sound/alsa-utils

media-sound/cplay

media-sound/id3v2

media-video/ffmpeg

media-video/mpv

net-misc/dhcpcd

net-wireless/wireless-tools

net-wireless/wpa_supplicant

sys-apps/microcode-ctl

sys-boot/grub

sys-kernel/gentoo-sources

sys-power/suspend

sys-process/htop

www-client/firefox

www-client/opera

www-plugins/adobe-flash

x11-apps/xbacklight

x11-apps/xinput

x11-base/xorg-server

x11-misc/slim

x11-terms/rxvt-unicode

x11-wm/openbox
```

J'ai bloqué la version 5.24 avec ceci dans mon /etc/portage/package.mask

```
=dev-lang/perl-5.24.1-r1

=virtual/perl-Data-Dumper-2.160.0-r1

=virtual/perl-ExtUtils-MakeMaker-7.100.200_rc

=virtual/perl-File-Spec-3.630.100_rc
```

Je me reste donc avec la version de perl-5.22 (merci aux développeurs qui ont la bienveillance de laisser cette version disponible) et maintenant mon problème est résolu. On verra bien comment ça va se passer lorsque la 5.26 arrivera.

----------

## sebB

 *Quote:*   

> J'ai fait "emerge -1 perl" puis "perl-cleaner --all" avec succés mais cela ma installé perl-5.24.1 

 

Peux-etre un petit depclean a faire?

 *Quote:*   

> On verra bien comment ça va se passer lorsque la 5.26 arrivera

 

Tu repousse le probleme. Tu auras certainement le meme probleme.

```
dev-lang/python

dev-lang/python:2.7

dev-lang/python:3.4 
```

Une raison specifique d'avoir python dans ton world?

Sinon ca donne quoi?

```
equery depends dev-lang/perl
```

----------

## Mr. T.

 *Biloute wrote:*   

> J'ai refais un emerge --sync et j'ai toujours ces ebuilds.

 

Comment est-ce possible ?

 *Biloute wrote:*   

> (dependency required by "virtual/perl-Test-Harness-3.330.0::gentoo" [ebuild])

 

```
helecho@cloud $ eix perl-Test-Harness

[I] virtual/perl-Test-Harness

     Available versions:  3.350.100_rc ~3.360.0-r1 ~3.360.100_rc

     Installed versions:  3.350.100_rc(04:47:20 09/03/2017)

     Description:         Virtual for Test-Harness
```

helecho.

----------

## sebB

 *Quote:*   

>  Comment est-ce possible ? 

 

On ne parle pas de la présence de perl 5,20 dans la sync mais du fait que quelque chose dans son système semble en avoir besoin.

T'aurais pas aussi des paquets qui proviennent d'overlay?Last edited by sebB on Tue May 02, 2017 3:30 pm; edited 1 time in total

----------

## Syl20

Le passage de perl 5.22 vers 5.24 a donné lieu à plusieurs discussions sur ce forum ces dernières semaines. En général, il suffit d'ajouter "--backtrack=30" (certains mettent un nombre plus grand, mais je suis sûr qu'on pourrait encore le réduire) à la commande emerge pour résoudre les problèmes de dépendances.

J'ai migré plusieurs machines sans problème avec les commandes suivantes :

```
# emerge --backtrack=30 -avuDN world

# emerge --depclean -av

# perl-cleaner --all -v -- -av

# emerge -av @preserved-rebuild
```

Évidemment, consigne habituelle quand on fait un depclean : il faut lire attentivement la liste des paquets qui vont être désinstallés avant de valider...

----------

## Biloute

Un an plus tard le problème s'est résolu tous seul avec l'arrivée de perl-5.24.3-r1 qui a remplacé perl-5.24.1-r1

Ce dernier ebuild doit être certainement mieux implanté.

----------

## El_Goretto

 *Biloute wrote:*   

> Un an plus tard le problème s'est résolu tous seul avec l'arrivée de perl-5.24.3-r1 qui a remplacé perl-5.24.1-r1
> 
> Ce dernier ebuild doit être certainement mieux implanté.

 

Salut Biloute,

Est-ce que tu peux STP remplacer [solved] par (résolu) dans le titre de ton thread?

----------

## Biloute

Résolu avé l'accent.   :Smile: 

----------

