1. 概要
本記事は、2025年5月30日に書いております。
これは、ときどき必要になる作業ですのでね。
以下、「FreeBSD 14.2 RELEASE」での作業です。
2. 状況
下記の状況にあります。
$ portversion -v | grep "<"
[Reading data from pkg(8) ... - 735 packages found - done]
node20-20.19.2 < needs updating (port has 20.19.2_1)
それで。
portupgrade -rR node20
すると。
[Reading data from pkg(8) ... - 735 packages found - done]
[Gathering depends for www/node20 ..................................................................................................................... done]
[Gathering depends for www/yarn-node22 ............... done]
[Exclude up-to-date packages .** Port marked as IGNORE: devel/binutils:
Invalid perl5 version 5.36
.........** Port marked as IGNORE: security/ca_root_nss:
Invalid perl5 version 5.36
...** Port marked as IGNORE: print/texinfo:
Invalid perl5 version 5.36
...** Port marked as IGNORE: misc/help2man:
Invalid perl5 version 5.36
.** Port marked as IGNORE: devel/p5-Locale-libintl:
Invalid perl5 version 5.36
.** Port marked as IGNORE: converters/p5-Text-Unidecode:
Invalid perl5 version 5.36
.** Port marked as IGNORE: textproc/p5-Unicode-EastAsianWidth:
Invalid perl5 version 5.36
....** Port marked as IGNORE: devel/p5-Locale-gettext:
Invalid perl5 version 5.36
.............. done]
---> Skipping 'www/node20' (node20-20.19.2) because a requisite package 'ca_root_nss-3.108' (security/ca_root_nss) failed (specify -k to force)
** Listing the failed packages (-:ignored / *:skipped / !:failed)
- devel/binutils (marked as IGNORE)
- security/ca_root_nss (marked as IGNORE)
- print/texinfo (marked as IGNORE)
- misc/help2man (marked as IGNORE)
- devel/p5-Locale-libintl (marked as IGNORE)
- converters/p5-Text-Unidecode (marked as IGNORE)
- textproc/p5-Unicode-EastAsianWidth (marked as IGNORE)
- devel/p5-Locale-gettext (marked as IGNORE)
* www/node20 (node20-20.19.2)
てなことになります。
調べてみると。
cd /usr/ports/lang/
ls -lhad perl*
drwxr-xr-x 3 root wheel 8 5月 30 07:51 perl5-devel
drwxr-xr-x 3 root wheel 8 5月 16 07:24 perl5.38
drwxr-xr-x 3 root wheel 8 5月 16 07:24 perl5.40
てなことになっております。
あらま、「perl5.36」は、なくなっているではありませんか。
間もなく、「FreeBSD 14.3 RELEASE」がリリースされるのも関係しているのかもしれません。
仕方ないのでバージョンをあげますが、いっそのこと「perl5.38」ではなく「perl5.40」にします。
3. バージョンの変更
「ports」と「pkg」の「perl」のバージョンを変更します。
portupgrade -f perl5.36 -o lang/perl5.40
pkg set -o lang/perl5.36:lang/perl5.40
2つ目のコマンド、実行時に問いかけがあります
Change origin from lang/perl5.36 to lang/perl5.40 for perl5-5.36.3_4? [y/N]:
y Enter で答えます。
4. /etc/make.conf 編集
vi /etc/make.conf
DEFAULT_VERSIONS+=perl5=5.36
を以下に書き換えます(もともとない場合は追加)。
DEFAULT_VERSIONS+=perl5=5.40
5. アップグレード
portupgrade -rR perl5
下記のオプションが表示されました。