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

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

Estou usando pbuilder-distpara testar uma compilação em uma versão e arquitetura específicas do Ubuntu. Quando eu construoSilK 3.10.2para i386 em 14.04 (confiável), um dos testes make falhou:

make[5]: Entrando no diretório `/tmp/buildd/silk-3.10.2/src/rwconvert'
PASSAR: testes/rwallformats-help.pl
PASSAR: testes/rwallformats-version.pl
PASSAR: testes/rwallformats-lone-command.pl
PASSAR: testes/rwrtd2split-help.pl
PASSAR: testes/rwrtd2split-version.pl
PASSAR: testes/rwrtd2split-lone-command.pl
FALHA: testes/rwallformats-all.pl
================================================= ==========================
Resumo do conjunto de testes para SiLK 3.10.2
================================================= ==========================
#TOTAL: 7
# PASSE: 6
# Pular: 0
#XFALHA: 0
# FALHA: 1
# XPASS: 0
# ERRO: 0
================================================= ==========================
Consulte src/rwconvert/test-suite.log
Por favor informe[e-mail protegido]
================================================= ==========================
make[5]: *** [test-suite.log] Erro 1
make[5]: Saindo do diretório `/tmp/buildd/silk-3.10.2/src/rwconvert'
make[4]: *** [check-TESTES] Erro 2
make[4]: Saindo do diretório `/tmp/buildd/silk-3.10.2/src/rwconvert'
make[3]: *** [check-am] Erro 2
make[3]: Saindo do diretório `/tmp/buildd/silk-3.10.2/src/rwconvert'
make[2]: *** [verificar-recursivo] Erro 1
make[2]: Saindo do diretório `/tmp/buildd/silk-3.10.2/src'
make[1]: *** [verificar-recursivo] Erro 1
make[1]: Saindo do diretório `/tmp/buildd/silk-3.10.2'
dh_auto_test: make -j1 check retornou o código de saída 2
make: *** [construir] Erro 2
dpkg-buildpackage: erro: compilação debian/rules deu status de saída de erro 2
E: Falha na construção automática do pacote
I: desmontando o sistema de arquivos dev/pts
I: desmontando o sistema de arquivos run/shm
I: desmontando o sistema de arquivos proc
I: limpando o ambiente de construção
I: removendo o diretório /var/cache/pbuilder/build//37742 e seus subdiretórios

Gostaria de obter o arquivo de log src/rwconvert/test-suite.logao qual a saída acima se refere, mas como posso extrair esse arquivo do ambiente de construção chroot ou obter pbuilder-dista saída desse arquivo também?

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

Responder1

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

A solução foi usar umscript de ganchopara o construtor. O artigo vinculado descreve-o bem, mas para ser mais completo, refazerei as etapas aqui:

Primeiro crie um diretório para seus scripts de gancho:

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-o em seu arquivo HOOKDIRe torne-o executável

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

Agora, se a construção falhar, será apresentado a você um shell root dentro do ambiente chroot do pbuilder.

informação relacionada