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
- The LXR Project: http://sourceforge.net/projects/lxr/
- The LXR Project (old site): http://lxr.linux.no/
- Howto setup lxr on Linux (Ubuntu Feisty): http://tread.wordpress.com/2007/08/25/howto-setup-lxr-on-linux-ubuntu-feisty/
- Browse the Linux Kernel Source with LXR: http://www.amirwatad.com/blog/archives/2009/05/12/browse-the-linux-kernel-source-with-lxr/
- How to generate LXR documentation: https://twiki.cern.ch/twiki/bin/view/SPI/HowToLXR
Marcelo Veiga Neves < marcelo.veiga at gmail.com >
