2015年9月15日火曜日

FreeBSD Perl 5.22 へアップグレード(失敗)

FreeBSD の poers へ Perl のアップデート(5.20.2_6 から 5.20.3_7 へ)が到着していました。

Perl は基幹システムとして大切な役割を果たしており、頻繁にバージョンアップも繰り返していることから /usr/ports/UPDATING を確認してみました。すると Perl は、現在の 5.20 から 5.22 へのアップグレードの案内が掲示されていました。

  The way lang/perl5* ports install themselves has changed.  From now on, only the default Perl port (currently 5.20), or the version listed in DEFAULT_VERSIONS, will install /usr/local/bin/perl.

  If you are NOT using the default version of Perl (as of right now, it is 5.20) you MUST add a line setting the version you are using to your /etc/make.conf, to preserve /usr/local/bin/perl:

  DEFAULT_VERSIONS+=    perl5=5.xx

  After this date, to migrate from one Perl version to the other, you must first put the DEFAULT_VERSIONS line in your make.conf, and then, for example,
  if you want to move from 5.20 to 5.22, do:

    pkg set -o lang/perl5.20:lang/perl5.22
    portmaster `pkg shlib -qR libperl.so.5.20`

  If you do not do that, you will replace your default Perl 5.20 installation (one that has /usr/local/bin/perl) with an installation that does not have /usr/local/bin/perl, and it will break everything.

現在の Perl 5.20 系を使用し続ける場合には、/etc/make.conf へ以下の設定文が必要だそうです。
DEFAULT_VERSIONS+=    perl5=5.xx

私の場合は、Perl 5.22 へアップグレードすることとしましたので、上記の設定は行わず、案内どおりにアップグレードを進めました。

# pkg set -o lang/perl5.20:lang/perl5.22
Change origin from lang/perl5.20 to lang/perl5.22 for perl5-5.20.2_6? [y/N]: y
("N" とするとエラーが出てしまいます)

# portmaster `pkg shlib -qR libperl.so.5.20`
        ↓
        ↓
===>>> The following actions will be taken if you choose to proceed:
    Re-install p5-Locale-gettext-1.05_4
    Install lang/perl5.20  --- Perl 5.22 ではない

    Re-install ja-p5-MeCab-0.996_2
    Re-install ja-p5-Text-Kakasi-2.04_3
    Re-install p5-BerkeleyDB-0.55
    Re-install p5-XML-Parser-2.44
    Re-install p5-DBD-SQLite2-0.36_1
    Re-install p5-DBI-1.634
    Re-install p5-Digest-MD5-2.54
    Re-install p5-Digest-SHA1-2.13_1
    Re-install p5-HTML-Parser-3.71_1
    Re-install p5-Socket-2.020
    Re-install p5-MIME-Base64-3.15
    Re-install p5-Compress-Raw-Zlib-2.068_1
    Re-install p5-Compress-Raw-Bzip2-2.068_1
    Re-install p5-DBD-SQLite-1.48
    Re-install p5-PathTools-3.4700_1
    Re-install p5-Net-SSLeay-1.70
    Re-install p5-Storable-2.45_1
    Re-install ja-p5-nkf-2.1.2_1,1
    Re-install p5-Scalar-List-Utils-1.42,1
    Re-install net-snmp-5.7.3_9

===>>> Proceed? y/n [y]

このままインストールを進めると Perl 5.22 ではなく、Perl 5.20 の最新アップデートの 5.20.3_7 がインストールされてしまいました。

まだ ports ツリーに問題があるのか不明です。とりあえず、Perl 5.20.3_7 のまましばらく使用を行うこととしました。

0 件のコメント:

コメントを投稿