class="21055">
;
Lxr是一個基於web的源代碼交叉索引工具,用來閱讀源代碼非常方便,現記錄一下配置過程,以pidgin-2.4.1為例。
1、安裝
gentoo下安裝lxr很簡單,直接emerge即可,不過要注意的是lxr是采用perl語言寫的,要求perl和libperl安裝的時候加上ithreads這個USE Flag,另外需要emerge apache mod_perl mysql,索引工具采用glimpse則emerge glimpse,如果要采用swish-e就USE=freetext emerge lxr即可。
2、准備源碼目錄
在我機器上,/data/codes/other是用來存放第三方我需要閱讀的項目,配置lxr先在/data/codes/other目錄下創建了pidgin並將pidgin解壓至pidgin目錄改名為2.4.1,在/data/codes/others/pidgin目錄下創建versions文件,寫入2.4.1。
3、准備數據庫
執行mysql -u root < /usr/share/webapps/lxr/0.9.5/sqlscripts/mysql/0.9.5_create.sql創建一個lxr庫,然後將/var/lib/mysql/lxr庫名改為pidgin。如果要添加別的項目再做類似的工作即可。
4、配置lxr
首先配置你的apache,生成默認的web目錄,emerge --config =www-servers/apache-x.x.x,然後修改/etc/conf.d/apache,給APACHE2_OPTS加上"-D PERL"選項,重啟apache即可。然後執行cp -pr /usr/share/webapps/lxr/0.9.5/htdocs /var/www/localhost/htdocs/pidgin,如果要添加另一個項目重復此cp操作,重要的就是配置lxr.conf,上傳了一個pidgin的lxr.conf可以參考。
5、生成索引
進入/var/www/localhost/htdocs/pidgin,ln -snf /data/codes/other/pidgin/lxr.conf然後執行./genxref --url=http://localhost/pidgin即可生成索引,(對了,到這兒你會發現操作mysql數據庫時會報錯,是因為lxr建的lxr_releases表裡的release字段與mysql的關鍵字沖突,需要修改一下/usr/lib/perl5/vendor_perl/5.8.8/LXR/Index/Mysql.pm文件,將其中的sql語句中的release字段都加上``變成`release`)現在基本上可以訪問了。