Оновлення perl, виконую установку, настройку, супровід серверів

І так, настав час оновити perl. бо сказано:

З виходом версії perl 5.14 офіційно оголошено про закінчення підтримки Perl 5.10

Оскільки цей процес може затягнутися і не завжди так простий, як здається, то я опишу кілька моментів цього чуда.

Якщо у вас немає perl-after-upgrade. то його прибрали через потреби. Ось, що було написано в одній із розсилок:

perl-after-upgrade більше не потрібен.

Для поновлення 5.16.3 -> 5.16.x (x> 3) збирати заново модулі не потрібно буде.

Раніше модулі встановлювалися в папку x.y.z і для поновлення 5.16.0 на 5.16.1 потрібно було запускати perl-after-upgrade щоб він перемістив встановлені модулі з директорії 5.16.0 в 5.16.1

Зараз модулі ставляться в x.y і якщо при оновленні перла змінюється тільки остання цифра ніяких додаткових дій не потрібно.

Для оновлення з x.y на x.z (наприклад з 5.16 на 5.18) все одно доведеться збирати заново все модулі, як мінімум тому що змінюється ABI для XS-модулів.

0) Fix pkgdb.db (for safety):
pkgdb -Ff

У цьому Ком допущена помилка в назві пакету perl5.12. а саме додано тире. У варіанті нижче, я прибрав тире. Будьте уважні

1) Reinstall new version of Perl (5.14):
env DISABLE_CONFLICTS = 1 portupgrade -o lang / perl5.14 -f perl5.12. \ *

2) Reinstall everything that depends on Perl:
portupgrade -fr perl

Portmaster users:

portmaster -o lang / perl5.14 lang / perl5.12

Conservative:
portmaster p5-

Comprehensive (but perhaps overkill):
portmaster -r perl-

Note: If the "perl-" glob matches more than one port you will need to
specify the name of the Perl directory in / var / db / pkg explicitly.

Але замість виконання ручної або автоматичної пересборки пакетів, які вимагають perl. можна виконати команду:

Це скрипт, написаний на perl'e і йде з ним у комплекті.

Навігація по публікаціям

Це не помилка, тире в назві пакету perl- 5.12 все-таки потрібно, тому що в системі він зареєстрований саме з тире, а без тире це каталог в портах

env DISABLE_CONFLICTS = 1 portupgrade -o lang / perl5.14 -f perl- 5.12. \ *

env DISABLE_CONFLICTS = 1 portupgrade -o lang / perl5.20 -f perl \ * portupgrade -fr perl

Це для себе - щоб рядок з редагувати кожен раз, з пошуку в перших результатах по кейвордам freebsd perl upgrade

Схожі статті