Alguém já conseguiu construir o php5-xapian no Ubuntu 12.04?

4

Como o Xapian foi removido dos repositórios do Ubuntu, estou tentando construir meu próprio .deb a partir das instruções aqui:

link

link

Eu só consigo fazer com que as coisas progridam além dos primeiros segundos, deixando de fora o 'rm debian / control', mas se eu fizer isso, parece que os bindings do Python e do Ruby estão construindo e passando suas versões do smoketest corretamente. / p>

No entanto, a parte PHP da compilação está falhando com este erro:

/home/charlie/xapian-bindings-1.2.8/php/smoketest.php:38: include(xapian.php): failed to open stream: No such file or directory
FAIL: smoketest.php

Há um arquivo xapian.php em /home/charlie/xapian-bindings-1.2.8/php/php5/, mas se eu copiá-lo para /home/charlie/xapian-bindings-1.2.8/php/ ou alterar o caminho para ele em smoketest.php, a compilação falha logo no início com:

dpkg-source: error: aborting due to unexpected upstream changes

Infelizmente, estou fora do meu prédio da zona de conforto da fonte. Alguém tem alguma ideia?

Edite a resposta do post James:

Cria bem se eu seguir as instruções exatamente. Eu construí isso em uma VM de teste inicialmente, mas isso não construiu o pacote PHP já que o próprio PHP não foi instalado. Obcecável óbvio, mas vale a pena mencionar.

A instalação gerou o seguinte erro:

Setting up php5-xapian (1.2.8-1) ...
Processing triggers for libapache2-mod-php5 ...
dpkg (subprocess): unable to execute installed post-installation script (/var/lib/dpkg/info/libapache2-mod-php5.postinst): Permission denied                                                               ssion denied
dpkg: error processing libapache2-mod-php5 (--install):
 subprocess installed post-installation script returned error exit status 2
Errors were encountered while processing:
 libapache2-mod-php5

É apenas um script para reiniciar o Apache. Parar o Apache antes de executar o sudo dpkg -i php5-xapian _ *. Deb impede o erro. Xapian agora aparece em phpinfo (). Tarefa concluída. Obrigado.

    
por jetboy 20.05.2012 / 01:08

1 resposta

4

O problema é que o sistema de compilação do Debian é construído em um diretório separado para os arquivos de origem, e essa abordagem atualmente tem um problema com a execução das ligações do PHP para o smoketest. Até que isso seja corrigido corretamente, você pode fazer as coisas funcionarem executando os seguintes comandos (adaptados de o Xapian FAQ sobre PHP Ligações para o Debian e Ubuntu , que são baseadas nas informações que você já encontrou):

sudo apt-get build-dep xapian-bindings
sudo apt-get install php5-dev php5-cli devscripts
apt-get source xapian-bindings
cd xapian-bindings-1.2.*
rm -f debian/control debian/*-stamp
env PHP_VERSIONS=5 debian/rules maint
sed -i 's/include_path=php5$/include_path=$(srcdir)\/php5/' php/Makefile.in
dpkg-source --commit

Neste ponto, você será solicitado a fornecer um nome de patch (use algo como fix-php-buildtests), depois descartará um editor para documentar o patch, mas você não se importa com isso, para salvar e saia do editor. Então:

debuild -e PHP_VERSIONS=5 -us -uc 
cd ..
sudo dpkg -i php5-xapian_*.deb

E pronto!

O tópico da lista de discussão que lida com este problema ainda não apareceu na GMane, mas está disponível no arquivo mailman Xapian .

    
por 20.05.2012 / 15:16

Tags