我用來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。