Exportar registros chroot de uma compilação pbuilder-dist

0

Estou usando pbuilder-dist para testar uma compilação em relação a uma versão e arquitetura específicas do Ubuntu. Quando eu construo SiLK 3.10.2 para i386 em 14.04 (fiel), um dos testes make falham:

make[5]: Entering directory '/tmp/buildd/silk-3.10.2/src/rwconvert'
PASS: tests/rwallformats-help.pl
PASS: tests/rwallformats-version.pl
PASS: tests/rwallformats-lone-command.pl
PASS: tests/rwrtd2split-help.pl
PASS: tests/rwrtd2split-version.pl
PASS: tests/rwrtd2split-lone-command.pl
FAIL: tests/rwallformats-all.pl
============================================================================
Testsuite summary for SiLK 3.10.2
============================================================================
# TOTAL: 7
# PASS:  6
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0
============================================================================
See src/rwconvert/test-suite.log
Please report to [email protected]
============================================================================
make[5]: *** [test-suite.log] Error 1
make[5]: Leaving directory '/tmp/buildd/silk-3.10.2/src/rwconvert'
make[4]: *** [check-TESTS] Error 2
make[4]: Leaving directory '/tmp/buildd/silk-3.10.2/src/rwconvert'
make[3]: *** [check-am] Error 2
make[3]: Leaving directory '/tmp/buildd/silk-3.10.2/src/rwconvert'
make[2]: *** [check-recursive] Error 1
make[2]: Leaving directory '/tmp/buildd/silk-3.10.2/src'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory '/tmp/buildd/silk-3.10.2'
dh_auto_test: make -j1 check returned exit code 2
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
E: Failed autobuilding of package
I: unmounting dev/pts filesystem
I: unmounting run/shm filesystem
I: unmounting proc filesystem
I: cleaning the build env 
I: removing directory /var/cache/pbuilder/build//37742 and its subdirectories

Gostaria de obter o arquivo de log src/rwconvert/test-suite.log a saída acima se refere, mas como posso extrair esse arquivo do ambiente de compilação de chroot ou obter pbuilder-dist para gerar este arquivo também?

PS: meu diretório $HOME/pbuilder/trusty-i386_result/ contém apenas a saída do console e um arquivo de log chamado last_operation.log . Mas last_operation.log lista apenas a saída da limpeza do ambiente de construção (que é executada após a falha na construção).

    
por toringe 09.06.2015 / 12:47

1 resposta

1

Encontrou uma maneira de resolver isso, então responderei a minha própria pergunta.

A solução foi usar um script de gancho para o pbuilder. O artigo vinculado descreve-o bem, mas, por questão de integridade, vou refazer os passos aqui:

Primeiro, crie um diretório para você associar scripts:

sudo mkdir /var/cache/pbuilder/hook.d

Em seguida, adicione este diretório à configuração do pbuilder:

echo HOOKDIR=\"/var/cache/pbuilder/hook.d\" >> ~/.pbuilderrc

Crie um script de gancho chamado C10shell com o seguinte conteúdo:

#!/bin/sh
# invoke shell if build fails.

apt-get install -y --force-yes vim less bash
cd /tmp/buildd/*/debian/..
/bin/bash < /dev/tty > /dev/tty 2> /dev/tty

Salve no seu HOOKDIR e torne-o executável

sudo chmod a+x /var/cache/pbuilder/hook.d/C10shell

Agora, se a construção falhar, você será presenteado com um shell de root dentro do ambiente chrooted do pbuilder.

    
por toringe 07.10.2015 / 14:33