LocalPortfileの設定をしてMySQL+Sennaをインストール

以下2つのエントリーを読みつつ、MacMySQL+Sennaの環境を作ってみました。

MySQL+SennaをPrivatePortfileで入れてみたよ
HowTo/LocalPortfile

ほとんど参照元x2のエントリーを混ぜた感じの手順でOKだったけど、パスの指定とかMD5のHashとか違ってました。僕の手順は以下の通り。


local ports repository の用意
/usr/local/src以下にlocalportsというディレクトリを準備します。

cd /usr/local/src
mkdir localports
cd ./localports
mkdir `ls -F1 /opt/local/var/macports/sources/rsync.macports.org/release/ports/ | grep '\/$'`

localports以下にPortfileを分類するディレクトリができました。

ls /usr/local/src/localports/
PortIndex	cad	emulators	gis	java	net	print	...

みたいな。


sources.conf の書き換え
前の手順で作成したlocalportsのパスを設定ファイルに追記します。具体的には

/opt/local/etc/macports/sources.conf

のどこかに

file:///usr/local/src/localports

と書いておけばOK


Portfileを準備
PrivatePortfile/Sennaのページからsenna-1.09.tbz2をダウンロードします。ダウンロードしたsenna-1.0.9.tbz2をlocalportsのディレクトリに展開。

cd /usr/local/src/localports
tar jxf ~/Downloads/senna-1.0.9.tbz2

PrivatePortfile/Senna-MySQL5のページからtritonn-1.0.4-mysql5-5.0.45-senna-1.0.8.tbz2をダウンロード。ダウンロードしたtritonn-1.0.4-mysql5-5.0.45-senna-1.0.8.tbz2をlocalportsのディレクトリに展開。

cd /usr/local/src/localports
tar jxf ~/Downloads/tritonn-1.0.4-mysql5-5.0.45-senna-1.0.8.tbz2

2つとも配置したので、portindexを実行して、Portfileを認識させます。

cd /usr/local/src/localports
portindex


では、インストール。
とりあえずsennaから、ということで

sudo port install senna

を実行してましたが、checksumの比較でエラーになりました。そこでダウンロードしたファイルのchecksumをmd5コマンドで調べて、Portfileを書き換えました。編集前後のdiffは下記な感じ。

cd /usr/local/src/localports/textproc
diff senna/Portfile senna/Portfile~
26c26
< checksums   md5    e1cd64dc72b8ec977e9507443e1e0087 
    • -
> checksums md5 3a6b93afa22a7147c03724d569e97c4e

それじゃあ気を取り直してインストール!

sudo port install senna
sudo port install mysql5 +utf8 +senna

今度はOKでした。ちなみにmysql

/opt/local/bin/mysql5

に「mysql5」としてインストールされています。「mysql5」じゃ嫌な場合は

sudo ln -s /opt/local/bin/mysql5  /opt/local/bin/mysql

などとして「mysql」コマンドを用意しましょう。

ではでは。