나는 사용하고있다pbuilder-dist
특정 Ubuntu 릴리스 및 아키텍처에 대한 빌드를 테스트하는 데 . 내가 빌드할 때실크 3.10.214.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 실패: 테스트/rwallformats-all.pl ================================================= ========================== SiLK 3.10.2에 대한 테스트 모음 요약 ================================================= ========================== # 합계: 7 # 패스: 6 # 건너뛰기: 0 # XFAIL: 0 # 실패: 1 # 엑스패스: 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]: *** [확인] 오류 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 빌드에서 오류 종료 상태 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
이 파일도 출력하려면 어떻게 해야 합니까?
추신: 내 $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 환경 내에 루트 쉘이 표시됩니다.