Instalação do Linux Cross-Reference (LXR) no Ubuntu

De Wiki do Veiga

Tabela de conteúdo

Introdução

O LXR é um indexador de código fonte que permite navegar pelo código através de uma interface Web e oferece links para a definição e utilização de qualquer identificador. O projeto inicial de LXR suportava apenas o kernel do Linux. No entanto, em sua versão atual, LXR é genérico e suporta múltiplas linguagens.

Um exemplo de utilização de LXR para indexar o kernel do Linux pode ser observado em: http://lxr.free-electrons.com/

Este texto descreve como instalar LXR e indexar o código do kernel para ser utilizado localmente em um servidor Web. O procedimento foi realizado no Ubuntu 9.04.

Instalação do Servidor Web

Instalar o servidor apache:

apt-get install apache2

Iniciar o servidor:

/etc/init.d/apache2 start

Testar o endereço http://localhost/.

Instalação do LXR

Instalar o LXR:

apt-get install lxr

Instalar o Glimpse, utilizado pelo LXR para indexar os arquivos:

wget http://webglimpse.net/trial/glimpse-latest.tar.gz
tar xzf glimpse-latest.tar.gz 
cd glimpse-4.18.6/
./configure 
make
sudo make install

Configuração do LXR para o Servidor Web

Criar arquivo de configuração do LXR para o apache:

cat > /etc/apache2/sites-available/lxr
Alias /lxr /usr/share/lxr

<Directory /usr/share/lxr>
Options All
AllowOverride All
</Directory>

Habilitar configuração no apache:

cd /etc/apache2/sites-enabled/
ln -s  ../sites-available/lxr lxr

Criar arquivo para permitir a execução dos scripts cgi do LXR:

cat > cat /usr/share/lxr/http/.htaccess
<Files ~ (search|source|ident|diff|find)$>
SetHandler cgi-script
</Files>

Reinicar o apache:

/etc/init.d/apache2 restart

Configuração do Código Fonte no LXR

Por exemplo, para gerar o cross-reference do kernel do Linux na versão 2.6.30.

Criar diretório para o código fonte e definir a versão:

version=2.6.30
mkdir /usr/share/lxr/source/$version
echo $version > /usr/share/lxr/source/versions
ln -s /usr/share/lxr/source/2.6.30 /usr/share/lxr/source/defversion

Mover o código fonte do kernel (por exemplo, obtido pelo Git) para o diretório do LXR:

mv linux-2.6 /usr/share/lxr/source/$version/linux

Gerar os índices de cross-reference e dar permissão para o apache:

cd /usr/share/lxr/source/$version
genxref linux
glimpseindex -H . linux
chown www-data:www-data fileidx xref .glimpse_*

Testar o endereço http://localhost/lxr/http/source/ no browser.

Referências


Marcelo Veiga Neves < marcelo.veiga at gmail.com >

Ferramentas pessoais