Экспорт журналов chrooted из сборки pbuilder-dist

Экспорт журналов chrooted из сборки pbuilder-dist

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

make[5]: Вход в каталог `/tmp/buildd/silk-3.10.2/src/rwconvert'
ПРОЙДЕН: tests/rwallformats-help.pl
ПРОЙДЕН: tests/rwallformats-version.pl
ПРОЙДЕН: tests/rwallformats-lone-command.pl
ПРОЙДЕН: tests/rwrtd2split-help.pl
ПРОЙДЕН: tests/rwrtd2split-version.pl
ПРОЙДЕН: tests/rwrtd2split-lone-command.pl
НЕУДАЧНО: tests/rwallformats-all.pl
============================================================================
Сводка тестового набора для SiLK 3.10.2
============================================================================
# ВСЕГО: 7
# ПРОШЕЛ: 6
# ПРОПУСТИТЬ: 0
# XFAIL: 0
# НЕУДАЧНО: 1
# XPASS: 0
# ОШИБКА: 0
============================================================================
См. src/rwconvert/test-suite.log
Пожалуйста, сообщите[email protected]
============================================================================
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]: *** [проверка-рекурсивная] Ошибка 1
make[2]: Выход из каталога `/tmp/buildd/silk-3.10.2/src'
make[1]: *** [проверка-рекурсивная] Ошибка 1
make[1]: Выход из каталога `/tmp/buildd/silk-3.10.2'
dh_auto_test: make -j1 check вернул код выхода 2
сделать: *** [сборка] Ошибка 2
dpkg-buildpackage: ошибка: сборка debian/rules дала код ошибки выхода 2
E: Не удалось выполнить автоматическую сборку пакета
I: размонтирование файловой системы dev/pts
I: размонтирование файловой системы run/shm
I: размонтирование файловой системы proc
I: очистка среды сборки
I: удаление каталога /var/cache/pbuilder/build//37742 и его подкаталогов

Я хотел бы получить файл журнала, src/rwconvert/test-suite.logна который ссылается вывод выше, но как мне извлечь этот файл из среды сборки chrooted или получить 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

Теперь, если сборка завершится неудачно, вам будет предоставлена ​​оболочка root в chroot-среде pbuilder.

Связанный контент