MacPorts 2.0がリリースされていた

世間では MacOSX 10.7 Lion(以下、Lion)のリリースと、新しいMacBookAirの発売に沸き立ってる昨今ですが、自分はというとそんな話はどこ吹く風といった様相でこのブログを書いていたりします。

金額的に買えないモノでもないですが、そうそう何度も買い直す必要があるわけでもないし、AppleStoreや家電量販店の店頭で現物を見てしまったら、またぞろ物欲の虫が疼いてしまいそうなので極力目を向けないようにしている、というのが本音ですが。。。

本題

さて、そんな流れの中でMacPortsのお話。

最初はいつものようにCLIでselfupdateをしたのです。

$ sudo port selfupdate

すると、MacPorts本体が1.9.2 → 2.0.0 へと Lion のリリースに合わせてメジャー・バージョンアップ(?)をしていました。
その時は、特に問題もなくすんなりとupdate自体は完了したのであまり気にしていなかったのですが、後になってWebのニュース等を見てみたところ、ソースからのコンパイルがユーザー権限で実行するように変更されたとか、ダウンロードしたアーカイブをデジタル署名でチェックするようになったとか、なんかそのような話でした。

自分の場合OSのバージョンは10.6のままだし、Xcodeのバージョンも上げてないので特に影響を受けるような要素はなかったのだですが、ちょっと気になってしまったのとインストール済みパッケージの中に不要なものがたくさん紛れたままになっていたので、「ここはいっちょ、入れ直すかー」ということでこちらのブログ(古くなったMacPortsを再インストール - Shin x blog)を参考にやってみることにしました。

1.古いMacPortsの削除
$ sudo port deactivate active
$ sudo port -f uninstall installed
$ sudo port clean all

最初の port deactivate active のところはインストールされていたパッケージの一部がどうもうまく deactivate 出来なかったらしく、エラーで終了してしまうので諦めて port -f uninstall installed を実行。

それから port clean all で全部キレイに掃除して完了です。

参考にしたサイトの方では、既存のパッケージで使っていた設定ファイルを残すため、/opt/local 以下をリネームして居ましたが、自分は特にそういう事情もなかったので、あっさり消してやることにしました。

$ sudo rm -rf /opt/local

ハイ、さようなら。
ちなみに port コマンドは /opt/local/bin/にインストールされているので、この時点で使えなくなります(当たり前ですね)。

2. 新しい MacPorts をインストール

The MacPorts Project -- Download & Installation

MacPortsのサイトからディスクイメージ(.dmg)ファイルをダウンロードします。
ディスクイメージの中にインストーラパッケージ(.pkg)ファイルがあるので finder からダブルクリックするとインストーラが起動します。

後は指示に従ってすすめるだけですね。

3. インストールが終わったら

念のため、というほどのことでもないですが、最新の状態にするために以下のコマンドを実行しておきます。

$ sudo port selfupdate
4. 日々のメンテナンス

MacPorts でインストール出来るソフトウェアはそれなりの頻度でアップデートが行われています。
特定の事情があって、バージョンを固定しなければならないということが無い限りは、こまめにupdateを行うのがいいでしょう。

$ sudo port selfupdate
$ sudo port upgrade outdated
5. ちょっとした話

複数バージョンのpythonコマンドラインで切り替える python_select というパッケージがあるのですが、
パッケージ名と同じ python_select コマンドが無くなっていますね。

切り替えを行う場合は port のサブコマンド select を使うようです。

$ sudo port select --list python
Available versions for python:
	none (active)
	python25-apple
	python26
	python26-apple
$ sudo port select --show python
The currently selected version for 'python' is 'none'.
$ sudo port select --set pyhton python26
Selecting 'python26' for 'python' succeeded. 'python26' is now active.

今回は過去の資産を使い回さずに、まっさらの状態にすることを前提にアップデートをしたので大きな問題などはありませんでしたが、これがそうでなかったとしたらどこかに落とし穴があったかもしれません。

MacPorts Guide には丁寧なドキュメンテーションがあるので、マニュアルを参考にアップデートを行うのがよいと思います。