gonzui のインストールと Ruby ソースコード検索

ソースコード検索ツールである gonzui をインストールしようとして四苦八苦しました。というか、Ruby 対応させるのが大変だった…。

以下、上記のやり方を含めたうえで gonzui を動かすための手順メモです。

gonzui のメンテが止まっているようなので、必要ライブラリの bdb のバージョンをあげすぎると gonzui は動かないようです。ここでは bdb-0.5.3 を利用します。

BDB は RAA のサイトに配布サイトのリンクが記載されています(We retire raa.ruby-lang.org)。リンク先のダウンロードページから bdb-0.5.3 ダウンロードし、インストールします。

  tar -xzf bdb-0.5.3.tar.gz
  (cd bdb-0.5.3; ruby extconf.rb; make; make install)

gonzui の tarball と langscan の taball それぞれを公式サイトからダウンロードします。(gonzui)(langscan)

こののち、前述の d:id:woremacx:20070728:1185571326 に記載のある手順を行います(ほんと助かりました)。見ればわかりますが、langscan-1.2.tar.gz は gonzui-1.2 ディレクトリの中にあるものとして記載されているようです(細かいですが。汗。)。また、パッチが何故かうまく当たらなかったので一部手動で行いました。自分用に手元のパッチを記載しておきます。(2008/6/17追記:一部タブが空白になっていたので修正しました)

--- gonzui-1.2.org/configure.ac 2005-07-05 00:07:52.000000000 +0900
+++ gonzui-1.2/configure.ac     2008-06-08 12:18:05.000000000 +0900
@@ -24,6 +24,8 @@
 AC_PATH_PROG(OCAMLLEX, ocamllex, no)
 AM_CONDITIONAL(OCAML_AVAILABLE, test "$OCAMLC" != no -a "$OCAMLLEX" != no)

+AM_CONDITIONAL(RUBY_RIPPER_AVAILABLE, $RUBY -e 'require "ripper"' > /dev/null 2>&1)
+
 AC_OUTPUT([	Makefile
                 catalog/Makefile
                 doc/Makefile
@@ -53,6 +55,8 @@
                 langscan/rpmspec/test/Makefile
                 langscan/ruby/Makefile
                 langscan/ruby/test/Makefile
+                langscan/ruby/compat/Makefile
+                langscan/ruby/compat/ripper/Makefile
                 langscan/sh/Makefile
                 langscan/sh/test/Makefile
                 tests/Makefile

上記サイトには make までの手順が書いてありますが、make install すれば /usr/lcoal/ 以下にインストールしてくれます。こうすれば、gonzui-server などが PATH に入るので使いやすくなります。

  sudo su
  make install

設定ファイルを有効にします。

  cp /usr/local/etc/{gonzuirc.sample,gonzuirc}

gonzui-server はそのままでは起動しないため、最初に何かを import する必要する必要があります。とりあえず gonzuiソースコードを投入します。パスは適当に読み替えてください。

  gonzui-import gonzui-1.2.tar.gz

gonzui-server を起動します

  gonzui-server

これで、localhost:46984 にアクセスすると検索画面を利用できます。

この状態だと一般ユーザーで gonzui-import しようとしても Permission denied になります。また起動ユーザもばらばらな感があります。個々人で gonzui の環境を分離して利用したい場合は、個人用の設定はホームディレクトリに .gonzuirc を作れば /usr/local/etc/gonzuirc の設定を上書きできるようですので、そちらを利用すればいいでしょう。