從 pbuilder-dist 建置匯出 chroot 日誌

從 pbuilder-dist 建置匯出 chroot 日誌

我用來pbuilder-dist測試針對特定 Ubuntu 版本和架構的建置。當我建造時絲路3.10.2對於 14.04(可信)上的 i386,其中一項 make 測試失敗:

make[5]: 進入目錄 `/tmp/buildd/silk-3.10.2/src/rwconvert'
通過:測試/rwallformats-help.pl
通過:測試/rwallformats-version.pl
通過:測試/rwallformats-lone-command.pl
通過:測試/rwrtd2split-help.pl
通過:測試/rwrtd2split-version.pl
通過:測試/rwrtd2split-lone-command.pl
失敗:tests/rwallformats-all.pl
================================================== = ===========================
SiLK 3.10.2 測試套件摘要
================================================== = ===========================
# 總計:7
# 通過:6
# 跳過:0
# X失敗: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]: *** [檢查測試] 錯誤 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 檢查回傳的退出代碼 2
make: *** [建置] 錯誤 2
dpkg-buildpackage:錯誤:debian/rules build 給出錯誤退出狀態 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

現在,如果建置失敗,您將在 pbuilder 的 chroot 環境中看到一個 root shell。

相關內容