pkg・ports アップデート関連 - perl5 - perl5.36 → 5.40


 クラウディア


1. 概要
2. 状況
3. バージョンの変更
4. /etc/make.conf 編集
5. アップグレード
6. モジュール再インストール

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
 下記のオプションが表示されました。

 とりあえず、デフォルトで。
 本体は、支障なくアップグレードできました。
 以前と同様、依存するもので、何か発生する場合は、書き直します。

6. モジュール再インストール

 「sa-update」あたりで、ぞろぞろ落ちるはずなので、以下を再インストールします。

/usr/ports/devel/p5-Locale-gettext
/usr/ports/net-mgmt/p5-NetAddr-IP
/usr/ports/net/p5-Socket6
/usr/ports/security/p5-Net-SSLeay
/usr/ports/www/p5-HTML-Parser
 いずれも、下記の手順で再インストールします。

cd /パス
make deinstall clean
make
make reinstall
 後は、様子を見ながら、アップグレードする必要のあるモジュールがあれば、アップグレードしていきます。

ハイスピードプラン
メンズミレット