2014年10月14日火曜日

FreeBSD の ruby アップグレードを伴う portupgrade のアップグレード

FreeBSD の ports へ portupgrade の更新が届いていました。

単純に portupgrade で portupgrade を更新したところ、エラーで終了となりました。

原因は portupgrade 依存関係にある ruby のバージョンが異なっていることが原因でした。

現在 ruby-1.9.3.547_3,1 がインストールされているところへ ruby-2.0.0.576_1,1 をインストールしようとして、バージョン違いとしてエラー終了していました。

そこで ruby の置き換えインストールを行いました。portupgrade のオプション -o (小文字のオー)で置き換えインストールが可能です。
# portupgrade -o lang/ruby20 lang/ruby19

--->  Upgrade of lang/ruby20 started at: Tue, 14 Oct 2014 22:13:19 +0900
--->  Upgrading 'ruby-1.9.3.547_3,1' to 'ruby-2.0.0.576_1,1' (lang/ruby20)
--->  Build of lang/ruby20 started at: Tue, 14 Oct 2014 22:13:19 +0900
--->  Building '/usr/ports/lang/ruby20' with make flags: -DDISABLE_CONFLICTS

更新前の portupgrade が依存している ruby19 から ruby20 へアップグレードしているため、portupgrade は正常終了しませんでした。このため、この後に portupgrade を更新しようとしましたが、もちろん出来ませんでした。

このため portupgrade による ruby の置き換えアップグレードは行わない方が良いようです。

推奨方法としては・・・

確実な方法としては pkg コマンドで ruby19 と ruby19-bdb と portupgrade をアンインストールした後、portupgrade を単純にビルドすることによって、 ruby20 や ruby20-bdb も依存関係で自動的にインストールしてしまう方法です。

# pkg delete portupgrade-*** ruby19-*** ruby19-bdb-***
# cd /usr/ports/ports-mgmt/portupgrade
# make install clean

0 件のコメント:

コメントを投稿

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