pbuilder-dist
特定のUbuntuリリースとアーキテクチャに対してビルドをテストするために使用しています。ビルドするとシルク3.10.214.04 (trusty) 上の i386 の場合、make テストの 1 つが失敗します。
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 を参照してください ご報告ください[メールアドレス] ============================================================================ 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: make -j1 check が終了コード 2 を返しました make: *** [ビルド] エラー 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
が、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
ここで、ビルドが失敗すると、pbuilder の chroot 環境内にルート シェルが表示されます。