2014-12-17 3 views
1

yocto-build-system을 사용하여 만든 "빌드"를 추적하고 싶었습니다. 그리고 검색을 한 후 yocto-project에서 제공하는 "buildhistory"기능에 대해 알게되었습니다.yocto 빌드 시스템에서 "buildhistory"를 사용하는 방법은 무엇입니까?

는 그들은 "buildhistory"를 가능하게하기 위해, 우리는 다음을 수행해야 할 말 :

INHERIT += "buildhistory" 
BUILDHISTORY_COMMIT = "1" 

을 한 후 다시 실행 :

편집 .../구축/conf의/local.conf 및 추가 buildhistory 디렉토리를 초기화하기위한 "bitbake".

동일한 작업을 수행했지만 buildhistory 디렉토리를 찾을 수 없습니다.

아무도 내게 "buildhistory"를 사용하는 방법과 빌드 차이점을 어떻게 알 수 있습니까?

답변

2

빌드 디렉토리를 가리키는 $ {TOPDIR}에 buildhistory 디렉토리가 생성됩니다. 빌드 디렉토리는 다른 것을 지정하지 않으면 일반적으로 빌드됩니다.

buildhistory 디렉토리에 직접 가서 git (gitk, tig)를 사용할 수 있습니다. 일반적으로 $ {TOPDIR}에 머물면서 실행하면 훨씬 편리합니다.

buildhistory-diff 

설명서를 확인한 적이 있습니까? http://www.yoctoproject.org/docs/1.6/ref-manual/ref-manual.html#maintaining-build-output-quality?

buildhistory를 활성화하면 buildhistory 디렉토리의 metadata-revs 파일과 함께 "images"및 "packages"디렉토리가 생성됩니다. (그리고 .git 디렉토리도 있어야합니다.) 이 디렉토리들에서, buildhistory는 각 bitbake 명령 이후 저장소에 커밋함으로써 모든 변경 사항을 유지합니다. 패키지 버전 & 리비전, 이미지, 크기 등에 설치된 패키지는 모두 추적됩니다. 이 모든 것은 doc 링크에 설명되어 있습니다.

local.conf에 IMAGE_INSTALL_append = "some-package"를 추가하고 이미지를 비트 전송 한 후 buildhistory-diff을 실행하십시오. 이 패키지는 이미지에 추가되었음을 알려줍니다.

buildhistory 디렉토리로 이동하여 git log, gitk 또는 tig을 실행하여 커밋 된 항목을 확인할 수도 있습니다.

여전히 출력이 나오지 않는 경우 pastehistory 디렉토리의 트리 구조를 붙여 넣으십시오.

+0

확인했는데 문서 링크가 공유되었습니다. "빌드"폴더 안에 "buildhistory"폴더가 있습니다. 그러나 이제 $ {TOPDIR} (즉, "build"디렉토리)에서 "buildhistory-diff"를 수행 할 때 "차이"가 발생하지 않습니다. 필자는 두 개의 연속 빌드에서 구성 요소 중 하나의 "개정"을 변경하려고 시도했습니다. 빌드 히스토리와 함께 어떤 종류의 변화가 추적되고 있는지 알아야합니까? 또한 변경 사항을 유지하거나 연속 빌드 만 유지하거나 모든 빌드를 로컬에 보관할 수 있습니다. 어떻게 그 일을합니까? 친절하게 통찰력을 제공하십시오. – parasrish

+0

내 편집 된 응답을 보셨기를 바랍니다. – Anders

+0

귀하의 지시에 따라 진행했습니다. 그리고 지금 나는 그것을 위해 일하고있다. 요약하자면, 1) "buildhistory"폴더에서 "git log"는 성공적인 빌드를 위해 만들어진 각각의 커밋과 관련된 로그를 가져올 수있었습니다. 2) 그 후, local.conf 파일에 "Image_INSTALL_append = ..."를 추가하고 이미지를 다시 빌드하려고 시도했습니다. "buildhistory-diff -p."를했을 때 이것을 게시하십시오. "buildhistory"폴더 안에는 이미지의 차이점을 볼 수 있습니다. 감사. – parasrish

관련 문제