І так, настав час оновити 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