Обновление версии Perl в Gentoo

perl-gentoo

Это памятка на будущее, если опять придется обновлять dev-lang/perl

Итак, при попытке обновления мира:

emerge -uDN --with-bdeps=y @world

emerge выдало массу блокировок, связанных с обновлением версии dev-lang/perl-5.18.2-r2 до dev-lang/perl-5.20.1-r4

dev-lang/perl:0
(dev-lang/perl-5.20.1-r4:0/5.20::gentoo, ebuild scheduled for merge) pulled in by
=dev-lang/perl-5.20* required by (virtual/perl-ExtUtils-ParseXS-3.240.0:0/0::gentoo, ebuild scheduled for merge)
^              ^^^^^
(and 34 more with the same problem)

(dev-lang/perl-5.18.2-r2:0/5.18::gentoo, ebuild scheduled for merge) pulled in by
dev-lang/perl:0/5.18=[-build(-)] required by (dev-perl/File-HomeDir-1.0.0-r1:0/0::gentoo, installed)
     ^^^^^^^^
(and 48 more with the same problem)

Первая мысль - а нафиг мне нужна новая версия пёрла, замаскируем его:

# nano /etc/portage/package.mask
>=dev-lang/perl-5.20.0

Но, не тут то было, ряд пакетов из ветки virtual/perl требовали обновления до perl-5.20.1

Просмотр пёрловых виртуалов в системе

qlist -I -C virtual/perl

не выявил ничего не обычного.

perl-cleaner с опцией --all к положительному результату не привел:

perl-cleaner --all

Успешно обновить мир помогла только опция --reallyall

Итак, как обновить dev-lang/perl

1. Проверяем world-файл на предмет отсутствия в нем пакетов perl-core/* и virtual/perl-*:

cat /var/lib/portage/world

2. Выполняем perl-cleaner с опцией --reallyall:

perl-cleaner --reallyall

По завершению работы perl-cleaner версия perl должна измениться:

~ $ eix -I dev-lang/perl
[I] dev-lang/perl
     Available versions:  5.18.2-r2(0/5.18) 5.20.1-r4(0/5.20) ~5.20.2(0/5.20) {berkdb debug doc gdbm ithreads}
     Installed versions:  5.20.1-r4(16:00:29 22.02.2015)(berkdb gdbm -debug -doc -ithreads)
     Homepage:            http://www.perl.org/
     Description:         Larry Wall's Practical Extraction and Report Language

Теперь можно выполнить полное обновление мира:

emerge -avuDN world --with-bdeps=y
Комментарии
Аватар пользователя Гость
perl-cleaner --reallyall
emerge -uDN --with-bdeps=y @world
emerge --depclean -a
revdep-rebuild
Добавить комментарий