2014-12-17 1 views
1

Я хотел отслеживать «сборки», которые создаются с помощью системы yocto-build. И после выполнения поиска, узнал о функции «buildhistory», предоставляемой yocto-project.Как использовать «buildhistory» в системе сборки yocto?

Они говорят, для включения "buildhistory", нам нужно сделать следующее:

Edit .../строить/CONF/local.conf и добавить:

INHERIT += "buildhistory" 
BUILDHISTORY_COMMIT = "1" 

, а затем повторно «битботь» для инициализации каталога buildhistory.

Я сделал то же самое, но я не смог найти каталог buildhistory как таковой.

Может ли кто-нибудь сообщить мне, как использовать эту «строительную историю», и как увидеть различия в построении?

ответ

2

Он создаст каталог buildhistory в $ {TOPDIR}, который указывает на ваш каталог сборки. Каталог сборки обычно создается, если вы не указали что-то еще.

Вы можете зайти в каталог buildhistory самостоятельно и использовать git (gitk, tig), хотя обычно удобнее оставаться в $ {TOPDIR} и запускать, например.

buildhistory-diff 

Вы проверили документацию: http://www.yoctoproject.org/docs/1.6/ref-manual/ref-manual.html#maintaining-build-output-quality?

Когда вы включаете buildhistory, вы получите пару каталогов «изображения» и «пакеты» вместе с метаданных файлов-revs в вашем каталоге buildhistory. (И также должен быть каталог .git). В этих каталогах buildhistory будет сохранять все изменения, передавая их в свой репозиторий после каждой команды битбокса. Среди прочего, все версии отслеживают версии пакета &, пакеты, установленные в изображениях, размерах и т. Д. Все это указано в ссылке doc.

Попробуйте добавить IMAGE_INSTALL_append = "some-package" на ваш local.conf и запустите buildhistory-diff после битбонирования вашего изображения. Это должно сказать вам, что к изображению добавлен пакет.

Вы также можете зайти в каталог buildhistory и запустить git log, gitk или tig там, чтобы проверить, что совершено.

Если вы все еще не получаете выход, вставьте древовидную структуру каталога buildhistory в pastebin.

+0

Я проверил, общая ссылка на документацию. У меня есть папка «buildhistory» внутри папки «build». Но теперь у меня нет никакой «разницы», когда я делаю «buildhistory-diff» в $ {TOPDIR} (т. Е. В каталоге «build»). Я попытался изменить «ревизию» одного из компонентов в двух последовательных сборках. Нужно знать, какие изменения отслеживаются с помощью buildhistory? также он сохраняет изменения, только последовательные сборки, или сохраняет локальное репо всех сборок. Как оно это делает? любезно предоставите понимание. – parasrish

+0

Надеюсь, вы видели мой отредактированный ответ. – Anders

+0

Я продолжал, согласно вашим указаниям. И теперь у меня это работает для меня. Подводя итог: 1) внутри папки «buildhistory» «git log» удалось получить мне журналы, относящиеся к каждому сделанному коммиту, для успешных сборок. 2) После этого я добавил «Image_INSTALL_append = ...» в свой файл local.conf и попытался снова создать изображение. Отправьте это, когда я сделал buildhistory-diff -p. внутри папки «buildhistory» я мог видеть разницу в изображении, начиная с последней. Благодарю. – parasrish