Экспортируйте chroot-логи из сборки pbuilder-dist

Я использую pbuilder-dist проверить сборку на соответствие определенной версии и архитектуре Ubuntu. Когда я собираю SiLK 3.10.2 для i386 14.04 (верный), один из тестов make не пройден:

make [5]: вход в каталог `/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 для SiLK 3.10.2
============================================================================
# ВСЕГО: 7
# ПРОЙДЕН:  6
# Пропустить:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ОШИБКА: 0
============================================================================
Смотрите src/rwconvert/test-suite.log
Пожалуйста, сообщите на netsa-help@cert.org
============================================================================
make[5]: *** [test-suite.log] Ошибка 1
make[5]: выход из каталога `/tmp/buildd/silk-3.10.2/src/rwconvert'
make[4]: ​​*** [check-TESTS] Ошибка 2
make[4]: ​​выход из каталога `/tmp/buildd/silk-3.10.2/src/rwconvert'
make[3]: *** [check-am] Ошибка 2
make[3]: выход из каталога `/tmp/buildd/silk-3.10.2/src/rwconvert'
make[2]: *** [check-recursive] Ошибка 1
make[2]: выход из каталога `/tmp/buildd/silk-3.10.2/src'
make[1]: *** [check-recursive] Ошибка 1
make[1]: выход из каталога `/tmp/buildd/silk-3.10.2'
dh_auto_test: проверка -j1 вернула код завершения 2
make: *** [build] Ошибка 2
dpkg-buildpackage: ошибка: сборка debian / rules выявила ошибку выхода из состояния 2
E: Не удалось автоматически собрать пакет
I: размонтирование файловой системы dev / pts
I: размонтирование файловой системы run / shm
I: размонтирование файловой системы proc
Я: очистка сборки env 
I: удаление каталога /var/cache/pbuilder/build//37742 и его подкаталогов

Я хотел бы получить файл журнала src/rwconvert/test-suite.log вышеприведенный вывод относится к, но как я могу извлечь этот файл из среды chroot сборки или получить pbuilder-dist вывести этот файл, а?

PS: мой $HOME/pbuilder/trusty-i386_result/ каталог содержит только вывод консоли и файл журнала с именем last_operation.log, Но last_operation.log перечисляет только результаты очистки среды сборки (которая выполняется после сбоя сборки).

1 ответ

Решение

Нашел способ решить эту проблему, поэтому я отвечу на свой вопрос.

Решение состояло в том, чтобы использовать скрипт подключения к pbuilder. Связанная статья описывает это хорошо, но для полноты я переделал шаги здесь:

Сначала создайте каталог для скриптов подключения:

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

Затем добавьте этот каталог в конфигурацию pbuilder:

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

Создайте сценарий подключения с именем C10shell со следующим содержимым:

#!/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

Сохраните это в свой HOOKDIRи сделать его исполняемым

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

Теперь, если сборка не удалась, вы увидите корневую оболочку в среде chrooted в pbuilder.

Другие вопросы по тегам