pkg・ports アップデート関連 - perl5 - perl5.28 → 5.30

 クラウディア
1. 概要
2. バージョンの変更
3. /etc/make.conf 編集
4. アップグレード
5. 追加のモジュール再インストール
6. 更に問題発生
7. 解決

1. 概要

 本サイトでは、お馴染みの状況です。

$ pkg version -vl "<"
perl5-5.28.2                       <   needs updating (index has 5.30.0)

2. バージョンの変更


$ portupgrade -o lang/perl5.30 -f perl5.28
$ pkg set -o lang/perl5.28:lang/perl5.30
Change origin from lang/perl5.28 to lang/perl5.30 for perl5-5.28.2? [y/N]:	←	y Enter

3. /etc/make.conf 編集


vi /etc/make.conf

DEFAULT_VERSIONS+=perl5=5.28
 を以下に書き換えます。  もともとない場合は追加します。

DEFAULT_VERSIONS+=perl5=5.30

4. アップグレード


portupgrade -Rr perl5
 今回は、これで、素直にアップグレードできました。  依存するもので、何か発生する場合は、書き直します。

5. 追加のモジュール再インストール

 ということで、前項で書いた通り、「perl5」自体をアップグレードしても直接の依存関係にないものはアップグレードされません。  このあたり・・・なんとかなるとありがたいのですけれど。  「sa-spamd」を再起動して、以下のモジュールを再インストールすることになりました。  再インストールのため、「ports」のディレクトリパスから記述しておきますが。

/usr/ports/databases/p5-DBD-Pg
/usr/ports/databases/p5-DBI
/usr/ports/editors/vim
/usr/ports/mail/spamassassin
/usr/ports/net-mgmt/p5-NetAddr-IP
/usr/ports/security/p5-Net-SSLeay
/usr/ports/textproc/p5-XML-Parser
/usr/ports/www/p5-HTML-Parser
 いずれも、下記の手順で再インストールします。

cd /パス
make deinstall clean
make
make install

6. 更に問題発生

 これで、当分様子を見ていたのですが・・・。  どうも、メールの受信で「spamassassin」の動きがおかしい・・・。  メールのログを見てみると

Sep  5 11:31:59 ns spamd[21005]: spamd: error: Bad arg length for Socket::unpack_sockaddr_in, length is 28, should be 16 at /usr/local/lib/perl5/5.30/mach/Socket.pm line 848.
Sep  5 11:31:59 ns spamd[21005]:  , continuing at /usr/local/bin/spamd line 1419.
 どうも、こけてるんだな(2019年9月5日)。  気づくのに時間がかかっちゃったのだ、わたしの馬鹿なところですが・・・。  「5.28 → 5.30」と同じような手順(「portupgrade」では「make」されないので、ごりごり「make」)で「5.30 → 5.28」にすると。  「spamd」が正常に動作するようになったので、当分、「perl5.28」で運用するしかないなぁ。  「5.30」が更新されて、正常に動作するようになったら、正式にアップグレードするかな。

7. 解決

 前項の問題は、2020年7月27日、やっと解決しました。  「Bad arg length for Socket::unpack_sockaddr_in, length is 28」で検索して、「SpamAssassin - Users - bad arg length for Socket::unpack_sockaddr_in」に答えがありました。  「p5-Socket」と言いつつ、「p5-Socket6」の問題。  すなわち

cd /usr/ports/net/p5-Socket6
make deinstall clean
make
make install
service sa-spamd restart
 で、解決しました。
 
 
カウンタバックグラウンド