lxrの設定

必要なソフト
apache
perl
lxr 0.3.1
・glimpse 4.18.0

1.glimpseのインストール
ソースを展開して,configure, make, makeinstallでOK.

2.lxrのインストール
(1)ソースを展開
$ gzip -dcv lxr-0.3.1.tar.gz | tar xf -
$ cd lxr-0.3

(2)Makefileを編集
・PERLBINを確認(/usr/bin/perlでいいなら,そのまま)
・INSTALLPREFIXは,lxrのinstall先のディレクトリ名にする

(3)インストール
$ make install

(4)apacheで,$(INSTALLPREFIX)/httpを参照できるようにする

(5)$(INSTALLPREFIX)/http/のCGIスクリプト(search,source,ident,find,diff)を
実行可能にする

例)$(INSTALLPREFIX)/http/.htaccessファイルに以下の内容を記述する

<Files ~ (search|source|ident|find|diff)$>
    SetHandler cgi-script
</Files>

(6)$(INSTALLPREFIX)/http/lxr.confを修正する
・variable: aはコメントアウト
・baseurlは,自分のWebサーバを記述
・htmlhead, htmltail, htmldirのディレクトリ名を正しくする
・sourcerootを,ソースコードを置くディレクトリにする
・srcrootnameは,PostgreSQLにする
・incprefixは,/src/include/にする(sourcerootからのパス)
・dbdirも適当なディレクトリにする
・glimpsebinは,glimpseのパスを記述
・mapはコメントアウト

(7)$(INSTALLPREFIX)/http/lib/SimpleParse.pmで, $tabwidth = 8を4にする。

(8)$(INSTALLPREFIX)/http/lib/LXR/Common.pmで,以下の行を修正する。
(修正前)

                # Include directive
                $frag =~ s#\"(.*)\"#
                   '"'.&fileref($1, $virtp.$1).'"'#e;

(修正後)

                # Include directive
                #$frag =~ s#\"(.*)\"#
                #   '"'.&fileref($1, $virtp.$1).'"'#e;
                $frag =~ s#\"(.*)\"#
                    "&quot;".&fileref
                        ($1,
                         $Conf->mappath($Conf->incprefix."/$1")).
                             "&quot;"#e;

(9)$(INSTALLPREFIX)/http/diffで,以下の行を修正する。
(修正前)

        close(<DIFF>);

(修正後)

        close(DIFF);

3.dbファイルを作成
(1)lxr.confで指定したsourcerootで,postgresqlのソースを展開する
$ gzip -dcv postgresq-7.4.3.tar.gz | tar xf -

(2)lxr.confのdbdirにcdして,genxrefを実行する
$ cd
$ genxref
(dbdir, sourcerootはlxr.confの内容にする)

(3)dbdirで,glimpseindexを実行
$ glimpseindex -H .
(sourcerootはlxr.confの内容にする)

4.動作確認
ブラウザで,$(INSTALLPREFIX)/http/source/を見る