2015年5月31日日曜日

FreeBSD の Perl5 が 5.20 へアップグレード

全然気づいていなかったのですが、FreeBSD の Perl5 の初期値が 5.18 から 5.20 へ変更となっていました。

/usr/ports/UPDATING の5月13日のところにアップグレードの手順(portupgrade と portmaster)が示されていました。

Portupgrade users:
portupgrade -o lang/perl5.20 -f lang/perl5.18
portupgrade -f `pkg shlib -R libperl.so.5.18|tail +2`

Portmaster users:
portmaster -o lang/perl5.20 lang/perl5.18
portmaster -f `pkg shlib -R libperl.so.5.18|tail +2`

私の場合 portmaster で更新を行なっておきました。

最初の "portmaster -o lang/perl5.20 lang/perl5.18" の部分は、perl5 本体のみをアップグレードするコマンドです。

そして "portmaster -f `pkg shlib -R libperl.so.5.18|tail +2`" の部分は、perl5 に依存関係のある ports を再インストールするものです。CPAN などのモジュールは、これで新しいディレクトリへ再インストールされます。

注意事項

今回のアップグレードで気になったのが次の注意書きでした。
NOTE:
Perl has been removed from base more than ten years ago, so it was way past time for the /usr/bin/perl symlink to be removed from the port.  If for some strange reason, you still need it, you will have to create it manually.
10年前から FreeBSD のシステムベースから Perl が削除されました。そして十分な時間が経過したため ports で行なっていた /usr/bin/perl へのリンク設定も削除されました。リンクが必要な場合には、手動で作成(設定)してください。

どうもシェルスクリプトなどで従来 /usr/bin/perl へリンクしていたものを /usr/local/bin/perl へ変更しなければならないようです。自作の perl スクリプトを使用している場合には注意が必要です。リンク設定を行うよりは、perl スクリプトの修正が望ましいと思います。下記のように変更すれば大丈夫です。
#!/usr/bin/perl
   ↓
#!/usr/local/bin/perl
我が家では、メールフィルタの popfile の制御で自作のシェルスクリプト(sh)があり、この部分を修正しました。単純に perl の記述だけでは動作しませんでした(涙)。
perl /usr/local/share/popfile/popfile.pl >/dev/null 2>&1 &
   ↓↓↓
/usr/local/bin/perl /usr/local/share/popfile/popfile.pl >/dev/null 2>&1 &


0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。