2004年11月03日

emergeにて最新版のソースでinstall

先に断っておきますが、本格的にGentoo Linuxを使ったのは今回が初めてです(^^;
間違っているかもしれませんが、今はこれで精一杯・・・

さて、これまで1年以上の間、安定性が要求される環境にはRedHat9を使っていたんですが、さすがにそろそろ「次」を考えておかないと浦島太郎になってしまいかねません。
そこで今後の事も考えてKernel2.6系で一つ安定したシステムを組んで見る試みとして、Gentoo Linuxを採用してみることにしました。

まぁ、インストールまでは以前に一度やったこともあり、非常に面倒臭いながらも特にトラブル無く終了。
(というかこの面倒さがある限りうちでは主力になること無いなぁ(苦笑))

で、RedHatと割と違う設定にとまどいながらも現在格闘中なんですが、Gentoo最大のメリットであるバイナリに依存しないパッケージ管理がどれぐらい使えるか試してみるために最新版のSubversionを入れてみることにしました。

ちなみに

emerge -pv subversion
すると現在の最新安定版(stable)である1.0.9がインストールされると表示されます。

また、

ACCEPT_KEYWORDS="~x86" USE="apache2" emerge -pv subversion
とすることで非安定版(unstable)扱いで1.1.0を入れることができますが、現在の最新版は1.1.1であるため、今回はあえて自分で準備をしてそれを入れてみることにします。

まずこのような場合、大抵下記のサイトに.ebuildファイルという、rpmで言うspecファイルのようなビルド定義ファイルが上がっているので、トップの検索欄に「subvirsion」と打ち込んで1.1.1の.ebuildファイルを探して置きます。

(なお、ここに無い場合は他のファイルを参考に自作しないといけません)

で、次は.ebuildを使うための設定です。
まず、「/etc/make.conf」に次の行を追記します。

PORTDIR_OVERLAY="/usr/local/portage"
まぁ、パスは別に「/usr/local/portage」で無くてもかまいませんが以下は「/usr/local/portage」として話を進めます。

次は、先ほど設定したフォルダの作成です。

# mkdir /usr/local/portage

終わったら、subversion用のフォルダを作成します。
これが相当ハマりましたが、結果的に言うと次のようなフォルダを作成します。

mkdir -p /usr/local/portage/dev-util/subversion
これが間違っていたり、.ebuildファイルの置く場所が違っていたりすると「ebuild digest」時に
!!! aux_get(): ebuild path for 'local/subversion-1.1.1' not specified:
!!! None
なんて言うエラーが出て止まってしまいます。

で、次に先ほど上記サイトで見つけた.ebuildファイルを、今作成したフォルダの中に「subversion-1.1.1.ebuild」というファイル名でダウンロードします。
(私は面倒だったのでvi subversion-1.1.1.ebuildで内容を全部ペーストしてしまいました)

それが終わったら、同じフォルダで

# ebuild subversion-1.1.1.ebuild digest
を実行します。
(なお、必要なファイルやソースは、この段階で自動的にダウンロードされるため、事前に準備しておく必要はありません)

成功したら後は普通にemergeするだけでインストール出来ます。

試しに

ACCEPT_KEYWORDS="~x86" USE="apache2" emerge -pv subversion
とすると、インストールする候補として1.1.1が選択されていることが判ります。
なお「USE="apache2"」はSubversionをWebDAV経由で用いる為に必要なオプションです。
(USE="apache2"を外せば最小インストールとなります。ここら辺がバイナリ提供なRPMと大きく異なりますね)

また「~x86」のような「~」+「アーキテクチャ名」というキーワードは非安定版であることを表しているそうで、通常はこのキーワードによってマスクされているため、明示しない限りインストールされることはありません。

今回bugs.gentoo.orgから持ってきた.ebuildも上記キーワードが設定されているため設定していますが自分でebuildファイルを作成した場合はキーワードは不要なはずです。

最後に実際にインストールしてみます。

ACCEPT_KEYWORDS="~x86" USE="apache2" emerge subversion
・・・失敗_| ̄| ...○

どうやら「subversion-db4.patch」が無いようです。
ぐぐって見たところ、どうも1.0.0ぐらいから用いられているパッチのようなので/usr/portageフォルダから持ってきて回避することにしました。

cp /usr/portage/dev-util/subversion/files/subversion-db4.patch /usr/local/portage/dev-util/subversion/files/
それで再度emerge・・・コンパイル成功( ̄▽ ̄)ノ

ちゃんと入ったか試したところ

$ svn --version
svn, version 1.1.1 (r11581)
無事インストールされたようです( ̄▽ ̄)ノ

にしても、rpmでは依存大魔王のsubversionですが、gentooでは割と扱いやすそうでほっとしました。
これでインストールが楽だったら言うこと無いんだけどなぁ・・・(笑)<gentoo

Posted by Takuchan at 2004年11月03日 01:23 | トラックバック(0)