2015-12-18 4 views
2

У меня есть файл .bbappend в пределах пользовательского слоя проекта Yocto (и отдельного репо).Могу ли я получить путь к файлу .bbappend?

Я хотел бы разместить информацию о моем пользовательском слое (например, git stuff для моего пользовательского репо/слоя) в файле, который изменяет этот .bbappend.

Все команды, которые работают от этого .bbappend запускаются, как если бы из файла .bb, к которому он добавляет (The .bb находится в другом слое и репо as recommended).

Я думал, что может быть какая-то надежда на запуск VAR := "stuff ${OTHER_VAR} more", который some documentation говорит, что это «немедленное расширение переменной», которое «расширяется во время разбора этой строки». К сожалению, похоже, что добавление происходит до разбора.

Мне нравится раздельный аспект .bbappend, но не нашел способ обратиться к самому .bbappend или если есть какой-либо другой способ получить информацию git с исходного слоя. Есть предположения?

ответ

2

Вы можете продемонстрировать немедленное расширение с помощью следующей демонстрации. Редактировать мета-Yocto/рецепты жильный/BusyBox/BusyBox _% bbappend, который поставляется как часть стандартной эталонной установки Yocto Project и добавить:.

SOMEVAR: = "$ {@ bb.warn (" $ {FILE} ")}"

Если вы запустите "BitBake -p" для повторной обработки метаданных, он будет показывать:

ВНИМАНИЕ: /meta-yocto/recipes-core/busybox/busybox_%.bbappend

, показывающий, что он был запущен во время анализа файла. Именно поэтому вы будете иногда видеть трюки, как:

FILESEXTRAPATHS_prepend: = «$ {THISDIR}/$ {БПН}.

, который также в этом bbappend Это добавляет каталог в этом слое в пути поиска для файлов, которые затем могут отменить основной рецепт со слоя.

Смежные вопросы